OllyDebug и инструкции

Тема в разделе "WASM.BEGINNERS", создана пользователем fromtheinside, 5 окт 2008.

  1. fromtheinside

    fromtheinside New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    5
    Добрый день!

    Уважаемые товарищи, у меня возник вопрос при изучении цикла статей о Olly и работы с ним, размещенных на вашем чудесном сайте. (http://wasm.ru/series.php?sid=17) Объясните пожалуйста почему при нажатии клавиши Ф7 инструкции выполняются не последовательно а в какой-то непонятной последовательности. Я рассматриваю пример описанный в статье третей вышеупомянутого цикла ( http://wasm.ru/article.php?article=ollydbg03 ).
    Так кот, в примере сказано и показано, что чтобы выполнять программу последовательно надо жать клавишу F7, я так и делаю но вместо того, чтобы перейти с инструкции ( к примеру ) 00401000 к 00401002 (такая их очередность в таблице которая находится в левом верхнем углу) я попадаю непонятно куда =) 02350005, а при последующих нажатиях клавиши четвертая (с лева) цифра инструкции увеличивается на 3, с постоянным шагом. Я проверял, при первом нажатии Ф7 регистр ЕИП содержит правильную инструкцию т.е. 0040100. И что самое интересное, смотрю дамп по номеру инструкции, он отличен от изначального, т.е. инструкция выполняется, но почему они выполняются не последовательно ? Скорее всего я что-то делаю не так, но что?

    Очень прошу помощи, т.к. сам ничего понять не в состоянии, а в последующих статьях цикла повсеместно используется этот прием последовательной трассировки... Заранее благодарю за ответ, с ув. Максим.
     
  2. axe_roma

    axe_roma New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2004
    Сообщения:
    93
    Адрес:
    Russia
    F7 - трасировка с заходом в функцию т.е есть к примеру
    Код (Text):
    1. call 0043214
    то при трасировке по F7 ты попадешь по адресу вызова 0043214.
    Че то не пойму как у тебя получается проскочить при первом шаге? Ты код можешь показать с отладчика?
     
  3. fromtheinside

    fromtheinside New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    5
    Спасибо за помощь ! Вот код:


    Код (Text):
    1. 00401000 > 6A 00            PUSH 0
    2. 00401002   E8 FF040000      CALL <JMP.&KERNEL32.GetModuleHandleA>
    3. 00401007   A3 CA204000      MOV DWORD PTR DS:[4020CA],EAX
    4. 0040100C   6A 00            PUSH 0
    5. 0040100E   68 F4204000      PUSH CRACKME.004020F4                    ; ASCII "No need to disasm the code!"
    6. 00401013   E8 A6040000      CALL <JMP.&USER32.FindWindowA>
    7. 00401018   0BC0             OR EAX,EAX
    8. 0040101A   74 01            JE SHORT CRACKME.0040101D
    9. 0040101C   C3               RETN
    10. 0040101D   C705 64204000 03>MOV DWORD PTR DS:[402064],4003
    11. 00401027   C705 68204000 28>MOV DWORD PTR DS:[402068],CRACKME.WndPro>
    12. 00401031   C705 6C204000 00>MOV DWORD PTR DS:[40206C],0
    13. 0040103B   C705 70204000 00>MOV DWORD PTR DS:[402070],0
    14. 00401045   A1 CA204000      MOV EAX,DWORD PTR DS:[4020CA]
    15. 0040104A   A3 74204000      MOV DWORD PTR DS:[402074],EAX
    16. 0040104F   6A 64            PUSH 64
    17. 00401051   50               PUSH EAX
    18. 00401052   E8 D1030000      CALL <JMP.&USER32.LoadIconA>
    19. 00401057   A3 78204000      MOV DWORD PTR DS:[402078],EAX
    20. 0040105C   68 007F0000      PUSH 7F00
    21. 00401061   6A 00            PUSH 0
    22. 00401063   E8 A2030000      CALL <JMP.&USER32.LoadCursorA>
    23. 00401068   A3 7C204000      MOV DWORD PTR DS:[40207C],EAX
    24. 0040106D   C705 80204000 05>MOV DWORD PTR DS:[402080],5
    25. 00401077   C705 84204000 10>MOV DWORD PTR DS:[402084],CRACKME.004021>; ASCII "MENU"
    26. 00401081   C705 88204000 F4>MOV DWORD PTR DS:[402088],CRACKME.004020>; ASCII "No need to disasm the code!"
    27. 0040108B   68 64204000      PUSH CRACKME.00402064
    28. 00401090   E8 F3030000      CALL <JMP.&USER32.RegisterClassA>
    29. 00401095   6A 00            PUSH 0
    30. 00401097   FF35 CA204000    PUSH DWORD PTR DS:[4020CA]
    31. 0040109D   6A 00            PUSH 0
    32. 0040109F   6A 00            PUSH 0
    33. 004010A1   68 00800000      PUSH 8000
    34. 004010A6   68 00800000      PUSH 8000
    35. 004010AB   6A 6E            PUSH 6E
    36. 004010AD   68 B4000000      PUSH 0B4
    37. 004010B2   68 0000CF00      PUSH 0CF0000
    38. 004010B7   68 E7204000      PUSH CRACKME.004020E7                    ; ASCII "CrackMe v1.0"
    39. 004010BC   68 F4204000      PUSH CRACKME.004020F4                    ; ASCII "No need to disasm the code!"
    40. 004010C1   6A 00            PUSH 0
    41. 004010C3   E8 CC030000      CALL <JMP.&USER32.CreateWindowExA>
    42. 004010C8   A3 04204000      MOV DWORD PTR DS:[402004],EAX
    43. 004010CD   6A 01            PUSH 1
    44. 004010CF   FF35 04204000    PUSH DWORD PTR DS:[402004]
    45. 004010D5   E8 90030000      CALL <JMP.&USER32.ShowWindow>
    46. 004010DA   FF35 04204000    PUSH DWORD PTR DS:[402004]
    47. 004010E0   E8 9D030000      CALL <JMP.&USER32.UpdateWindow>
    48. 004010E5   6A 01            PUSH 1
    49. 004010E7   6A 00            PUSH 0
    50. 004010E9   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    51. 004010EC   E8 5B030000      CALL <JMP.&USER32.InvalidateRect>
    52. 004010F1   6A 00            PUSH 0
    53. 004010F3   6A 00            PUSH 0
    54. 004010F5   6A 00            PUSH 0
    55. 004010F7   68 48204000      PUSH CRACKME.00402048
    56. 004010FC   E8 D5030000      CALL <JMP.&USER32.GetMessageA>
    57. 00401101   66:3D 0000       CMP AX,0
    58. 00401105   74 16            JE SHORT CRACKME.0040111D
    59. 00401107   68 48204000      PUSH CRACKME.00402048
    60. 0040110C   E8 4D030000      CALL <JMP.&USER32.TranslateMessage>
    61. 00401111   68 48204000      PUSH CRACKME.00402048
    62. 00401116   E8 8B030000      CALL <JMP.&USER32.DispatchMessageA>
    63. 0040111B  ^EB D4            JMP SHORT CRACKME.004010F1
    64. 0040111D   FF35 50204000    PUSH DWORD PTR DS:[402050]
    65. 00401123   E8 EA030000      CALL <JMP.&KERNEL32.ExitProcess>
    66. 00401128 > C8 000000        ENTER 0,0
    67. 0040112C   56               PUSH ESI
    68. 0040112D   57               PUSH EDI
    69. 0040112E   53               PUSH EBX
    70. 0040112F   837D 0C 02       CMP DWORD PTR SS:[EBP+C],2
    71. 00401133   74 5E            JE SHORT CRACKME.00401193
    72. 00401135   817D 0C 04020000 CMP DWORD PTR SS:[EBP+C],204
    73. 0040113C   74 65            JE SHORT CRACKME.004011A3
    74. 0040113E   90               NOP
    75. 0040113F   90               NOP
    76. 00401140   90               NOP
    77. 00401141   90               NOP
    78. 00401142   837D 0C 05       CMP DWORD PTR SS:[EBP+C],5
    79. 00401146   74 5D            JE SHORT CRACKME.004011A5
    80. 00401148   837D 0C 01       CMP DWORD PTR SS:[EBP+C],1
    81. 0040114C   74 28            JE SHORT CRACKME.00401176
    82. 0040114E   817D 0C 01020000 CMP DWORD PTR SS:[EBP+C],201
    83. 00401155   74 4A            JE SHORT CRACKME.004011A1
    84. 00401157   837D 0C 24       CMP DWORD PTR SS:[EBP+C],24
    85. 0040115B   74 4F            JE SHORT CRACKME.004011AC
    86. 0040115D   817D 0C 11010000 CMP DWORD PTR SS:[EBP+C],111
    87. 00401164   74 6C            JE SHORT CRACKME.004011D2
    88. 00401166   90               NOP
    89. 00401167   90               NOP
    90. 00401168   90               NOP
    91. 00401169   90               NOP
    92. 0040116A   EB 14            JMP SHORT CRACKME.00401180
    93. 0040116C   B8 00000000      MOV EAX,0
    94. 00401171   EB 73            JMP SHORT CRACKME.004011E6
    95. 00401173   90               NOP
    96. 00401174   90               NOP
    97. 00401175   90               NOP
    98. 00401176   B8 00000000      MOV EAX,0
    99. 0040117B   EB 69            JMP SHORT CRACKME.004011E6
    100. 0040117D   90               NOP
    101. 0040117E   90               NOP
    102. 0040117F   90               NOP
    103. 00401180   FF75 14          PUSH DWORD PTR SS:[EBP+14]
    104. 00401183   FF75 10          PUSH DWORD PTR SS:[EBP+10]
    105. 00401186   FF75 0C          PUSH DWORD PTR SS:[EBP+C]
    106. 00401189   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    107. 0040118C   E8 09030000      CALL <JMP.&USER32.DefWindowProcA>
    108. 00401191   EB 53            JMP SHORT CRACKME.004011E6
    109. 00401193   6A 00            PUSH 0
    110. 00401195   E8 A6020000      CALL <JMP.&USER32.PostQuitMessage>
    111. 0040119A   B8 00000000      MOV EAX,0
    112. 0040119F   EB 45            JMP SHORT CRACKME.004011E6
    113. 004011A1   EB 43            JMP SHORT CRACKME.004011E6
    114. 004011A3   EB 41            JMP SHORT CRACKME.004011E6
    115. 004011A5   B8 00000000      MOV EAX,0
    116. 004011AA   EB 3A            JMP SHORT CRACKME.004011E6
    117. 004011AC   8B5D 14          MOV EBX,DWORD PTR SS:[EBP+14]
    118. 004011AF   C743 18 18010000 MOV DWORD PTR DS:[EBX+18],118
    119. 004011B6   C743 1C A0000000 MOV DWORD PTR DS:[EBX+1C],0A0
    120. 004011BD   C743 20 18010000 MOV DWORD PTR DS:[EBX+20],118
    121. 004011C4   C743 24 A0000000 MOV DWORD PTR DS:[EBX+24],0A0
    122. 004011CB   B8 00000000      MOV EAX,0
    123. 004011D0   EB 14            JMP SHORT CRACKME.004011E6
    124. 004011D2   837D 10 67       CMP DWORD PTR SS:[EBP+10],67
    125. 004011D6   74 15            JE SHORT CRACKME.004011ED
    126. 004011D8   837D 10 65       CMP DWORD PTR SS:[EBP+10],65
    127. 004011DC  ^74 B5            JE SHORT CRACKME.00401193
    128. 004011DE   837D 10 66       CMP DWORD PTR SS:[EBP+10],66
    129. 004011E2   74 25            JE SHORT CRACKME.00401209
    130. 004011E4   EB 00            JMP SHORT CRACKME.004011E6
    131. 004011E6   5B               POP EBX
    132. 004011E7   5F               POP EDI
    133. 004011E8   5E               POP ESI
    134. 004011E9   C9               LEAVE
    135. 004011EA   C2 1000          RETN 10
    136. 004011ED   6A 00            PUSH 0
    137. 004011EF   68 0A134000      PUSH CRACKME.0040130A
    138. 004011F4   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    139. 004011F7   68 1F214000      PUSH CRACKME.0040211F                    ; ASCII "DLG_ABOUT"
    140. 004011FC   FF35 CA204000    PUSH DWORD PTR DS:[4020CA]
    141. 00401202   E8 99020000      CALL <JMP.&USER32.DialogBoxParamA>
    142. 00401207  ^EB DD            JMP SHORT CRACKME.004011E6
    143. 00401209   6A 00            PUSH 0
    144. 0040120B   68 53124000      PUSH CRACKME.00401253
    145. 00401210   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    146. 00401213   68 15214000      PUSH CRACKME.00402115                    ; ASCII "DLG_REGIS"
    147. 00401218   FF35 CA204000    PUSH DWORD PTR DS:[4020CA]
    148. 0040121E   E8 7D020000      CALL <JMP.&USER32.DialogBoxParamA>
    149. 00401223   83F8 00          CMP EAX,0
    150. 00401226  ^74 BE            JE SHORT CRACKME.004011E6
    151. 00401228   68 8E214000      PUSH CRACKME.0040218E
    152. 0040122D   E8 4C010000      CALL CRACKME.0040137E
    153. 00401232   50               PUSH EAX
    154. 00401233   68 7E214000      PUSH CRACKME.0040217E
    155. 00401238   E8 9B010000      CALL CRACKME.004013D8
    156. 0040123D   83C4 04          ADD ESP,4
    157. 00401240   58               POP EAX
    158. 00401241   3BC3             CMP EAX,EBX
    159. 00401243   74 07            JE SHORT CRACKME.0040124C
    160. 00401245   E8 18010000      CALL CRACKME.00401362
    161. 0040124A  ^EB 9A            JMP SHORT CRACKME.004011E6
    162. 0040124C   E8 FC000000      CALL CRACKME.0040134D
    163. 00401251  ^EB 93            JMP SHORT CRACKME.004011E6
    164. 00401253   C8 000000        ENTER 0,0
    165. 00401257   53               PUSH EBX
    166. 00401258   56               PUSH ESI
    167. 00401259   57               PUSH EDI
    168. 0040125A   817D 0C 10010000 CMP DWORD PTR SS:[EBP+C],110
    169. 00401261   74 34            JE SHORT CRACKME.00401297
    170. 00401263   817D 0C 11010000 CMP DWORD PTR SS:[EBP+C],111
    171. 0040126A   74 35            JE SHORT CRACKME.004012A1
    172. 0040126C   837D 0C 10       CMP DWORD PTR SS:[EBP+C],10
    173. 00401270   0F84 81000000    JE CRACKME.004012F7
    174. 00401276   817D 0C 01020000 CMP DWORD PTR SS:[EBP+C],201
    175. 0040127D   74 0C            JE SHORT CRACKME.0040128B
    176. 0040127F   B8 00000000      MOV EAX,0
    177. 00401284   5F               POP EDI
    178. 00401285   5E               POP ESI
    179. 00401286   5B               POP EBX
    180. 00401287   C9               LEAVE
    181. 00401288   C2 1000          RETN 10
    182. 0040128B   6A 01            PUSH 1
    183. 0040128D   6A 00            PUSH 0
    184. 0040128F   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    185. 00401292   E8 B5010000      CALL <JMP.&USER32.InvalidateRect>
    186. 00401297   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    187. 0040129A   E8 95010000      CALL <JMP.&USER32.SetFocus>
    188. 0040129F  ^EB E3            JMP SHORT CRACKME.00401284
    189. 004012A1   33C0             XOR EAX,EAX
    190. 004012A3   817D 10 EB030000 CMP DWORD PTR SS:[EBP+10],3EB
    191. 004012AA   74 4B            JE SHORT CRACKME.004012F7
    192. 004012AC   817D 10 EA030000 CMP DWORD PTR SS:[EBP+10],3EA
    193. 004012B3   75 3B            JNZ SHORT CRACKME.004012F0
    194. 004012B5   6A 0B            PUSH 0B
    195. 004012B7   68 8E214000      PUSH CRACKME.0040218E
    196. 004012BC   68 E8030000      PUSH 3E8
    197. 004012C1   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    198. 004012C4   E8 07020000      CALL <JMP.&USER32.GetDlgItemTextA>
    199. 004012C9   83F8 01          CMP EAX,1
    200. 004012CC   C745 10 EB030000 MOV DWORD PTR SS:[EBP+10],3EB
    201. 004012D3  ^72 CC            JB SHORT CRACKME.004012A1
    202. 004012D5   6A 0B            PUSH 0B
    203. 004012D7   68 7E214000      PUSH CRACKME.0040217E
    204. 004012DC   68 E9030000      PUSH 3E9
    205. 004012E1   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    206. 004012E4   E8 E7010000      CALL <JMP.&USER32.GetDlgItemTextA>
    207. 004012E9   B8 01000000      MOV EAX,1
    208. 004012EE   EB 07            JMP SHORT CRACKME.004012F7
    209. 004012F0   B8 00000000      MOV EAX,0
    210. 004012F5  ^EB 8D            JMP SHORT CRACKME.00401284
    211. 004012F7   50               PUSH EAX
    212. 004012F8   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    213. 004012FB   E8 B2010000      CALL <JMP.&USER32.EndDialog>
    214. 00401300   B8 01000000      MOV EAX,1
    215. 00401305  ^E9 7AFFFFFF      JMP CRACKME.00401284
    216. 0040130A   C8 000000        ENTER 0,0
    217. 0040130E   53               PUSH EBX
    218. 0040130F   56               PUSH ESI
    219. 00401310   57               PUSH EDI
    220. 00401311   817D 0C 11010000 CMP DWORD PTR SS:[EBP+C],111
    221. 00401318   74 12            JE SHORT CRACKME.0040132C
    222. 0040131A   837D 0C 10       CMP DWORD PTR SS:[EBP+C],10
    223. 0040131E   74 15            JE SHORT CRACKME.00401335
    224. 00401320   B8 00000000      MOV EAX,0
    225. 00401325   5F               POP EDI
    226. 00401326   5E               POP ESI
    227. 00401327   5B               POP EBX
    228. 00401328   C9               LEAVE
    229. 00401329   C2 1000          RETN 10
    230. 0040132C   817D 10 F2030000 CMP DWORD PTR SS:[EBP+10],3F2
    231. 00401333   75 11            JNZ SHORT CRACKME.00401346
    232. 00401335   6A 00            PUSH 0
    233. 00401337   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    234. 0040133A   E8 73010000      CALL <JMP.&USER32.EndDialog>
    235. 0040133F   B8 01000000      MOV EAX,1
    236. 00401344  ^EB DF            JMP SHORT CRACKME.00401325
    237. 00401346   B8 00000000      MOV EAX,0
    238. 0040134B  ^EB D8            JMP SHORT CRACKME.00401325
    239. 0040134D   6A 30            PUSH 30
    240. 0040134F   68 29214000      PUSH CRACKME.00402129                    ; ASCII "Good work!"
    241. 00401354   68 34214000      PUSH CRACKME.00402134                    ; ASCII "Great work, mate!
    242. Now try the next CrackMe!"
    243. 00401359   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    244. 0040135C   E8 D9000000      CALL <JMP.&USER32.MessageBoxA>
    245. 00401361   C3               RETN
    246. 00401362   6A 00            PUSH 0
    247. 00401364   E8 AD000000      CALL <JMP.&USER32.MessageBeep>
    248. 00401369   6A 30            PUSH 30
    249. 0040136B   68 60214000      PUSH CRACKME.00402160                    ; ASCII "No luck!"
    250. 00401370   68 69214000      PUSH CRACKME.00402169                    ; ASCII "No luck there, mate!"
    251. 00401375   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    252. 00401378   E8 BD000000      CALL <JMP.&USER32.MessageBoxA>
    253. 0040137D   C3               RETN
    254. 0040137E   8B7424 04        MOV ESI,DWORD PTR SS:[ESP+4]
    255. 00401382   56               PUSH ESI
    256. 00401383   8A06             MOV AL,BYTE PTR DS:[ESI]
    257. 00401385   84C0             TEST AL,AL
    258. 00401387   74 13            JE SHORT CRACKME.0040139C
    259. 00401389   3C 41            CMP AL,41
    260. 0040138B   72 1F            JB SHORT CRACKME.004013AC
    261. 0040138D   3C 5A            CMP AL,5A
    262. 0040138F   73 03            JNB SHORT CRACKME.00401394
    263. 00401391   46               INC ESI
    264. 00401392  ^EB EF            JMP SHORT CRACKME.00401383
    265. 00401394   E8 39000000      CALL CRACKME.004013D2
    266. 00401399   46               INC ESI
    267. 0040139A  ^EB E7            JMP SHORT CRACKME.00401383
    268. 0040139C   5E               POP ESI
    269. 0040139D   E8 20000000      CALL CRACKME.004013C2
    270. 004013A2   81F7 78560000    XOR EDI,5678
    271. 004013A8   8BC7             MOV EAX,EDI
    272. 004013AA   EB 15            JMP SHORT CRACKME.004013C1
    273. 004013AC   5E               POP ESI
    274. 004013AD   6A 30            PUSH 30
    275. 004013AF   68 60214000      PUSH CRACKME.00402160                    ; ASCII "No luck!"
    276. 004013B4   68 69214000      PUSH CRACKME.00402169                    ; ASCII "No luck there, mate!"
    277. 004013B9   FF75 08          PUSH DWORD PTR SS:[EBP+8]
    278. 004013BC   E8 79000000      CALL <JMP.&USER32.MessageBoxA>
    279. 004013C1   C3               RETN
    280. 004013C2   33FF             XOR EDI,EDI
    281. 004013C4   33DB             XOR EBX,EBX
    282. 004013C6   8A1E             MOV BL,BYTE PTR DS:[ESI]
    283. 004013C8   84DB             TEST BL,BL
    284. 004013CA   74 05            JE SHORT CRACKME.004013D1
    285. 004013CC   03FB             ADD EDI,EBX
    286. 004013CE   46               INC ESI
    287. 004013CF  ^EB F5            JMP SHORT CRACKME.004013C6
    288. 004013D1   C3               RETN
    289. 004013D2   2C 20            SUB AL,20
    290. 004013D4   8806             MOV BYTE PTR DS:[ESI],AL
    291. 004013D6   C3               RETN
    292. 004013D7   C3               RETN
    293. 004013D8   33C0             XOR EAX,EAX
    294. 004013DA   33FF             XOR EDI,EDI
    295. 004013DC   33DB             XOR EBX,EBX
    296. 004013DE   8B7424 04        MOV ESI,DWORD PTR SS:[ESP+4]
    297. 004013E2   B0 0A            MOV AL,0A
    298. 004013E4   8A1E             MOV BL,BYTE PTR DS:[ESI]
    299. 004013E6   84DB             TEST BL,BL
    300. 004013E8   74 0B            JE SHORT CRACKME.004013F5
    301. 004013EA   80EB 30          SUB BL,30
    302. 004013ED   0FAFF8           IMUL EDI,EAX
    303. 004013F0   03FB             ADD EDI,EBX
    304. 004013F2   46               INC ESI
    305. 004013F3  ^EB ED            JMP SHORT CRACKME.004013E2
    306. 004013F5   81F7 34120000    XOR EDI,1234
    307. 004013FB   8BDF             MOV EBX,EDI
    308. 004013FD   C3               RETN
    309. 004013FE  -FF25 84314000    JMP DWORD PTR DS:[<&USER32.KillTimer>]   ; USER32.KillTimer
    310. 00401404  -FF25 88314000    JMP DWORD PTR DS:[<&USER32.GetSystemMetr>; USER32.GetSystemMetrics
    311. 0040140A  -FF25 8C314000    JMP DWORD PTR DS:[<&USER32.LoadCursorA>] ; USER32.LoadCursorA
    312. 00401410  -FF25 90314000    JMP DWORD PTR DS:[<&USER32.LoadAccelerat>; USER32.LoadAcceleratorsA
    313. 00401416  -FF25 94314000    JMP DWORD PTR DS:[<&USER32.MessageBeep>] ; USER32.MessageBeep
    314. 0040141C  -FF25 98314000    JMP DWORD PTR DS:[<&USER32.GetWindowRect>; USER32.GetWindowRect
    315. 00401422  -FF25 9C314000    JMP DWORD PTR DS:[<&USER32.LoadStringA>] ; USER32.LoadStringA
    316. 00401428  -FF25 A0314000    JMP DWORD PTR DS:[<&USER32.LoadIconA>]   ; USER32.LoadIconA
    317. 0040142E  -FF25 A4314000    JMP DWORD PTR DS:[<&USER32.LoadBitmapA>] ; USER32.LoadBitmapA
    318. 00401434  -FF25 A8314000    JMP DWORD PTR DS:[<&USER32.SetFocus>]    ; USER32.SetFocus
    319. 0040143A  -FF25 AC314000    JMP DWORD PTR DS:[<&USER32.MessageBoxA>] ; USER32.MessageBoxA
    320. 00401440  -FF25 B0314000    JMP DWORD PTR DS:[<&USER32.PostQuitMessa>; USER32.PostQuitMessage
    321. 00401446  -FF25 B4314000    JMP DWORD PTR DS:[<&USER32.WinHelpA>]    ; USER32.WinHelpA
    322. 0040144C  -FF25 B8314000    JMP DWORD PTR DS:[<&USER32.InvalidateRec>; USER32.InvalidateRect
    323. 00401452  -FF25 BC314000    JMP DWORD PTR DS:[<&USER32.TranslateAcce>; USER32.TranslateAcceleratorA
    324. 00401458  -FF25 C0314000    JMP DWORD PTR DS:[<&USER32.MoveWindow>]  ; USER32.MoveWindow
    325. 0040145E  -FF25 C4314000    JMP DWORD PTR DS:[<&USER32.TranslateMess>; USER32.TranslateMessage
    326. 00401464  -FF25 C8314000    JMP DWORD PTR DS:[<&USER32.LoadMenuA>]   ; USER32.LoadMenuA
    327. 0040146A  -FF25 CC314000    JMP DWORD PTR DS:[<&USER32.ShowWindow>]  ; USER32.ShowWindow
    328. 00401470  -FF25 D0314000    JMP DWORD PTR DS:[<&USER32.SendMessageA>>; USER32.SendMessageA
    329. 00401476  -FF25 D4314000    JMP DWORD PTR DS:[<&USER32.SetTimer>]    ; USER32.SetTimer
    330. 0040147C  -FF25 D8314000    JMP DWORD PTR DS:[<&USER32.SetWindowPos>>; USER32.SetWindowPos
    331. 00401482  -FF25 DC314000    JMP DWORD PTR DS:[<&USER32.UpdateWindow>>; USER32.UpdateWindow
    332. 00401488  -FF25 E0314000    JMP DWORD PTR DS:[<&USER32.RegisterClass>; USER32.RegisterClassA
    333. 0040148E  -FF25 E4314000    JMP DWORD PTR DS:[<&USER32.BeginPaint>]  ; USER32.BeginPaint
    334. 00401494  -FF25 E8314000    JMP DWORD PTR DS:[<&USER32.CreateWindowE>; USER32.CreateWindowExA
    335. 0040149A  -FF25 EC314000    JMP DWORD PTR DS:[<&USER32.DefWindowProc>; USER32.DefWindowProcA
    336. 004014A0  -FF25 F0314000    JMP DWORD PTR DS:[<&USER32.DialogBoxPara>; USER32.DialogBoxParamA
    337. 004014A6  -FF25 F4314000    JMP DWORD PTR DS:[<&USER32.DispatchMessa>; USER32.DispatchMessageA
    338. 004014AC  -FF25 F8314000    JMP DWORD PTR DS:[<&USER32.DrawMenuBar>] ; USER32.DrawMenuBar
    339. 004014B2  -FF25 FC314000    JMP DWORD PTR DS:[<&USER32.EndDialog>]   ; USER32.EndDialog
    340. 004014B8  -FF25 00324000    JMP DWORD PTR DS:[<&USER32.EndPaint>]    ; USER32.EndPaint
    341. 004014BE  -FF25 04324000    JMP DWORD PTR DS:[<&USER32.FindWindowA>] ; USER32.FindWindowA
    342. 004014C4  -FF25 08324000    JMP DWORD PTR DS:[<&USER32.GetDC>]       ; USER32.GetDC
    343. 004014CA  -FF25 0C324000    JMP DWORD PTR DS:[<&USER32.GetDlgItem>]  ; USER32.GetDlgItem
    344. 004014D0  -FF25 10324000    JMP DWORD PTR DS:[<&USER32.GetDlgItemTex>; USER32.GetDlgItemTextA
    345. 004014D6  -FF25 14324000    JMP DWORD PTR DS:[<&USER32.GetMessageA>] ; USER32.GetMessageA
    346. 004014DC  -FF25 1C324000    JMP DWORD PTR DS:[<&KERNEL32.GetLocalTim>; kernel32.GetLocalTime
    347. 004014E2  -FF25 20324000    JMP DWORD PTR DS:[<&KERNEL32.OpenFile>]  ; kernel32.OpenFile
    348. 004014E8  -FF25 24324000    JMP DWORD PTR DS:[<&KERNEL32.GlobalFree>>; kernel32.GlobalFree
    349. 004014EE  -FF25 28324000    JMP DWORD PTR DS:[<&KERNEL32.GlobalAlloc>; kernel32.GlobalAlloc
    350. 004014F4  -FF25 2C324000    JMP DWORD PTR DS:[<&KERNEL32.lstrlen>]   ; kernel32.lstrlenA
    351. 004014FA  -FF25 30324000    JMP DWORD PTR DS:[<&KERNEL32.CloseHandle>; kernel32.CloseHandle
    352. 00401500  -FF25 34324000    JMP DWORD PTR DS:[<&KERNEL32.WriteFile>] ; kernel32.WriteFile
    353. 00401506  -FF25 38324000    JMP DWORD PTR DS:[<&KERNEL32.GetModuleHa>; kernel32.GetModuleHandleA
    354. 0040150C  -FF25 3C324000    JMP DWORD PTR DS:[<&KERNEL32.ReadFile>]  ; kernel32.ReadFile
    355. 00401512  -FF25 40324000    JMP DWORD PTR DS:[<&KERNEL32.ExitProcess>; kernel32.ExitProcess
    356. 00401518  -FF25 48324000    JMP DWORD PTR DS:[<&COMCTL32.InitCommonC>; COMCTL32.InitCommonControls
    357. 0040151E  -FF25 4C324000    JMP DWORD PTR DS:[<&COMCTL32.CreateToolb>; COMCTL32.CreateToolbarEx
    358. 00401524  -FF25 50324000    JMP DWORD PTR DS:[<&COMCTL32.CreateToolb>; COMCTL32.CreateToolbar
    359. 0040152A  -FF25 58324000    JMP DWORD PTR DS:[<&GDI32.TextOutA>]     ; GDI32.TextOutA
    360. 00401530  -FF25 5C324000    JMP DWORD PTR DS:[<&GDI32.StartPage>]    ; GDI32.StartPage
    361. 00401536  -FF25 60324000    JMP DWORD PTR DS:[<&GDI32.StartDocA>]    ; GDI32.StartDocA
    362. 0040153C  -FF25 64324000    JMP DWORD PTR DS:[<&GDI32.GetTextMetrics>; GDI32.GetTextMetricsA
    363. 00401542  -FF25 68324000    JMP DWORD PTR DS:[<&GDI32.GetStockObject>; GDI32.GetStockObject
    364. 00401548  -FF25 6C324000    JMP DWORD PTR DS:[<&GDI32.EndPage>]      ; GDI32.EndPage
    365. 0040154E  -FF25 70324000    JMP DWORD PTR DS:[<&GDI32.EndDoc>]       ; GDI32.EndDoc
    366. 00401554  -FF25 74324000    JMP DWORD PTR DS:[<&GDI32.DeleteObject>] ; GDI32.DeleteObject
    367. 0040155A  -FF25 78324000    JMP DWORD PTR DS:[<&GDI32.DeleteDC>]     ; GDI32.DeleteDC
    368. 00401560  -FF25 80324000    JMP DWORD PTR DS:[<&COMDLG32.GetSaveFile>; COMDLG32.GetSaveFileNameA
    369. 00401566  -FF25 84324000    JMP DWORD PTR DS:[<&COMDLG32.GetOpenFile>; COMDLG32.GetOpenFileNameA
    370. 0040156C  -FF25 88324000    JMP DWORD PTR DS:[<&COMDLG32.PrintDlgA>] ; COMDLG32.PrintDlgA
    Ах да, вот еще что - внизу при открытии программ пишет Access violation when read [0000000C] - use Shift+F7/F8/F9 to pass exception to programm. Может это имеет значение ?
     
  4. axe_roma

    axe_roma New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2004
    Сообщения:
    93
    Адрес:
    Russia
    сюдя по коду при нажатии F7 один раз ты перейдешь на
    Код (Text):
    1. 00401002   E8 FF040000      CALL <JMP.&KERNEL32.GetModuleHandleA>
    все должно нормально работать
     
  5. fromtheinside

    fromtheinside New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    5
    Угу, вот и я так думаю, но после нажатия Ф7 у меня код меняется на следующий:
    Код (Text):
    1. 02350000   68 00003502      PUSH 2350000
    2. 02350005   E8 AE05FFFF      CALL 023405B8
    3. 0235000A   B8 00000000      MOV EAX,0
    4. 0235000F   BB 0070FD7F      MOV EBX,7FFD7000
    5. 02350014   B9 B0FF1200      MOV ECX,12FFB0
    6. 02350019   BA 94EB907C      MOV EDX,ntdll.KiFastSystemCallRet
    7. 0235001E   BE FFFFFFFF      MOV ESI,-1
    8. 02350023   BF 3807917C      MOV EDI,7C910738
    9. 02350028   BD F0FF1200      MOV EBP,12FFF0
    10. 0235002D   BC C4FF1200      MOV ESP,12FFC4
    11. 02350032  -E9 C90F0BFE      JMP CRACKME.<ModuleEntryPoint>
    12. 02350037   0000             ADD BYTE PTR DS:[EAX],AL
    13. 02350039   0000             ADD BYTE PTR DS:[EAX],AL
    14. 0235003B   0000             ADD BYTE PTR DS:[EAX],AL
    15. 0235003D   001400           ADD BYTE PTR DS:[EAX+EAX],DL
    16. 02350040   43               INC EBX
    17. 02350041   3A5C57 49        CMP BL,BYTE PTR DS:[EDI+EDX*2+49]
    18. 02350045   4E               DEC ESI
    19. 02350046   44               INC ESP
    20. 02350047   4F               DEC EDI
    21. 02350048   57               PUSH EDI
    22. 02350049   53               PUSH EBX
    23. 0235004A   5C               POP ESP
    24. 0235004B   73 79            JNB SHORT 023500C6
    25. 0235004D   73 74            JNB SHORT 023500C3
    26. 0235004F   65:6D            INS DWORD PTR ES:[EDI],DX                ; I/O command
    27. 02350051   3332             XOR ESI,DWORD PTR DS:[EDX]
    28. 02350053   5C               POP ESP
    29. 02350054   6B647A 71 78     IMUL ESP,DWORD PTR DS:[EDX+EDI*2+71],78
    30. 02350059   2E:              PREFIX CS:                               ; Superfluous prefix
    31. 0235005A   65:78 65         JS SHORT 023500C2                        ; Superfluous prefix
     
  6. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    fromtheinside трасируй с заходом в функцию, только внутренние процедуру, не надо заходить в API функции.

    00401002 - адрес был такой 1002 + ImageBase(400000)
    02350000 - стал другой, системной библиотеки
     
  7. fromtheinside

    fromtheinside New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    5
    Эм.... а как это делается =) ? Нужно в настройках дебаггера что-то менять или как ? JCronuz, если не сложно, объясни более подробно, я еще знаком не со всеми тонкостями этого дела.
     
  8. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Конечно имеет ;) но только комада push 0 не может сгенерировать такое исключение ;)
    Вообще-то Ольку имхо лучше осваивать на проге собственного сочинения а-ля MessageBox ;)
    сам выбираешь где нажать F7, а где F8.
     
  9. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Продолжай читать Рикардо Нарваху и больше проводи времени в отладчике и все придет ;)
     
  10. fromtheinside

    fromtheinside New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2008
    Сообщения:
    5
    Спасибо добрые люди, буду разбираться =)
     
  11. trr

    trr New Member

    Публикаций:
    0
    Регистрация:
    26 дек 2006
    Сообщения:
    52
    Зацените, кейген к этому crackme:
    http://wasm.ru/forum/attachment.php?item=2532