Pin_Ball Опубликовано 25 февраля, 2010 Жалоба Share Опубликовано 25 февраля, 2010 Вобщем не первый раз сталкиваюсь с этой проблемой. Ситуация примерно такая: есть ехе-шники - небольшая формочка - вводишь 2 числа(а и b.) и выводится число С - в обычном текстбоксе. И задача вобщем в том чтобы определить - по какой формуле из чисел а и b получается С. Вопрос собственно вот в чем - существуют ли такие программы, которые позволяют открыть и посмотреть код вычислений этого ехе-шника ? или перевести его в другой код ? (в cpp например) зы пробовал через дизассемблер - вылез бесконечный поток всякой дряни.. которая собственно ничего мне не дала Ссылка на комментарий Поделиться на другие сайты More sharing options...
Alex Novo Опубликовано 25 февраля, 2010 Жалоба Share Опубликовано 25 февраля, 2010 Собственно эта дрянь и есть искомое. Каким компилятором рождена экзеха? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Pin_Ball Опубликовано 25 февраля, 2010 Автор Жалоба Share Опубликовано 25 февраля, 2010 Собственно эта дрянь и есть искомое. Каким компилятором рождена экзеха? с помощью ресторатора выудил вот это, судя по всему на делфи. Package Info (Delphi or C++ Builder) PackageInfo: 0xCC000001 Flags: never build Type: undefined Compiler: produced with Delphi 4 or higher Я проглядел еще раз строчки в этом дизассемблере - там иногда встречается такая зеленая строка Possible StringData Ref from code Obj -> а дальше идет текст - иногда это бывают насколько я понял команды, но в большинстве случаев что-то типа этого "SV<Ъ<p...Ыt#;^dt - может я что-то не так делаю, можешь в кратце сказать что мне искать надо ? зы Как я понял эта прога переводит экзешник в ассемблер(в котором я не смыслю) - а есть ли такой который переводит его в C++ ? Ссылка на комментарий Поделиться на другие сайты More sharing options...
Alex Novo Опубликовано 25 февраля, 2010 Жалоба Share Опубликовано 25 февраля, 2010 Ну так попробуй DeDe на него напустить. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Pin_Ball Опубликовано 25 февраля, 2010 Автор Жалоба Share Опубликовано 25 февраля, 2010 Ну так попробуй DeDe на него напустить. Вот что получилось в процедуре Button1Click 0045020C 55 push ebp 0045020D 8BEC mov ebp, esp 0045020F 83C4DC add esp, -$24 00450212 53 push ebx 00450213 33C9 xor ecx, ecx 00450215 894DDC mov [ebp-$24], ecx 00450218 894DE0 mov [ebp-$20], ecx 0045021B 894DE4 mov [ebp-$1C], ecx 0045021E 8BD8 mov ebx, eax 00450220 33C0 xor eax, eax 00450222 55 push ebp * Possible String Reference to: 'йZ5ыялг[‹е]Г' | 00450223 68B5024500 push $004502B5 ***** TRY | 00450228 64FF30 push dword ptr fs:[eax] 0045022B 648920 mov fs:[eax], esp 0045022E 8D55E4 lea edx, [ebp-$1C] * Reference to control TForm1.Edit1 : TEdit | 00450231 8B83FC020000 mov eax, [ebx+$02FC] * Reference to: Controls.TControl.GetText(TControl):TCaption; | 00450237 E824F2FDFF call 0042F460 0045023C 8B45E4 mov eax, [ebp-$1C] * Reference to: SysUtils.StrToFloat(AnsiString):Extended;overload; | 0045023F E8488DFBFF call 00408F8C 00450244 DD5DF8 fstp qword ptr [ebp-$08] 00450247 9B wait 00450248 8D55E0 lea edx, [ebp-$20] * Reference to control TForm1.Edit3 : TEdit | 0045024B 8B8304030000 mov eax, [ebx+$0304] * Reference to: Controls.TControl.GetText(TControl):TCaption; | 00450251 E80AF2FDFF call 0042F460 00450256 8B45E0 mov eax, [ebp-$20] * Reference to: SysUtils.StrToFloat(AnsiString):Extended;overload; | 00450259 E82E8DFBFF call 00408F8C 0045025E DD5DF0 fstp qword ptr [ebp-$10] 00450261 9B wait 00450262 DD45F8 fld qword ptr [ebp-$08] 00450265 DC65F0 fsub qword ptr [ebp-$10] 00450268 D805C4024500 fadd dword ptr [$004502C4] 0045026E DD5DE8 fstp qword ptr [ebp-$18] 00450271 9B wait 00450272 DD45E8 fld qword ptr [ebp-$18] 00450275 83C4F4 add esp, -$0C 00450278 DB3C24 fstp tbyte ptr [esp] 0045027B 9B wait 0045027C 8D45DC lea eax, [ebp-$24] | 0045027F E8A88CFBFF call 00408F2C 00450284 8B55DC mov edx, [ebp-$24] * Reference to control TForm1.Edit2 : TEdit | 00450287 8B8300030000 mov eax, [ebx+$0300] * Reference to: Controls.TControl.SetText(TControl;TCaption); | 0045028D E8FEF1FDFF call 0042F490 00450292 33C0 xor eax, eax 00450294 5A pop edx 00450295 59 pop ecx 00450296 59 pop ecx 00450297 648910 mov fs:[eax], edx ****** FINALLY | * Possible String Reference to: '[‹е]Г' | 0045029A 68BC024500 push $004502BC 0045029F 8D45DC lea eax, [ebp-$24] * Reference to: System.@LStrClr(void;void); | 004502A2 E8693BFBFF call 00403E10 004502A7 8D45E0 lea eax, [ebp-$20] 004502AA BA02000000 mov edx, $00000002 * Reference to: System.@LStrArrayClr(void;void;Integer); | 004502AF E8803BFBFF call 00403E34 004502B4 C3 ret * Reference to: System.@HandleFinally; | 004502B5 E95A35FBFF jmp 00403814 004502BA EBE3 jmp 0045029F ****** END | 004502BC 5B pop ebx 004502BD 8BE5 mov esp, ebp 004502BF 5D pop ebp 004502C0 C3 ret мне кажется либо ответ прячется в этих зеленых строчках, либо я совсем что-то накосипорил) Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.