Народ, чем декомпильнуть утилитку небольшую? За несколько лет исходники потерял, щас есть интерес их восстановить. Видел уже ветки на эту тему. Народ смеется/стебется над авторами что это невозможно
Но я не верю
Попробовал RecStudio, структуру программы видно, видны вызовы системных функций, но много ассемблерного мусора про возню на стеке. По идее можно было бы это разобрать в локальные переменные.
Тут еще ничего, понятно, что это sprintf
GetLocalTime(ebp - 0x30);
ecx = *(ebp - 0x24);
edx = *(ebp - 0x26);
eax = *(ebp - 0x28);
ecx = ecx & 65535;
edx = edx & 65535;
(save)ecx;
ecx = *(ebp - 0x30);
eax = eax & 65535;
(save)edx;
edx = *(ebp - 0x2e);
(save)eax;
eax = *(ebp - 0x2a);
ecx = ecx & 65535;
edx = edx & 65535;
(save)ecx;
(save)edx;
(save)eax & 65535;
(save)"%02d_%02d_%02d-%02d_%02d_%02d";
(save)ebp + -1024;
L00401BF4();
А это уже тяжко
al = *(ebp + 0x13);
if(al == 0) {
ecx = *(ebp - 0xc);
*fs:0x0] = ecx;
(restore)edi;
(restore)esi;
(restore)ebx;
(restore)ebp;
return 1;
}
if(*(ebp + -764) == 0x22) {
edi = ebp + -764;
ecx = ecx | -1;
eax = 0;
edx = ebp + -763;
asm("repne scasb");
ecx = !ecx - 1;
*(ebp + 8) = edx;
*(ebp + ecx + -765) = al;
} else {
edx = *(ebp + 8);
}
Еще пробовал Boomerang — эта зараза падает на стадии декомпиляции
Скачал Neuron PE Disassembler — вообще не понял как пользоваться, и никакого хелпа нет
Что еще можно попробовать? Не охота долго возиться с ассемблером...