Sidebar

Декомпиляция

Aspik

dreaming wide awake
27.11.09
1 348
31
  • Золотая медаль 233
Декомпиляция

Можно ли декомпилировать C++ *.dll? Имеется от него файл базы данных *.pdb
Если - да, то как?
 
Останнє редагування:

PREsideNT

Он же smiler
16.06.08
817
31
1
18
Рувны
Можно дизассемблировать... но если не знаешь ассемблера тебе это не поможет...
 

FiEctro

Супер Модератор
Команда форуму
Супер Модератор
28.07.06
17 167
33
  • Золотая медаль 213
  • Neh
2 PREsideNT:
Можно еще сплясать с бубном, мб исходники сами по себе появятся.
 

fire64

New member
10.02.07
533
34
CrazyRussian сказав(ла):
А он простым смертным доступен?
А декомпилированое, назад все еще не собирается?
1) официально нет, а так на любом варезнике скачать можно
2) конечно :)
впрочем мне в свое время удалось скомпилировать рабочий hl.exe для запуска Half-Life 1

Код получается конечно хреновый и не компилящийся, но если есть куча свободного времени, то можно скомпилить.

В сети даже есть, пара игровых движков, востановленных после такой дкуомпиляции.
 

FiEctro

Супер Модератор
Команда форуму
Супер Модератор
28.07.06
17 167
33
  • Золотая медаль 213
  • Neh
2 fire64:
>> В сети даже есть, пара игровых движков, востановленных после такой дкуомпиляции.

Пруфлинк как бе в студию!
 

CrazyRussian

Устал...
14.01.10
619
32
66
28
Адрес
2 PREsideNT:

С помощью пдб вроде можно востановить имена функций
thehell2.cpp:
void __cdecl MayBeLoadMonstersToLevel()
У меня впечатление будто автор писал на языке программирования для блондинок.
do
{
v5 = -2;
do
sub_42C121(v3->XPos + v4, v3->YPos + v5++, 15, 0, 0);
while ( v5 < 2 );
++v4;
}
Информативность так и прет =\.
Убило:
char __fastcall getClassByClass(int charClass)
{
int retClass = 0; // eax@2

switch(charClass){
case 0: retClass = 0; break;
case 1: retClass = 1; break;
case 2: retClass = 2; break;
case 3: retClass = 3; break;
case 4: retClass = 4; break;
case 5: retClass = 5; break;
default: retClass = 0;
}

return retClass;
}
 

fire64

New member
10.02.07
533
34
хм, а в чем смысл getClassByClass ?

реально бред какой-то

он же возвращает то же число, что в него ввели

правда при условии что charClass не больше 5

мне кстати не нравится вот такие конструкции

v11 = *(v10 + 440) * (*((_DWORD *)v10 + 89) + *((_DWORD *)v10 + 93));


ну не должен код так выглядеть, это ведь даже индийским кодом назвать нельзя

темнемение, такой ужасный код нормально компилится компилятором, а это главное
 
Останнє редагування:

PREsideNT

Он же smiler
16.06.08
817
31
1
18
Рувны
2 fire64:
Это чтото из черной магии...
кхм... про PDB както выпустил из внимания....
 

Game Server

Доноры Красавчики

Користувачі онлайн