Всем привет. Вытянул отлоадчиком 2 интерсные процедуры из двух библиотек. Код (Text): 0039D928 >/$ 55 PUSH EBP 0039D929 |. 8BEC MOV EBP,ESP 0039D92B |. 6A 00 PUSH 0 0039D92D |. 6A 00 PUSH 0 0039D92F |. 6A 00 PUSH 0 0039D931 |. 53 PUSH EBX 0039D932 |. 33C0 XOR EAX,EAX 0039D934 |. 55 PUSH EBP 0039D935 |. 68 A1D93900 PUSH glg_new_.0039D9A1 0039D93A |. 64:FF30 PUSH DWORD PTR FS:[EAX] 0039D93D |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 0039D940 |. 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8] 0039D943 |. BA BCD93900 MOV EDX,glg_new_.0039D9BC ; ASCII "kol" 0039D948 |. B8 C8D93900 MOV EAX,glg_new_.0039D9C8 ; ASCII "kol_val" 0039D94D |. E8 7EFEFFFF CALL glg_new_.0039D7D0 0039D952 |. FF75 F8 PUSH DWORD PTR SS:[EBP-8] 0039D955 |. 68 D8D93900 PUSH glg_new_.0039D9D8 0039D95A |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C] 0039D95D |. BA E4D93900 MOV EDX,glg_new_.0039D9E4 ; ASCII "kols" 0039D962 |. B8 C8D93900 MOV EAX,glg_new_.0039D9C8 ; ASCII "kol_val" 0039D967 |. E8 64FEFFFF CALL glg_new_.0039D7D0 0039D96C |. FF75 F4 PUSH DWORD PTR SS:[EBP-C] 0039D96F |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 0039D972 |. BA 03000000 MOV EDX,3 0039D977 |. E8 9C68FBFF CALL glg_new_.00354218 0039D97C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 0039D97F |. E8 D469FBFF CALL glg_new_.00354358 0039D984 |. 8BD8 MOV EBX,EAX 0039D986 |. 33C0 XOR EAX,EAX 0039D988 |. 5A POP EDX 0039D989 |. 59 POP ECX 0039D98A |. 59 POP ECX 0039D98B |. 64:8910 MOV DWORD PTR FS:[EAX],EDX 0039D98E |. 68 A8D93900 PUSH glg_new_.0039D9A8 0039D993 |> 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C] 0039D996 |. BA 03000000 MOV EDX,3 0039D99B |. E8 1C65FBFF CALL glg_new_.00353EBC 0039D9A0 \. C3 RETN
и кусок чуть побольше. Код (Text): 100017D0 >/$ A1 149F0010 MOV EAX,DWORD PTR DS:[10009F14] 100017D5 |. 81EC C0000000 SUB ESP,0C0 100017DB |. 85C0 TEST EAX,EAX 100017DD |. 55 PUSH EBP 100017DE |. 75 0C JNZ SHORT fa_mt4_i.100017EC 100017E0 |. 32C0 XOR AL,AL 100017E2 |. 5D POP EBP 100017E3 |. 81C4 C0000000 ADD ESP,0C0 100017E9 |. C2 2000 RETN 20 100017EC |> 8BAC24 C80000>MOV EBP,DWORD PTR SS:[ESP+C8] 100017F3 |. 56 PUSH ESI 100017F4 |. 8B35 189F0010 MOV ESI,DWORD PTR DS:[10009F18] 100017FA |. 57 PUSH EDI 100017FB |. 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+C] 100017FF |. 8BFD MOV EDI,EBP 10001801 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C] 10001805 |. 33D2 XOR EDX,EDX 10001807 |. 2BF0 SUB ESI,EAX 10001809 |. 2BF9 SUB EDI,ECX 1000180B |> 8D4414 0C /LEA EAX,DWORD PTR SS:[ESP+EDX+C] 1000180F |. 42 |INC EDX 10001810 |. 83FA 1E |CMP EDX,1E 10001813 |. 8A0C06 |MOV CL,BYTE PTR DS:[ESI+EAX] 10001816 |. 8808 |MOV BYTE PTR DS:[EAX],CL 10001818 |. 8A0C07 |MOV CL,BYTE PTR DS:[EDI+EAX] 1000181B |. 8848 1E |MOV BYTE PTR DS:[EAX+1E],CL 1000181E |.^ 7C EB \JL SHORT fa_mt4_i.1000180B 10001820 |. 8B8424 E00000>MOV EAX,DWORD PTR SS:[ESP+E0] 10001827 |. 8B9424 DC0000>MOV EDX,DWORD PTR SS:[ESP+DC] 1000182E |. 8B8C24 D40000>MOV ECX,DWORD PTR SS:[ESP+D4] 10001835 |. 894424 50 MOV DWORD PTR SS:[ESP+50],EAX 10001839 |. 895424 4C MOV DWORD PTR SS:[ESP+4C],EDX 1000183D |. 8B9424 D80000>MOV EDX,DWORD PTR SS:[ESP+D8] 10001844 |. 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+C] 10001848 |. 894C24 54 MOV DWORD PTR SS:[ESP+54],ECX 1000184C |. 8B0D 149F0010 MOV ECX,DWORD PTR DS:[10009F14] 10001852 |. 50 PUSH EAX 10001853 |. C74424 78 000>MOV DWORD PTR SS:[ESP+78],0 1000185B |. 895424 5C MOV DWORD PTR SS:[ESP+5C],EDX 1000185F |. E8 DCF9FFFF CALL fa_mt4_i.10001240 10001864 |. 5F POP EDI 10001865 |. 5E POP ESI 10001866 |. 85C0 TEST EAX,EAX 10001868 |. 74 0C JE SHORT fa_mt4_i.10001876 1000186A |. 32C0 XOR AL,AL 1000186C |. 5D POP EBP 1000186D |. 81C4 C0000000 ADD ESP,0C0 10001873 |. C2 2000 RETN 20 10001876 |> 8B0D 209F0010 MOV ECX,DWORD PTR DS:[10009F20] 1000187C |. 6A FF PUSH -1 ; /Timeout = INFINITE 1000187E |. 51 PUSH ECX ; |hObject => NULL 1000187F |. FF15 18800010 CALL DWORD PTR DS:[<&KERNEL32.WaitForSingleObject>] ; \WaitForSingleObject 10001885 |. A1 189F0010 MOV EAX,DWORD PTR DS:[10009F18] 1000188A |. 8B0D 149F0010 MOV ECX,DWORD PTR DS:[10009F14] 10001890 |. 8D5424 74 LEA EDX,DWORD PTR SS:[ESP+74] 10001894 |. 52 PUSH EDX 10001895 |. 6A 00 PUSH 0 10001897 |. 55 PUSH EBP 10001898 |. 50 PUSH EAX 10001899 |. E8 E2FAFFFF CALL fa_mt4_i.10001380 1000189E |. 8B0D 209F0010 MOV ECX,DWORD PTR DS:[10009F20] 100018A4 |. 85C0 TEST EAX,EAX 100018A6 |. 51 PUSH ECX ; /hMutex => NULL 100018A7 |. 74 40 JE SHORT fa_mt4_i.100018E9 ; | 100018A9 |. FF15 14800010 CALL DWORD PTR DS:[<&KERNEL32.ReleaseMutex>] ; \ReleaseMutex 100018AF |. 5D POP EBP 100018B0 |. 8B9424 D80000>MOV EDX,DWORD PTR SS:[ESP+D8] 100018B7 |. 8B8424 DC0000>MOV EAX,DWORD PTR SS:[ESP+DC] 100018BE |. C702 00000000 MOV DWORD PTR DS:[EDX],0 100018C4 |. C700 00000000 MOV DWORD PTR DS:[EAX],0 100018CA |. 8B8424 E00000>MOV EAX,DWORD PTR SS:[ESP+E0] 100018D1 |. C700 00000000 MOV DWORD PTR DS:[EAX],0 100018D7 |. C740 04 00000>MOV DWORD PTR DS:[EAX+4],0 100018DE |. 32C0 XOR AL,AL 100018E0 |. 81C4 C0000000 ADD ESP,0C0 100018E6 |. C2 2000 RETN 20 100018E9 |> FF15 14800010 CALL DWORD PTR DS:[<&KERNEL32.ReleaseMutex>] ; \ReleaseMutex 100018EF |. DD8424 B40000>FLD QWORD PTR SS:[ESP+B4] 100018F6 |. 8B9424 DC0000>MOV EDX,DWORD PTR SS:[ESP+DC] 100018FD |. 8B8424 BC0000>MOV EAX,DWORD PTR SS:[ESP+BC] 10001904 |. 8B8C24 E00000>MOV ECX,DWORD PTR SS:[ESP+E0] 1000190B |. 5D POP EBP 1000190C |. 8902 MOV DWORD PTR DS:[EDX],EAX 1000190E |. 8B9424 AC0000>MOV EDX,DWORD PTR SS:[ESP+AC] 10001915 |. 8B8424 E00000>MOV EAX,DWORD PTR SS:[ESP+E0] 1000191C |. 8911 MOV DWORD PTR DS:[ECX],EDX 1000191E |. DD18 FSTP QWORD PTR DS:[EAX] 10001920 |. B0 01 MOV AL,1 10001922 |. 81C4 C0000000 ADD ESP,0C0 10001928 \. C2 2000 RETN 20
У меня иды нет. Есть только олли дбг. Была бы ида с нужными плагинами было бы хорошо. А есть ли конверторы из асеблерного кода, в нечтяо более удобовоспринимаемое? Желательно оналйн или фри/портабл? Спасибо за коменты. Попробуйте плиз второй кусок кода обработать.
Как-то так (не до конца). Ключевой являецца fa_mt4_i.10001240 - она вычисляет float для SomePtrToResult. А ф чем проблема с IDA? Кочай 4.9 free и фперед.
++ > У меня иды нет. Выше. > Есть только олли дбг. Была бы ида с нужными плагинами было бы хорошо. Какими такими плагинами? X-Rays? Ну некоторые хвалят. Лично я ничем не пользуюсь, только дефолтными функами в IDA - локальные переменные и так далее. > А есть ли конверторы из асеблерного кода, в нечтяо более удобовоспринимаемое? Желательно оналйн или фри/портабл? Бес понятия. I believe the best you could obtain is IDA Full with X-Rays. Можа есть преватные плагины, х.з.