помогите разобратся с функциями

Тема в разделе "WASM.BEGINNERS", создана пользователем rodger, 7 сен 2011.

  1. rodger

    rodger New Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2007
    Сообщения:
    363
    Всем привет.
    Вытянул отлоадчиком 2 интерсные процедуры из двух библиотек.
    Код (Text):
    1. 0039D928 >/$ 55 PUSH EBP
    2. 0039D929 |. 8BEC MOV EBP,ESP
    3. 0039D92B |. 6A 00 PUSH 0
    4. 0039D92D |. 6A 00 PUSH 0
    5. 0039D92F |. 6A 00 PUSH 0
    6. 0039D931 |. 53 PUSH EBX
    7. 0039D932 |. 33C0 XOR EAX,EAX
    8. 0039D934 |. 55 PUSH EBP
    9. 0039D935 |. 68 A1D93900 PUSH glg_new_.0039D9A1
    10. 0039D93A |. 64:FF30 PUSH DWORD PTR FS:[EAX]
    11. 0039D93D |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
    12. 0039D940 |. 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8]
    13. 0039D943 |. BA BCD93900 MOV EDX,glg_new_.0039D9BC ; ASCII "kol"
    14. 0039D948 |. B8 C8D93900 MOV EAX,glg_new_.0039D9C8 ; ASCII "kol_val"
    15. 0039D94D |. E8 7EFEFFFF CALL glg_new_.0039D7D0
    16. 0039D952 |. FF75 F8 PUSH DWORD PTR SS:[EBP-8]
    17. 0039D955 |. 68 D8D93900 PUSH glg_new_.0039D9D8
    18. 0039D95A |. 8D4D F4 LEA ECX,DWORD PTR SS:[EBP-C]
    19. 0039D95D |. BA E4D93900 MOV EDX,glg_new_.0039D9E4 ; ASCII "kols"
    20. 0039D962 |. B8 C8D93900 MOV EAX,glg_new_.0039D9C8 ; ASCII "kol_val"
    21. 0039D967 |. E8 64FEFFFF CALL glg_new_.0039D7D0
    22. 0039D96C |. FF75 F4 PUSH DWORD PTR SS:[EBP-C]
    23. 0039D96F |. 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
    24. 0039D972 |. BA 03000000 MOV EDX,3
    25. 0039D977 |. E8 9C68FBFF CALL glg_new_.00354218
    26. 0039D97C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
    27. 0039D97F |. E8 D469FBFF CALL glg_new_.00354358
    28. 0039D984 |. 8BD8 MOV EBX,EAX
    29. 0039D986 |. 33C0 XOR EAX,EAX
    30. 0039D988 |. 5A POP EDX
    31. 0039D989 |. 59 POP ECX
    32. 0039D98A |. 59 POP ECX
    33. 0039D98B |. 64:8910 MOV DWORD PTR FS:[EAX],EDX
    34. 0039D98E |. 68 A8D93900 PUSH glg_new_.0039D9A8
    35. 0039D993 |> 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
    36. 0039D996 |. BA 03000000 MOV EDX,3
    37. 0039D99B |. E8 1C65FBFF CALL glg_new_.00353EBC
    38. 0039D9A0 \. C3 RETN
     
  2. rodger

    rodger New Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2007
    Сообщения:
    363
    и кусок чуть побольше.
    Код (Text):
    1. 100017D0 >/$ A1 149F0010 MOV EAX,DWORD PTR DS:[10009F14]
    2. 100017D5 |. 81EC C0000000 SUB ESP,0C0
    3. 100017DB |. 85C0 TEST EAX,EAX
    4. 100017DD |. 55 PUSH EBP
    5. 100017DE |. 75 0C JNZ SHORT fa_mt4_i.100017EC
    6. 100017E0 |. 32C0 XOR AL,AL
    7. 100017E2 |. 5D POP EBP
    8. 100017E3 |. 81C4 C0000000 ADD ESP,0C0
    9. 100017E9 |. C2 2000 RETN 20
    10. 100017EC |> 8BAC24 C80000>MOV EBP,DWORD PTR SS:[ESP+C8]
    11. 100017F3 |. 56 PUSH ESI
    12. 100017F4 |. 8B35 189F0010 MOV ESI,DWORD PTR DS:[10009F18]
    13. 100017FA |. 57 PUSH EDI
    14. 100017FB |. 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+C]
    15. 100017FF |. 8BFD MOV EDI,EBP
    16. 10001801 |. 8D4C24 0C LEA ECX,DWORD PTR SS:[ESP+C]
    17. 10001805 |. 33D2 XOR EDX,EDX
    18. 10001807 |. 2BF0 SUB ESI,EAX
    19. 10001809 |. 2BF9 SUB EDI,ECX
    20. 1000180B |> 8D4414 0C /LEA EAX,DWORD PTR SS:[ESP+EDX+C]
    21. 1000180F |. 42 |INC EDX
    22. 10001810 |. 83FA 1E |CMP EDX,1E
    23. 10001813 |. 8A0C06 |MOV CL,BYTE PTR DS:[ESI+EAX]
    24. 10001816 |. 8808 |MOV BYTE PTR DS:[EAX],CL
    25. 10001818 |. 8A0C07 |MOV CL,BYTE PTR DS:[EDI+EAX]
    26. 1000181B |. 8848 1E |MOV BYTE PTR DS:[EAX+1E],CL
    27. 1000181E |.^ 7C EB \JL SHORT fa_mt4_i.1000180B
    28. 10001820 |. 8B8424 E00000>MOV EAX,DWORD PTR SS:[ESP+E0]
    29. 10001827 |. 8B9424 DC0000>MOV EDX,DWORD PTR SS:[ESP+DC]
    30. 1000182E |. 8B8C24 D40000>MOV ECX,DWORD PTR SS:[ESP+D4]
    31. 10001835 |. 894424 50 MOV DWORD PTR SS:[ESP+50],EAX
    32. 10001839 |. 895424 4C MOV DWORD PTR SS:[ESP+4C],EDX
    33. 1000183D |. 8B9424 D80000>MOV EDX,DWORD PTR SS:[ESP+D8]
    34. 10001844 |. 8D4424 0C LEA EAX,DWORD PTR SS:[ESP+C]
    35. 10001848 |. 894C24 54 MOV DWORD PTR SS:[ESP+54],ECX
    36. 1000184C |. 8B0D 149F0010 MOV ECX,DWORD PTR DS:[10009F14]
    37. 10001852 |. 50 PUSH EAX
    38. 10001853 |. C74424 78 000>MOV DWORD PTR SS:[ESP+78],0
    39. 1000185B |. 895424 5C MOV DWORD PTR SS:[ESP+5C],EDX
    40. 1000185F |. E8 DCF9FFFF CALL fa_mt4_i.10001240
    41. 10001864 |. 5F POP EDI
    42. 10001865 |. 5E POP ESI
    43. 10001866 |. 85C0 TEST EAX,EAX
    44. 10001868 |. 74 0C JE SHORT fa_mt4_i.10001876
    45. 1000186A |. 32C0 XOR AL,AL
    46. 1000186C |. 5D POP EBP
    47. 1000186D |. 81C4 C0000000 ADD ESP,0C0
    48. 10001873 |. C2 2000 RETN 20
    49. 10001876 |> 8B0D 209F0010 MOV ECX,DWORD PTR DS:[10009F20]
    50. 1000187C |. 6A FF PUSH -1 ; /Timeout = INFINITE
    51. 1000187E |. 51 PUSH ECX ; |hObject => NULL
    52. 1000187F |. FF15 18800010 CALL DWORD PTR DS:[<&KERNEL32.WaitForSingleObject>] ; \WaitForSingleObject
    53. 10001885 |. A1 189F0010 MOV EAX,DWORD PTR DS:[10009F18]
    54. 1000188A |. 8B0D 149F0010 MOV ECX,DWORD PTR DS:[10009F14]
    55. 10001890 |. 8D5424 74 LEA EDX,DWORD PTR SS:[ESP+74]
    56. 10001894 |. 52 PUSH EDX
    57. 10001895 |. 6A 00 PUSH 0
    58. 10001897 |. 55 PUSH EBP
    59. 10001898 |. 50 PUSH EAX
    60. 10001899 |. E8 E2FAFFFF CALL fa_mt4_i.10001380
    61. 1000189E |. 8B0D 209F0010 MOV ECX,DWORD PTR DS:[10009F20]
    62. 100018A4 |. 85C0 TEST EAX,EAX
    63. 100018A6 |. 51 PUSH ECX ; /hMutex => NULL
    64. 100018A7 |. 74 40 JE SHORT fa_mt4_i.100018E9 ; |
    65. 100018A9 |. FF15 14800010 CALL DWORD PTR DS:[<&KERNEL32.ReleaseMutex>] ; \ReleaseMutex
    66. 100018AF |. 5D POP EBP
    67. 100018B0 |. 8B9424 D80000>MOV EDX,DWORD PTR SS:[ESP+D8]
    68. 100018B7 |. 8B8424 DC0000>MOV EAX,DWORD PTR SS:[ESP+DC]
    69. 100018BE |. C702 00000000 MOV DWORD PTR DS:[EDX],0
    70. 100018C4 |. C700 00000000 MOV DWORD PTR DS:[EAX],0
    71. 100018CA |. 8B8424 E00000>MOV EAX,DWORD PTR SS:[ESP+E0]
    72. 100018D1 |. C700 00000000 MOV DWORD PTR DS:[EAX],0
    73. 100018D7 |. C740 04 00000>MOV DWORD PTR DS:[EAX+4],0
    74. 100018DE |. 32C0 XOR AL,AL
    75. 100018E0 |. 81C4 C0000000 ADD ESP,0C0
    76. 100018E6 |. C2 2000 RETN 20
    77. 100018E9 |> FF15 14800010 CALL DWORD PTR DS:[<&KERNEL32.ReleaseMutex>] ; \ReleaseMutex
    78. 100018EF |. DD8424 B40000>FLD QWORD PTR SS:[ESP+B4]
    79. 100018F6 |. 8B9424 DC0000>MOV EDX,DWORD PTR SS:[ESP+DC]
    80. 100018FD |. 8B8424 BC0000>MOV EAX,DWORD PTR SS:[ESP+BC]
    81. 10001904 |. 8B8C24 E00000>MOV ECX,DWORD PTR SS:[ESP+E0]
    82. 1000190B |. 5D POP EBP
    83. 1000190C |. 8902 MOV DWORD PTR DS:[EDX],EAX
    84. 1000190E |. 8B9424 AC0000>MOV EDX,DWORD PTR SS:[ESP+AC]
    85. 10001915 |. 8B8424 E00000>MOV EAX,DWORD PTR SS:[ESP+E0]
    86. 1000191C |. 8911 MOV DWORD PTR DS:[ECX],EDX
    87. 1000191E |. DD18 FSTP QWORD PTR DS:[EAX]
    88. 10001920 |. B0 01 MOV AL,1
    89. 10001922 |. 81C4 C0000000 ADD ESP,0C0
    90. 10001928 \. C2 2000 RETN 20
     
  3. PSR1257II

    PSR1257II New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2011
    Сообщения:
    228
    А где ищо фторая? И подчему атладчегом - что в IDA не видно?
     
  4. rodger

    rodger New Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2007
    Сообщения:
    363
    У меня иды нет. Есть только олли дбг. Была бы ида с нужными плагинами было бы хорошо.
    А есть ли конверторы из асеблерного кода, в нечтяо более удобовоспринимаемое? Желательно оналйн или фри/портабл?
    Спасибо за коменты.
    Попробуйте плиз второй кусок кода обработать.
     
  5. PSR1257II

    PSR1257II New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2011
    Сообщения:
    228
    Как-то так (не до конца). Ключевой являецца fa_mt4_i.10001240 - она вычисляет float для SomePtrToResult.

    А ф чем проблема с IDA? Кочай 4.9 free и фперед.
     
  6. PSR1257II

    PSR1257II New Member

    Публикаций:
    0
    Регистрация:
    25 июн 2011
    Сообщения:
    228
    ++

    > У меня иды нет.

    Выше.

    > Есть только олли дбг. Была бы ида с нужными плагинами было бы хорошо.

    Какими такими плагинами? X-Rays? Ну некоторые хвалят. Лично я ничем не пользуюсь, только дефолтными функами в IDA - локальные переменные и так далее.

    > А есть ли конверторы из асеблерного кода, в нечтяо более удобовоспринимаемое? Желательно оналйн или фри/портабл?

    Бес понятия. I believe the best you could obtain is IDA Full with X-Rays. Можа есть преватные плагины, х.з.
     
  7. rodger

    rodger New Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2007
    Сообщения:
    363
    ок, спасибо, буду пробовать.