Sidebar

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

Aspik

dreaming wide awake
Nov 27, 2009
1,349
31
Декомпиляция

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

PREsideNT

Он же smiler
Jun 16, 2008
815
31
Можно дизассемблировать... но если не знаешь ассемблера тебе это не поможет...
 

CrazyRussian

Устал...
Jan 14, 2010
619
32
66
0
Адрес
fire64 said:
Еще как можно
HexRays никто не отменял
А он простым смертным доступен?
А декомпилированое, назад все еще не собирается?
 

fire64

New member
Feb 10, 2007
533
34
CrazyRussian said:
А он простым смертным доступен?
А декомпилированое, назад все еще не собирается?

1) официально нет, а так на любом варезнике скачать можно
2) конечно :)
впрочем мне в свое время удалось скомпилировать рабочий hl.exe для запуска Half-Life 1

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

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

FiEctro

Ведущий
Jul 28, 2006
17,139
33
2 fire64:
>> В сети даже есть, пара игровых движков, востановленных после такой дкуомпиляции.

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

CrazyRussian

Устал...
Jan 14, 2010
619
32
66
0
Адрес
2 PREsideNT:
ce4aae12ed3c8e092f2a0a41a05d3c3a.jpg

С помощью пдб вроде можно востановить имена функций
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
Feb 10, 2007
533
34
хм, а в чем смысл getClassByClass ?

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

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

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

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

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


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

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

PREsideNT

Он же smiler
Jun 16, 2008
815
31
2 fire64:
Это чтото из черной магии...
кхм... про PDB както выпустил из внимания....
 

Game Server

CSM TV

Page QR Code

QR Code

Donate Campaign

Total amount
$0.00
Goal
$25.00

Latest profile posts

TestUser wrote on TRUP@C's profile.
Master?
TestUser wrote on TRUP@C's profile.
Hello Father

Members online

No members online now.

Discord