Поиск алгоритма генерации ключа

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

  1. romoga

    romoga New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    20
    Доброго здравия всем. Имеется кейген. Распаковал, открыл в ида. Нашел участок где генерируется ключ в зависимости от введенных данных, но неману с ним совладать. Код в любом случаее в отимизированном виде. Как переделать в обычный ? Что Посоветуете ??
     
  2. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    romoga
    Дык возьми его в виде ассемблерной вставки.
     
  3. romoga

    romoga New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    20
    Код (Text):
    1. proc near               ; CODE XREF: sub_406442+Cp
    2. .rdata:00408270                                         ; sub_40C633+11Dp ...
    3. .rdata:00408270
    4. .rdata:00408270 arg_0           = dword ptr  8
    5. .rdata:00408270 arg_4           = dword ptr  0Ch
    6. .rdata:00408270 arg_8           = dword ptr  10h
    7. .rdata:00408270
    8. .rdata:00408270                 push    ebp
    9. .rdata:00408271                 mov     ebp, esp
    10. .rdata:00408273                 push    edi
    11. .rdata:00408274                 push    esi
    12. .rdata:00408275                 mov     esi, [ebp+arg_4]
    13. .rdata:00408278                 mov     ecx, [ebp+arg_8]
    14. .rdata:0040827B                 mov     edi, [ebp+arg_0]
    15. .rdata:0040827E                 mov     eax, ecx
    16. .rdata:00408280                 mov     edx, ecx
    17. .rdata:00408282                 add     eax, esi
    18. .rdata:00408284                 cmp     edi, esi
    19. .rdata:00408286                 jbe     short loc_408290
    20. .rdata:00408288                 cmp     edi, eax
    21. .rdata:0040828A                 jb      loc_408434
    22. .rdata:00408290
    23. .rdata:00408290 loc_408290:                             ; CODE XREF: sub_408270+16j
    24. .rdata:00408290                 cmp     ecx, 100h
    25. .rdata:00408296                 jb      short loc_4082B7
    26. .rdata:00408298                 cmp     dword_410E28, 0
    27. .rdata:0040829F                 jz      short loc_4082B7
    28. .rdata:004082A1                 push    edi
    29. .rdata:004082A2                 push    esi
    30. .rdata:004082A3                 and     edi, 0Fh
    31. .rdata:004082A6                 and     esi, 0Fh
    32. .rdata:004082A9                 cmp     edi, esi
    33. .rdata:004082AB                 pop     esi
    34. .rdata:004082AC                 pop     edi
    35. .rdata:004082AD                 jnz     short loc_4082B7
    36. .rdata:004082AF                 pop     esi
    37. .rdata:004082B0                 pop     edi
    38. .rdata:004082B1                 pop     ebp
    39. .rdata:004082B2                 jmp     sub_40B51D
    40. .rdata:004082B7 ; ---------------------------------------------------------------------------
    41. .rdata:004082B7
    42. .rdata:004082B7 loc_4082B7:                             ; CODE XREF: sub_408270+26j
    43. .rdata:004082B7                                         ; sub_408270+2Fj ...
    44. .rdata:004082B7                 test    edi, 3
    45. .rdata:004082BD                 jnz     short loc_4082D4
    46. .rdata:004082BF                 shr     ecx, 2
    47. .rdata:004082C2                 and     edx, 3
    48. .rdata:004082C5                 cmp     ecx, 8
    49. .rdata:004082C8                 jb      short loc_4082F4
    50. .rdata:004082CA                 rep movsd
    51. .rdata:004082CC                 jmp     off_4083E4[edx*4]
    52. .rdata:004082CC ; ---------------------------------------------------------------------------
    53. .rdata:004082D3                 align 4
    54. .rdata:004082D4
    55. .rdata:004082D4 loc_4082D4:                             ; CODE XREF: sub_408270+4Dj
    56. .rdata:004082D4                 mov     eax, edi
    57. .rdata:004082D6                 mov     edx, 3
    58. .rdata:004082DB                 sub     ecx, 4
    59. .rdata:004082DE                 jb      short loc_4082EC
    60. .rdata:004082E0                 and     eax, 3
    61. .rdata:004082E3                 add     ecx, eax
    62. .rdata:004082E5                 jmp     dword ptr loc_4082F4+4[eax*4]
    63. .rdata:004082EC ; ---------------------------------------------------------------------------
    64. .rdata:004082EC
    65. .rdata:004082EC loc_4082EC:                             ; CODE XREF: sub_408270+6Ej
    66. .rdata:004082EC                 jmp     dword ptr loc_4083F4[ecx*4]
    67. .rdata:004082EC ; ---------------------------------------------------------------------------
    68. .rdata:004082F3                 align 4
    69. .rdata:004082F4
    70. .rdata:004082F4 loc_4082F4:                             ; CODE XREF: sub_408270+58j
    71. .rdata:004082F4                                         ; sub_408270+B6j ...
    72. .rdata:004082F4                 jmp     off_408378[ecx*4]
    73. .rdata:004082F4 ; ---------------------------------------------------------------------------
    74. .rdata:004082FB                 align 4
    75. .rdata:004082FC                 dd offset loc_408308
    76. .rdata:00408300                 dd offset loc_408334
    77. .rdata:00408304                 dd offset loc_408358
    78. .rdata:00408308 ; ---------------------------------------------------------------------------
    79. .rdata:00408308
    80. .rdata:00408308 loc_408308:                             ; DATA XREF: sub_408270+8Co
    81. .rdata:00408308                 and     edx, ecx
    82. .rdata:0040830A                 mov     al, [esi]
    83. .rdata:0040830C                 mov     [edi], al
    84. .rdata:0040830E                 mov     al, [esi+1]
    85. .rdata:00408311                 mov     [edi+1], al
    86. .rdata:00408314                 mov     al, [esi+2]
    87. .rdata:00408317                 shr     ecx, 2
    88. .rdata:0040831A                 mov     [edi+2], al
    89. .rdata:0040831D                 add     esi, 3
    90. .rdata:00408320                 add     edi, 3
    91. .rdata:00408323                 cmp     ecx, 8
    92. .rdata:00408326                 jb      short loc_4082F4
    93. .rdata:00408328                 rep movsd
    94. .rdata:0040832A                 jmp     off_4083E4[edx*4]
    95. .rdata:0040832A ; ---------------------------------------------------------------------------
    96. .rdata:00408331                 align 4
    97. .rdata:00408334
    98. .rdata:00408334 loc_408334:                             ; DATA XREF: sub_408270+90o
    99. .rdata:00408334                 and     edx, ecx
    100. .rdata:00408336                 mov     al, [esi]
    101. .rdata:00408338                 mov     [edi], al
    102. .rdata:0040833A                 mov     al, [esi+1]
    103. .rdata:0040833D                 shr     ecx, 2
    104. .rdata:00408340                 mov     [edi+1], al
    105. .rdata:00408343                 add     esi, 2
    106. .rdata:00408346                 add     edi, 2
    107. .rdata:00408349                 cmp     ecx, 8
    108. .rdata:0040834C                 jb      short loc_4082F4
    109. .rdata:0040834E                 rep movsd
    110. .rdata:00408350                 jmp     off_4083E4[edx*4]
    111. .rdata:00408350 ; ---------------------------------------------------------------------------
    112. .rdata:00408357                 align 4
    113. .rdata:00408358
    114. .rdata:00408358 loc_408358:                             ; DATA XREF: sub_408270+94o
    115. .rdata:00408358                 and     edx, ecx
    116. .rdata:0040835A                 mov     al, [esi]
    117. .rdata:0040835C                 mov     [edi], al
    118. .rdata:0040835E                 add     esi, 1
    119. .rdata:00408361                 shr     ecx, 2
    120. .rdata:00408364                 add     edi, 1
    121. .rdata:00408367                 cmp     ecx, 8
    122. .rdata:0040836A                 jb      short loc_4082F4
    123. .rdata:0040836C                 rep movsd
    124. .rdata:0040836E                 jmp     off_4083E4[edx*4]
    125. .rdata:0040836E ; ---------------------------------------------------------------------------
    126. .rdata:00408375                 align 4
    127. .rdata:00408378 off_408378      dd offset loc_4083DB    ; DATA XREF: sub_408270:loc_4082F4r
    128. .rdata:0040837C                 dd offset loc_4083C8
    129. .rdata:00408380                 dd offset loc_4083C0
    130. .rdata:00408384                 dd offset loc_4083B8
    131. .rdata:00408388                 dd offset loc_4083B0
    132. .rdata:0040838C                 dd offset loc_4083A8
    133. .rdata:00408390                 dd offset loc_4083A0
    134. .rdata:00408394                 dd offset loc_408398
    135. .rdata:00408398 ; ---------------------------------------------------------------------------
    136. .rdata:00408398
    137. .rdata:00408398 loc_408398:                             ; CODE XREF: sub_408270:loc_4082F4j
    138. .rdata:00408398                                         ; DATA XREF: sub_408270+124o
    139. .rdata:00408398                 mov     eax, [esi+ecx*4-1Ch]
    140. .rdata:0040839C                 mov     [edi+ecx*4-1Ch], eax
    141. .rdata:004083A0
    142. .rdata:004083A0 loc_4083A0:                             ; CODE XREF: sub_408270:loc_4082F4j
    143. .rdata:004083A0                                         ; DATA XREF: sub_408270+120o
    144. .rdata:004083A0                 mov     eax, [esi+ecx*4-18h]
    145. .rdata:004083A4                 mov     [edi+ecx*4-18h], eax
    146. .rdata:004083A8
    147. .rdata:004083A8 loc_4083A8:                             ; CODE XREF: sub_408270:loc_4082F4j
    148. .rdata:004083A8                                         ; DATA XREF: sub_408270+11Co
    149. .rdata:004083A8                 mov     eax, [esi+ecx*4-14h]
    150. .rdata:004083AC                 mov     [edi+ecx*4-14h], eax
    151. .rdata:004083B0
    152. .rdata:004083B0 loc_4083B0:                             ; CODE XREF: sub_408270:loc_4082F4j
    153. .rdata:004083B0                                         ; DATA XREF: sub_408270+118o
    154. .rdata:004083B0                 mov     eax, [esi+ecx*4-10h]
    155. .rdata:004083B4                 mov     [edi+ecx*4-10h], eax
    156. .rdata:004083B8
    157. .rdata:004083B8 loc_4083B8:                             ; CODE XREF: sub_408270:loc_4082F4j
    158. .rdata:004083B8                                         ; DATA XREF: sub_408270+114o
    159. .rdata:004083B8                 mov     eax, [esi+ecx*4-0Ch]
    160. .rdata:004083BC                 mov     [edi+ecx*4-0Ch], eax
    161. .rdata:004083C0
    162. .rdata:004083C0 loc_4083C0:                             ; CODE XREF: sub_408270:loc_4082F4j
    163. .rdata:004083C0                                         ; DATA XREF: sub_408270+110o
    164. .rdata:004083C0                 mov     eax, [esi+ecx*4-8]
    165. .rdata:004083C4                 mov     [edi+ecx*4-8], eax
    166. .rdata:004083C8
    167. .rdata:004083C8 loc_4083C8:                             ; CODE XREF: sub_408270:loc_4082F4j
    168. .rdata:004083C8                                         ; DATA XREF: sub_408270+10Co
    169. .rdata:004083C8                 mov     eax, [esi+ecx*4-4]
    170. .rdata:004083CC                 mov     [edi+ecx*4-4], eax
    171. .rdata:004083D0                 lea     eax, ds:0[ecx*4]
    172. .rdata:004083D7                 add     esi, eax
    173. .rdata:004083D9                 add     edi, eax
    174. .rdata:004083DB
    175. .rdata:004083DB loc_4083DB:                             ; CODE XREF: sub_408270:loc_4082F4j
    176. .rdata:004083DB                                         ; DATA XREF: sub_408270:off_408378o
    177. .rdata:004083DB                 jmp     off_4083E4[edx*4]
    178. .rdata:004083DB ; ---------------------------------------------------------------------------
    179. .rdata:004083E2                 align 4
    180. .rdata:004083E4 off_4083E4      dd offset loc_4083F4    ; DATA XREF: sub_408270+5Cr
    181. .rdata:004083E4                                         ; sub_408270+BAr ...
    182. .rdata:004083E8                 dd offset loc_4083FC
    183. .rdata:004083EC                 dd offset loc_408408
    184. .rdata:004083F0                 dd offset loc_40841C
    185. .rdata:004083F4 ; ---------------------------------------------------------------------------
    186. .rdata:004083F4
    187. .rdata:004083F4 loc_4083F4:                             ; CODE XREF: sub_408270+5Cj
    188. .rdata:004083F4                                         ; sub_408270+BAj ...
    189. .rdata:004083F4                 mov     eax, [ebp+arg_0]
    190. .rdata:004083F7                 pop     esi
    191. .rdata:004083F8                 pop     edi
    192. .rdata:004083F9                 leave
    193. .rdata:004083FA                 retn
    194. .rdata:004083FA ; ---------------------------------------------------------------------------
    195. .rdata:004083FB                 align 4
    196. .rdata:004083FC
    197. .rdata:004083FC loc_4083FC:                             ; CODE XREF: sub_408270+5Cj
    198. .rdata:004083FC                                         ; sub_408270+BAj ...
    199. .rdata:004083FC                 mov     al, [esi]
    200. .rdata:004083FE                 mov     [edi], al
    201. .rdata:00408400                 mov     eax, [ebp+arg_0]
    202. .rdata:00408403                 pop     esi
    203. .rdata:00408404                 pop     edi
    204. .rdata:00408405                 leave
    205. .rdata:00408406                 retn
    206. .rdata:00408406 ; ---------------------------------------------------------------------------
    207. .rdata:00408407                 align 4
    208. .rdata:00408408
    209. .rdata:00408408 loc_408408:                             ; CODE XREF: sub_408270+5Cj
    210. .rdata:00408408                                         ; sub_408270+BAj ...
    211. .rdata:00408408                 mov     al, [esi]
    212. .rdata:0040840A                 mov     [edi], al
    213. .rdata:0040840C                 mov     al, [esi+1]
    214. .rdata:0040840F                 mov     [edi+1], al
    215. .rdata:00408412                 mov     eax, [ebp+arg_0]
    216. .rdata:00408415                 pop     esi
    217. .rdata:00408416                 pop     edi
    218. .rdata:00408417                 leave
    219. .rdata:00408418                 retn
    220. .rdata:00408418 ; ---------------------------------------------------------------------------
    221. .rdata:00408419                 align 4
    222. .rdata:0040841C
    223. .rdata:0040841C loc_40841C:                             ; CODE XREF: sub_408270+5Cj
    224. .rdata:0040841C                                         ; sub_408270+BAj ...
    225. .rdata:0040841C                 mov     al, [esi]
    226. .rdata:0040841E                 mov     [edi], al
    227. .rdata:00408420                 mov     al, [esi+1]
    228. .rdata:00408423                 mov     [edi+1], al
    229. .rdata:00408426                 mov     al, [esi+2]
    230. .rdata:00408429                 mov     [edi+2], al
    231. .rdata:0040842C                 mov     eax, [ebp+arg_0]
    232. .rdata:0040842F                 pop     esi
    233. .rdata:00408430                 pop     edi
    234. .rdata:00408431                 leave
    235. .rdata:00408432                 retn
    236. .rdata:00408432 ; ---------------------------------------------------------------------------
    237. .rdata:00408433                 align 4
    238. .rdata:00408434
    239. .rdata:00408434 loc_408434:                             ; CODE XREF: sub_408270+1Aj
    240. .rdata:00408434                 lea     esi, [ecx+esi-4]
    241. .rdata:00408438                 lea     edi, [ecx+edi-4]
    242. .rdata:0040843C                 test    edi, 3
    243. .rdata:00408442                 jnz     short loc_408468
    244. .rdata:00408444                 shr     ecx, 2
    245. .rdata:00408447                 and     edx, 3
    246. .rdata:0040844A                 cmp     ecx, 8
    247. .rdata:0040844D                 jb      short loc_40845C
    248. .rdata:0040844F                 std
    249. .rdata:00408450                 rep movsd
    250. .rdata:00408452                 cld
    251. .rdata:00408453                 jmp     off_408580[edx*4]
    252. .rdata:00408453 ; ---------------------------------------------------------------------------
    253. .rdata:0040845A                 align 4
    254. .rdata:0040845C
    255. .rdata:0040845C loc_40845C:                             ; CODE XREF: sub_408270+1DDj
    256. .rdata:0040845C                                         ; sub_408270+238j ...
    257. .rdata:0040845C                 neg     ecx
    258. .rdata:0040845E                 jmp     off_408530[ecx*4]
    259. .rdata:0040845E ; ---------------------------------------------------------------------------
    260. .rdata:00408465                 align 4
    261. .rdata:00408468
    262. .rdata:00408468 loc_408468:                             ; CODE XREF: sub_408270+1D2j
    263. .rdata:00408468                 mov     eax, edi
    264. .rdata:0040846A                 mov     edx, 3
    265. .rdata:0040846F                 cmp     ecx, 4
    266. .rdata:00408472                 jb      short loc_408480
    267. .rdata:00408474                 and     eax, 3
    268. .rdata:00408477                 sub     ecx, eax
    269. .rdata:00408479                 jmp     dword ptr loc_408480+4[eax*4]
    270. .rdata:00408480 ; ---------------------------------------------------------------------------
    271. .rdata:00408480
    272. .rdata:00408480 loc_408480:                             ; CODE XREF: sub_408270+202j
    273. .rdata:00408480                                         ; DATA XREF: sub_408270+209r
    274. .rdata:00408480                 jmp     off_408580[ecx*4]
    275. .rdata:00408480 ; ---------------------------------------------------------------------------
    276. .rdata:00408487                 align 4
    277. .rdata:00408488                 xchg    eax, esp
    278. .rdata:00408489                 test    [eax+0], al
    279. .rdata:0040848C                 mov     eax, 0E0004084h
    280. .rdata:00408491                 test    [eax+0], al
    281. .rdata:00408494                 mov     al, [esi+3]
    282. .rdata:00408497                 and     edx, ecx
    283. .rdata:00408499                 mov     [edi+3], al
    284. .rdata:0040849C                 sub     esi, 1
    285. .rdata:0040849F                 shr     ecx, 2
    286. .rdata:004084A2                 sub     edi, 1
    287. .rdata:004084A5                 cmp     ecx, 8
    288. .rdata:004084A8                 jb      short loc_40845C
    289. .rdata:004084AA                 std
    290. .rdata:004084AB                 rep movsd
    291. .rdata:004084AD                 cld
    292. .rdata:004084AE                 jmp     off_408580[edx*4]
    293. .rdata:004084AE ; ---------------------------------------------------------------------------
    294. .rdata:004084B5                 align 4
    295. .rdata:004084B8                 mov     al, [esi+3]
    296. .rdata:004084BB                 and     edx, ecx
    297. .rdata:004084BD                 mov     [edi+3], al
    298. .rdata:004084C0                 mov     al, [esi+2]
    299. .rdata:004084C3                 shr     ecx, 2
    300. .rdata:004084C6                 mov     [edi+2], al
    301. .rdata:004084C9                 sub     esi, 2
    302. .rdata:004084CC                 sub     edi, 2
    303. .rdata:004084CF                 cmp     ecx, 8
    304. .rdata:004084D2                 jb      short loc_40845C
    305. .rdata:004084D4                 std
    306. .rdata:004084D5                 rep movsd
    307. .rdata:004084D7                 cld
    308. .rdata:004084D8                 jmp     off_408580[edx*4]
    309. .rdata:004084D8 ; ---------------------------------------------------------------------------
    310. .rdata:004084DF                 align 10h
    311. .rdata:004084E0                 mov     al, [esi+3]
    312. .rdata:004084E3                 and     edx, ecx
    313. .rdata:004084E5                 mov     [edi+3], al
    314. .rdata:004084E8                 mov     al, [esi+2]
    315. .rdata:004084EB                 mov     [edi+2], al
    316. .rdata:004084EE                 mov     al, [esi+1]
    317. .rdata:004084F1                 shr     ecx, 2
    318. .rdata:004084F4                 mov     [edi+1], al
    319. .rdata:004084F7                 sub     esi, 3
    320. .rdata:004084FA                 sub     edi, 3
    321. .rdata:004084FD                 cmp     ecx, 8
    322. .rdata:00408500                 jb      loc_40845C
    323. .rdata:00408506                 std
    324. .rdata:00408507                 rep movsd
    325. .rdata:00408509                 cld
    326. .rdata:0040850A                 jmp     off_408580[edx*4]
    327. .rdata:0040850A ; ---------------------------------------------------------------------------
    328. .rdata:00408511                 align 4
    329. .rdata:00408514                 dd offset loc_408534
    330. .rdata:00408518                 dd offset loc_40853C
    331. .rdata:0040851C                 dd offset loc_408544
    332. .rdata:00408520                 dd offset loc_40854C
    333. .rdata:00408524                 dd offset loc_408554
    334. .rdata:00408528                 dd offset loc_40855C
    335. .rdata:0040852C                 dd offset loc_408564
    336. .rdata:00408530 off_408530      dd offset loc_408577    ; DATA XREF: sub_408270+1EEr
    337. .rdata:00408534 ; ---------------------------------------------------------------------------
    338. .rdata:00408534
    339. .rdata:00408534 loc_408534:                             ; DATA XREF: sub_408270+2A4o
    340. .rdata:00408534                 mov     eax, [esi+ecx*4+1Ch]
    341. .rdata:00408538                 mov     [edi+ecx*4+1Ch], eax
    342. .rdata:0040853C
    343. .rdata:0040853C loc_40853C:                             ; DATA XREF: sub_408270+2A8o
    344. .rdata:0040853C                 mov     eax, [esi+ecx*4+18h]
    345. .rdata:00408540                 mov     [edi+ecx*4+18h], eax
    346. .rdata:00408544
    347. .rdata:00408544 loc_408544:                             ; DATA XREF: sub_408270+2ACo
    348. .rdata:00408544                 mov     eax, [esi+ecx*4+14h]
    349. .rdata:00408548                 mov     [edi+ecx*4+14h], eax
    350. .rdata:0040854C
    351. .rdata:0040854C loc_40854C:                             ; DATA XREF: sub_408270+2B0o
    352. .rdata:0040854C                 mov     eax, [esi+ecx*4+10h]
    353. .rdata:00408550                 mov     [edi+ecx*4+10h], eax
    354. .rdata:00408554
    355. .rdata:00408554 loc_408554:                             ; DATA XREF: sub_408270+2B4o
    356. .rdata:00408554                 mov     eax, [esi+ecx*4+0Ch]
    357. .rdata:00408558                 mov     [edi+ecx*4+0Ch], eax
    358. .rdata:0040855C
    359. .rdata:0040855C loc_40855C:                             ; DATA XREF: sub_408270+2B8o
    360. .rdata:0040855C                 mov     eax, [esi+ecx*4+8]
    361. .rdata:00408560                 mov     [edi+ecx*4+8], eax
    362. .rdata:00408564
    363. .rdata:00408564 loc_408564:                             ; DATA XREF: sub_408270+2BCo
    364. .rdata:00408564                 mov     eax, [esi+ecx*4+4]
    365. .rdata:00408568                 mov     [edi+ecx*4+4], eax
    366. .rdata:0040856C                 lea     eax, ds:0[ecx*4]
    367. .rdata:00408573                 add     esi, eax
    368. .rdata:00408575                 add     edi, eax
    369. .rdata:00408577
    370. .rdata:00408577 loc_408577:                             ; CODE XREF: sub_408270+1EEj
    371. .rdata:00408577                                         ; DATA XREF: sub_408270:off_408530o
    372. .rdata:00408577                 jmp     off_408580[edx*4]
    373. .rdata:00408577 ; ---------------------------------------------------------------------------
    374. .rdata:0040857E                 align 10h
    375. .rdata:00408580 off_408580      dd offset loc_408590    ; DATA XREF: sub_408270+1E3r
    376. .rdata:00408580                                         ; sub_408270:loc_408480r ...
    377. .rdata:00408584                 dd offset loc_408598
    378. .rdata:00408588                 dd offset loc_4085A8
    379. .rdata:0040858C                 dd offset loc_4085BC
    380. .rdata:00408590 ; ---------------------------------------------------------------------------
    381. .rdata:00408590
    382. .rdata:00408590 loc_408590:                             ; CODE XREF: sub_408270+1E3j
    383. .rdata:00408590                                         ; sub_408270:loc_408480j ...
    384. .rdata:00408590                 mov     eax, [ebp+arg_0]
    385. .rdata:00408593                 pop     esi
    386. .rdata:00408594                 pop     edi
    387. .rdata:00408595                 leave
    388. .rdata:00408596                 retn
    389. .rdata:00408596 ; ---------------------------------------------------------------------------
    390. .rdata:00408597                 align 4
    391. .rdata:00408598
    392. .rdata:00408598 loc_408598:                             ; CODE XREF: sub_408270+1E3j
    393. .rdata:00408598                                         ; sub_408270:loc_408480j ...
    394. .rdata:00408598                 mov     al, [esi+3]
    395. .rdata:0040859B                 mov     [edi+3], al
    396. .rdata:0040859E                 mov     eax, [ebp+arg_0]
    397. .rdata:004085A1                 pop     esi
    398. .rdata:004085A2                 pop     edi
    399. .rdata:004085A3                 leave
    400. .rdata:004085A4                 retn
    401. .rdata:004085A4 ; ---------------------------------------------------------------------------
    402. .rdata:004085A5                 align 4
    403. .rdata:004085A8
    404. .rdata:004085A8 loc_4085A8:                             ; CODE XREF: sub_408270+1E3j
    405. .rdata:004085A8                                         ; sub_408270:loc_408480j ...
    406. .rdata:004085A8                 mov     al, [esi+3]
    407. .rdata:004085AB                 mov     [edi+3], al
    408. .rdata:004085AE                 mov     al, [esi+2]
    409. .rdata:004085B1                 mov     [edi+2], al
    410. .rdata:004085B4                 mov     eax, [ebp+arg_0]
    411. .rdata:004085B7                 pop     esi
    412. .rdata:004085B8                 pop     edi
    413. .rdata:004085B9                 leave
    414. .rdata:004085BA                 retn
    415. .rdata:004085BA ; ---------------------------------------------------------------------------
    416. .rdata:004085BB                 align 4
    417. .rdata:004085BC
    418. .rdata:004085BC loc_4085BC:                             ; CODE XREF: sub_408270+1E3j
    419. .rdata:004085BC                                         ; sub_408270:loc_408480j ...
    420. .rdata:004085BC                 mov     al, [esi+3]
    421. .rdata:004085BF                 mov     [edi+3], al
    422. .rdata:004085C2                 mov     al, [esi+2]
    423. .rdata:004085C5                 mov     [edi+2], al
    424. .rdata:004085C8                 mov     al, [esi+1]
    425. .rdata:004085CB                 mov     [edi+1], al
    426. .rdata:004085CE                 mov     eax, [ebp+arg_0]
    427. .rdata:004085D1                 pop     esi
    428. .rdata:004085D2                 pop     edi
    429. .rdata:004085D3                 leave
    430. .rdata:004085D4                 retn
    431. .rdata:004085D4 sub_408270      endp
     
  4. SWR

    SWR New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    226
    Адрес:
    Russia
    хорош флудить.
     
  5. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    romoga
    для этого есть тег СODE
     
  6. romoga

    romoga New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    20
    ни пинайте что отдельно не выложил... тока правила дочитал....
    так вот в генерируемом ключе который состоит из трех блоков символов.. первый блок символов
    делает эта подпрограмма.
    если логин = 0000
    и пароль =0000
    то ключ=VTNWGCJQPAO3GAEKD24000000
    з.ы. мне ненужно делать свой кейген, хочу понять смысл генерации этого
     
  7. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    romoga
    То, что ты привел, сильно смахивает на стандартную функцию memcpy :derisive:
     
  8. romoga

    romoga New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    20
    извините еще раз за длинный код...
     
  9. only

    only New Member

    Публикаций:
    0
    Регистрация:
    21 окт 2008
    Сообщения:
    147
    сори оффтоп почищен
     
  10. wsd

    wsd New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2007
    Сообщения:
    2.824
    romoga
    так ты его отредактируй!
    в тег CODE засунь
     
  11. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    romoga
    И даже не напоминает, а это она и есть. Приведенный тобой код просто копирует arg_8 bytes from arg_4 to arg_0.
     
  12. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    romoga Воспользуйся Hex-Rays'ом, натрави на этот участок
     
  13. romoga

    romoga New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    20
    на этот участок хекс рейс ругается invalid basi block
    а на третью функцию в которой я думаю третий блок ключа генерица выдает вот это
    Код (Text):
    1. int __cdecl sub_406517()
    2. {
    3.   int *v0; // edi@1
    4.   char *v1; // esi@1
    5.   signed int v2; // edi@3
    6.   _BYTE *v3; // esi@4
    7.   signed int v4; // eax@9
    8.   char v5; // cl@10
    9.   const CHAR v6; // cl@11
    10.   int v8; // eax@2
    11.   _BYTE *v9; // ecx@10
    12.   unsigned __int8 v10; // of@10
    13.   char v11; // sf@10
    14.   char v12; // [sp+70h] [bp-68h]@1
    15.   int v13; // [sp+D4h] [bp-4h]@2
    16.   _BYTE v14[4]; // [sp+6Ch] [bp-6Ch]@4
    17.   _BYTE v15[4]; // [sp+D0h] [bp-8h]@6
    18.   _BYTE v16[96]; // [sp+Ch] [bp-CCh]@10
    19.  
    20.   sub_408696(&v12, 4, 25, sub_406363, sub_4063E3);
    21.   v1 = &v12;
    22.   v0 = dword_404030;
    23.   do
    24.   {
    25.     v8 = sub_4064B7(&v13, v0);
    26.     sub_406393(v8);
    27.     sub_407D80(v13);
    28.     v0 += 4;
    29.     v1 += 4;
    30.   }
    31.   while ( (signed int)v0 < 4211136 );
    32.   sub_4064B7(&v13, dword_4100D8);
    33.   v2 = 0;
    34.   do
    35.   {
    36.     v3 = &v14[v2];
    37.     *(_DWORD *)&v14[v2] = 0;
    38.     while ( sub_4063C6(&v13, &v15[v2]) && *(_DWORD *)v3 <= 46 )
    39.     {
    40.       ++*(_DWORD *)v3;
    41.       sub_4063AB(&v15[v2]);
    42.     }
    43.     v2 -= 4;
    44.   }
    45.   while ( v2 >= -96 );
    46.   v4 = 0;
    47.   do
    48.   {
    49.     v9 = &v16[4 * v4];
    50.     v10 = __SETO__(*(_DWORD *)v9, 10);
    51.     v11 = *(_DWORD *)v9 < 10;
    52.     v5 = *v9;
    53.     if ( v11 ^ v10 )
    54.       v6 = v5 + 48;
    55.     else
    56.       v6 = v5 + 55;
    57.     byte_40FFF4[v4++] = v6;
    58.   }
    59.   while ( v4 < 25 );
    60.   byte_41000D = 0;
    61.   sub_407D80(v13);
    62.   return sub_408633(&v12, 4, 25, sub_4063E3);
    вапще все перестало быть понятным