elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  interpetar keygen
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: interpetar keygen  (Leído 4,649 veces)
General Dmitry Vergadoski


Desconectado Desconectado

Mensajes: 881


General de División.


Ver Perfil
interpetar keygen
« en: 8 Abril 2017, 14:43 pm »

hola amigos aqui les traigo un codigo de como genera el serial un programa ahora mi duda es como interpretarlo para generar el keygen:

Código
  1. 00404E82   .  52                    push edx
  2. 00404E83   .  56                    push esi
  3. 00404E84   .  C746 34 0DF0D1BA      mov dword ptr ds:[esi+34],BAD1F00D                                                  
  4. 00404E8B   .  C746 38 01ADDE10      mov dword ptr ds:[esi+38],10DEAD01                                                  
  5. 00404E92   .  C746 3C EFBE1010      mov dword ptr ds:[esi+3C],1010BEEF                                                  
  6. 00404E99   .  C746 40 D0BA0110      mov dword ptr ds:[esi+40],1001BAD0                                                    
  7. 00404EA0   .  FF91 2C070000         call ds:[ecx+72C]
  8. 00404EA6   .  3BC7                  cmp eax,edi
  9. 00404EA8   .  DBE2                  fclex
  10. 00404EAA   .  7D 12                 jge short T0RNAD0'.00404EBE
  11. 00404EAC   .  68 2C070000           push 72C
  12. 00404EB1   .  68 14404000           push T0RNAD0'.00404014
  13. 00404EB6   .  56                    push esi
  14. 00404EB7   .  50                    push eax
  15. 00404EB8   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  16. 00404EBE   >  8B45 B4               mov eax,ss:[ebp-4C]
  17. 00404EC1   .  8D55 E0               lea edx,ss:[ebp-20]
  18. 00404EC4   .  52                    push edx
  19. 00404EC5   .  50                    push eax
  20. 00404EC6   .  8B08                  mov ecx,ds:[eax]
  21. 00404EC8   .  8985 48FFFFFF         mov ss:[ebp-B8],eax
  22. 00404ECE   .  FF91 A0000000         call ds:[ecx+A0]
  23. 00404ED4   .  3BC7                  cmp eax,edi
  24. 00404ED6   .  DBE2                  fclex
  25. 00404ED8   .  7D 18                 jge short T0RNAD0'.00404EF2
  26. 00404EDA   .  8B8D 48FFFFFF         mov ecx,ss:[ebp-B8]
  27. 00404EE0   .  68 A0000000           push 0A0
  28. 00404EE5   .  68 7C414000           push T0RNAD0'.0040417C
  29. 00404EEA   .  51                    push ecx
  30. 00404EEB   .  50                    push eax
  31. 00404EEC   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  32. 00404EF2   >  8B45 E0               mov eax,ss:[ebp-20]                                                                      
  33. 00404EF5   .  8D55 A0               lea edx,ss:[ebp-60]
  34. 00404EF8   .  8945 A8               mov ss:[ebp-58],eax
  35. 00404EFB   .  6A 01                 push 1
  36. 00404EFD   .  8D45 90               lea eax,ss:[ebp-70]
  37. 00404F00   .  52                    push edx
  38. 00404F01   .  50                    push eax
  39. 00404F02   .  897D E0               mov ss:[ebp-20],edi
  40. 00404F05   .  C745 A0 08000000      mov dword ptr ss:[ebp-60],8
  41. 00404F0C   .  FF15 40114000         call ds:[<&MSVBVM60.#619>]                     ;  MSVBVM60.rtcRightCharVar
  42. 00404F12   .  8B3D D0104000         mov edi,ds:[<&MSVBVM60.__vbaStrVarVal>]        ;  MSVBVM60.__vbaStrVarVal
  43. 00404F18   .  8D4D 90               lea ecx,ss:[ebp-70]
  44. 00404F1B   .  8D55 DC               lea edx,ss:[ebp-24]
  45. 00404F1E   .  51                    push ecx
  46. 00404F1F   .  52                    push edx
  47. 00404F20   .  FFD7                  call edi                                       ;  <&MSVBVM60.__vbaStrVarVal>
  48. 00404F22   .  50                    push eax
  49. 00404F23   .  FF15 30104000         call ds:[<&MSVBVM60.#516>]                     ;  MSVBVM60.rtcAnsiValueBstr                
  50. 00404F29   .  66:6BC0 7B            imul ax,ax,7B                                                                            
  51. 00404F2D   .  8B4E 34               mov ecx,ds:[esi+34]                                                                        
  52. 00404F30   .  0F80 05070000         jo T0RNAD0'.0040563B
  53. 00404F36   .  0FBFC0                movsx eax,ax
  54. 00404F39   .  33C8                  xor ecx,eax                                                                              
  55. 00404F3B   .  894E 34               mov ds:[esi+34],ecx
  56. 00404F3E   .  8D4D DC               lea ecx,ss:[ebp-24]
  57. 00404F41   .  FF15 5C114000         call ds:[<&MSVBVM60.__vbaFreeStr>]             ;  MSVBVM60.__vbaFreeStr
  58. 00404F47   .  8D4D B4               lea ecx,ss:[ebp-4C]
  59. 00404F4A   .  FF15 60114000         call ds:[<&MSVBVM60.__vbaFreeObj>]             ;  MSVBVM60.__vbaFreeObj
  60. 00404F50   .  8D4D 90               lea ecx,ss:[ebp-70]
  61. 00404F53   .  8D55 A0               lea edx,ss:[ebp-60]
  62. 00404F56   .  51                    push ecx
  63. 00404F57   .  52                    push edx
  64. 00404F58   .  6A 02                 push 2
  65. 00404F5A   .  FF15 20104000         call ds:[<&MSVBVM60.__vbaFreeVarList>]         ;  MSVBVM60.__vbaFreeVarList
  66. 00404F60   .  8B06                  mov eax,ds:[esi]
  67. 00404F62   .  83C4 0C               add esp,0C
  68. 00404F65   .  8D4D B4               lea ecx,ss:[ebp-4C]
  69. 00404F68   .  51                    push ecx
  70. 00404F69   .  56                    push esi
  71. 00404F6A   .  FF90 2C070000         call ds:[eax+72C]
  72. 00404F70   .  85C0                  test eax,eax
  73. 00404F72   .  DBE2                  fclex
  74. 00404F74   .  7D 12                 jge short T0RNAD0'.00404F88
  75. 00404F76   .  68 2C070000           push 72C
  76. 00404F7B   .  68 14404000           push T0RNAD0'.00404014
  77. 00404F80   .  56                    push esi
  78. 00404F81   .  50                    push eax
  79. 00404F82   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  80. 00404F88   >  8B45 B4               mov eax,ss:[ebp-4C]
  81. 00404F8B   .  8D4D E0               lea ecx,ss:[ebp-20]
  82. 00404F8E   .  51                    push ecx
  83. 00404F8F   .  50                    push eax
  84. 00404F90   .  8B10                  mov edx,ds:[eax]
  85. 00404F92   .  8985 48FFFFFF         mov ss:[ebp-B8],eax
  86. 00404F98   .  FF92 A0000000         call ds:[edx+A0]
  87. 00404F9E   .  85C0                  test eax,eax
  88. 00404FA0   .  DBE2                  fclex
  89. 00404FA2   .  7D 18                 jge short T0RNAD0'.00404FBC
  90. 00404FA4   .  8B95 48FFFFFF         mov edx,ss:[ebp-B8]
  91. 00404FAA   .  68 A0000000           push 0A0
  92. 00404FAF   .  68 7C414000           push T0RNAD0'.0040417C
  93. 00404FB4   .  52                    push edx
  94. 00404FB5   .  50                    push eax
  95. 00404FB6   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  96. 00404FBC   >  8B45 E0               mov eax,ss:[ebp-20]
  97. 00404FBF   .  6A 01                 push 1
  98. 00404FC1   .  8945 A8               mov ss:[ebp-58],eax
  99. 00404FC4   .  8D45 A0               lea eax,ss:[ebp-60]
  100. 00404FC7   .  8D4D 90               lea ecx,ss:[ebp-70]
  101. 00404FCA   .  50                    push eax
  102. 00404FCB   .  51                    push ecx
  103. 00404FCC   .  C745 E0 00000000      mov dword ptr ss:[ebp-20],0
  104. 00404FD3   .  C745 A0 08000000      mov dword ptr ss:[ebp-60],8
  105. 00404FDA   .  FF15 2C114000         call ds:[<&MSVBVM60.#617>]                     ;  MSVBVM60.rtcLeftCharVar                    
  106. 00404FE0   .  8D55 90               lea edx,ss:[ebp-70]
  107. 00404FE3   .  8D45 DC               lea eax,ss:[ebp-24]
  108. 00404FE6   .  52                    push edx
  109. 00404FE7   .  50                    push eax
  110. 00404FE8   .  FFD7                  call edi
  111. 00404FEA   .  50                    push eax
  112. 00404FEB   .  FF15 30104000         call ds:[<&MSVBVM60.#516>]                     ;  MSVBVM60.rtcAnsiValueBstr                
  113. 00404FF1   .  66:6BC0 7B            imul ax,ax,7B                                                                          
  114. 00404FF5   .  8B56 3C               mov edx,ds:[esi+3C]                                                                        
  115. 00404FF8   .  0F80 3D060000         jo T0RNAD0'.0040563B
  116. 00404FFE   .  0FBFC8                movsx ecx,ax
  117. 00405001   .  33D1                  xor edx,ecx                                                                                
  118. 00405003   .  8D4D DC               lea ecx,ss:[ebp-24]
  119. 00405006   .  8956 3C               mov ds:[esi+3C],edx
  120. 00405009   .  FF15 5C114000         call ds:[<&MSVBVM60.__vbaFreeStr>]             ;  MSVBVM60.__vbaFreeStr
  121. 0040500F   .  8D4D B4               lea ecx,ss:[ebp-4C]
  122. 00405012   .  FF15 60114000         call ds:[<&MSVBVM60.__vbaFreeObj>]             ;  MSVBVM60.__vbaFreeObj
  123. 00405018   .  8D55 90               lea edx,ss:[ebp-70]
  124. 0040501B   .  8D45 A0               lea eax,ss:[ebp-60]
  125. 0040501E   .  52                    push edx
  126. 0040501F   .  50                    push eax
  127. 00405020   .  6A 02                 push 2
  128. 00405022   .  FF15 20104000         call ds:[<&MSVBVM60.__vbaFreeVarList>]         ;  MSVBVM60.__vbaFreeVarList
  129. 00405028   .  66:8BCB               mov cx,bx                                                                                
  130. 0040502B   .  83C4 0C               add esp,0C
  131. 0040502E   .  66:69C9 4101          imul cx,cx,141                                                                            
  132. 00405033   .  8B46 3C               mov eax,ds:[esi+3C]
  133. 00405036   .  0F80 FF050000         jo T0RNAD0'.0040563B
  134. 0040503C   .  0FBFD1                movsx edx,cx
  135. 0040503F   .  8B4E 38               mov ecx,ds:[esi+38]                                                                      
  136. 00405042   .  33D0                  xor edx,eax                                                                              
  137. 00405044   .  33CA                  xor ecx,edx                                                                              
  138. 00405046   .  66:8BD3               mov dx,bx
  139. 00405049   .  66:69D2 4101          imul dx,dx,141                                                                            
  140. 0040504E   .  0F80 E7050000         jo T0RNAD0'.0040563B
  141. 00405054   .  894E 38               mov ds:[esi+38],ecx
  142. 00405057   .  81F1 01010101         xor ecx,1010101                                                                          
  143. 0040505D   .  0FBFD2                movsx edx,dx
  144. 00405060   .  3356 34               xor edx,ds:[esi+34]                                                                      
  145. 00405063   .  894E 38               mov ds:[esi+38],ecx
  146. 00405066   .  35 10101010           xor eax,10101010                                                                          
  147. 0040506B   .  8D4D B4               lea ecx,ss:[ebp-4C]
  148. 0040506E   .  3156 40               xor ds:[esi+40],edx                                                                      
  149. 00405071   .  8946 3C               mov ds:[esi+3C],eax
  150. 00405074   .  8B06                  mov eax,ds:[esi]
  151. 00405076   .  51                    push ecx
  152. 00405077   .  56                    push esi
  153. 00405078   .  FF90 2C070000         call ds:[eax+72C]
  154. 0040507E   .  85C0                  test eax,eax
  155. 00405080   .  DBE2                  fclex
  156. 00405082   .  7D 12                 jge short T0RNAD0'.00405096
  157. 00405084   .  68 2C070000           push 72C
  158. 00405089   .  68 14404000           push T0RNAD0'.00404014
  159. 0040508E   .  56                    push esi
  160. 0040508F   .  50                    push eax
  161. 00405090   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  162. 00405096   >  8B45 B4               mov eax,ss:[ebp-4C]
  163. 00405099   .  8D4D DC               lea ecx,ss:[ebp-24]
  164. 0040509C   .  51                    push ecx
  165. 0040509D   .  50                    push eax
  166. 0040509E   .  8B10                  mov edx,ds:[eax]
  167. 004050A0   .  8985 48FFFFFF         mov ss:[ebp-B8],eax
  168. 004050A6   .  FF92 A0000000         call ds:[edx+A0]
  169. 004050AC   .  85C0                  test eax,eax
  170. 004050AE   .  DBE2                  fclex
  171. 004050B0   .  7D 18                 jge short T0RNAD0'.004050CA
  172. 004050B2   .  8B95 48FFFFFF         mov edx,ss:[ebp-B8]
  173. 004050B8   .  68 A0000000           push 0A0
  174. 004050BD   .  68 7C414000           push T0RNAD0'.0040417C
  175. 004050C2   .  52                    push edx
  176. 004050C3   .  50                    push eax
  177. 004050C4   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  178. 004050CA   >  8B06                  mov eax,ds:[esi]
  179. 004050CC   .  8D4D B0               lea ecx,ss:[ebp-50]
  180. 004050CF   .  51                    push ecx
  181. 004050D0   .  56                    push esi
  182. 004050D1   .  FF90 2C070000         call ds:[eax+72C]
  183. 004050D7   .  85C0                  test eax,eax
  184. 004050D9   .  DBE2                  fclex
  185. 004050DB   .  7D 12                 jge short T0RNAD0'.004050EF
  186. 004050DD   .  68 2C070000           push 72C
  187. 004050E2   .  68 14404000           push T0RNAD0'.00404014
  188. 004050E7   .  56                    push esi
  189. 004050E8   .  50                    push eax
  190. 004050E9   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  191. 004050EF   >  8B45 B0               mov eax,ss:[ebp-50]
  192. 004050F2   .  8D4D D0               lea ecx,ss:[ebp-30]
  193. 004050F5   .  51                    push ecx
  194. 004050F6   .  50                    push eax
  195. 004050F7   .  8B10                  mov edx,ds:[eax]
  196. 004050F9   .  8985 3CFFFFFF         mov ss:[ebp-C4],eax
  197. 004050FF   .  FF92 A0000000         call ds:[edx+A0]
  198. 00405105   .  85C0                  test eax,eax
  199. 00405107   .  DBE2                  fclex
  200. 00405109   .  7D 18                 jge short T0RNAD0'.00405123
  201. 0040510B   .  8B95 3CFFFFFF         mov edx,ss:[ebp-C4]
  202. 00405111   .  68 A0000000           push 0A0
  203. 00405116   .  68 7C414000           push T0RNAD0'.0040417C
  204. 0040511B   .  52                    push edx
  205. 0040511C   .  50                    push eax
  206. 0040511D   .  FF15 40104000         call ds:[<&MSVBVM60.__vbaHresultCheckObj>]     ;  MSVBVM60.__vbaHresultCheckObj
  207. 00405123   >  8B45 D0               mov eax,ss:[ebp-30]
  208. 00405126   .  6A 01                 push 1
  209. 00405128   .  8945 98               mov ss:[ebp-68],eax
  210. 0040512B   .  8D45 90               lea eax,ss:[ebp-70]
  211. 0040512E   .  8D4D 80               lea ecx,ss:[ebp-80]
  212. 00405131   .  50                    push eax
  213. 00405132   .  51                    push ecx
  214. 00405133   .  C745 A8 06000000      mov dword ptr ss:[ebp-58],6
  215. 0040513A   .  C745 A0 02000000      mov dword ptr ss:[ebp-60],2
  216. 00405141   .  C745 D0 00000000      mov dword ptr ss:[ebp-30],0
  217. 00405148   .  C745 90 08000000      mov dword ptr ss:[ebp-70],8
  218. 0040514F   .  FF15 40114000         call ds:[<&MSVBVM60.#619>]                     ;  MSVBVM60.rtcRightCharVar
  219. 00405155   .  8D55 80               lea edx,ss:[ebp-80]
  220. 00405158   .  8D45 CC               lea eax,ss:[ebp-34]
  221. 0040515B   .  52                    push edx
  222. 0040515C   .  50                    push eax
  223. 0040515D   .  FFD7                  call edi
  224. 0040515F   .  50                    push eax
  225. 00405160   .  FF15 30104000         call ds:[<&MSVBVM60.#516>]                     ;  MSVBVM60.rtcAnsiValueBstr
  226. 00405166   .  8B56 40               mov edx,ds:[esi+40]                                                                  
  227. 00405169   .  68 90414000           push T0RNAD0'.00404190                         ;  UNICODE "L-"                      
  228. 0040516E   .  0FBFC8                movsx ecx,ax                                                                          
  229. 00405171   .  8B46 38               mov eax,ds:[esi+38]                                                                  
  230. 00405174   .  53                    push ebx                                                                                                                                                    
  231. 00405175   .  03D0                  add edx,eax                                                                          
  232. 00405177   .  C785 70FFFFFF 0300000>mov dword ptr ss:[ebp-90],3
  233. 00405181   .  0F80 B4040000         jo T0RNAD0'.0040563B
  234. 00405187   .  03CA                  add ecx,edx                                                                          
  235. 00405189   .  0F80 AC040000         jo T0RNAD0'.0040563B
  236. 0040518F   .  898D 78FFFFFF         mov ss:[ebp-88],ecx
  237. 00405195   .  FF15 04104000         call ds:[<&MSVBVM60.__vbaStrI2>]               ;  MSVBVM60.__vbaStrI2
  238. 0040519B   .  8B3D 38114000         mov edi,ds:[<&MSVBVM60.__vbaStrMove>]          ;  MSVBVM60.__vbaStrMove
  239. 004051A1   .  8BD0                  mov edx,eax
  240. 004051A3   .  8D4D E0               lea ecx,ss:[ebp-20]
  241. 004051A6   .  FFD7                  call edi                                       ;  <&MSVBVM60.__vbaStrMove>
  242. 004051A8   .  50                    push eax                                                                              
  243. 004051A9   .  FF15 38104000         call ds:[<&MSVBVM60.__vbaStrCat>]              ;  MSVBVM60.__vbaStrCat                
  244. 004051AF   .  8BD0                  mov edx,eax
  245. 004051B1   .  8D4D BC               lea ecx,ss:[ebp-44]
  246. 004051B4   .  FFD7                  call edi
  247. 004051B6   .  66:83EB 06            sub bx,6                                                                              
  248. 004051BA   .  50                    push eax
  249. 004051BB   .  0F80 7A040000         jo T0RNAD0'.0040563B
  250. 004051C1   .  0FBFCB                movsx ecx,bx
  251. 004051C4   .  898D 08FFFFFF         mov ss:[ebp-F8],ecx
  252. 004051CA   .  8D45 A0               lea eax,ss:[ebp-60]
  253. 004051CD   .  DB85 08FFFFFF         fild dword ptr ss:[ebp-F8]
  254. 004051D3   .  68 9C414000           push T0RNAD0'.0040419C
  255. 004051D8   .  50                    push eax
  256. 004051D9   .  DD9D 00FFFFFF         fstp qword ptr ss:[ebp-100]
  257. 004051DF   .  DD85 00FFFFFF         fld qword ptr ss:[ebp-100]
  258. 004051E5   .  833D 00A04000 00      cmp dword ptr ds:[40A000],0
  259. 004051EC   .  75 08                 jnz short T0RNAD0'.004051F6
  260. 004051EE   .  DC35 78114000         fdiv qword ptr ds:[401178]                                      
  261. 004051F4   .  EB 11                 jmp short T0RNAD0'.00405207
  262. 004051F6   >  FF35 7C114000         push dword ptr ds:[40117C]
  263. 004051FC   .  FF35 78114000         push dword ptr ds:[401178]
  264. 00405202   .  E8 3DC0FFFF           call <jmp.&MSVBVM60._adj_fdiv_m64>
  265. 00405207   >  DFE0                  fstsw ax
  266. 00405209   .  A8 0D                 test al,0D
  267. 0040520B   .  0F85 25040000         jnz T0RNAD0'.00405636
  268. 00405211   .  FF15 44114000         call ds:[<&MSVBVM60.__vbaR8IntI4>]             ;  MSVBVM60.__vbaR8IntI4
  269. 00405217   .  8B55 DC               mov edx,ss:[ebp-24]                                                                  
  270. 0040521A   .  50                    push eax                                                                            
  271. 0040521B   .  52                    push edx
  272. 0040521C   .  FF15 6C104000         call ds:[<&MSVBVM60.#631>]                     ;  MSVBVM60.rtcMidCharBstr            
  273. 00405222   .  8BD0                  mov edx,eax
  274. 00405224   .  8D4D D8               lea ecx,ss:[ebp-28]
  275. 00405227   .  FFD7                  call edi
  276. 00405229   .  8B1D 38104000         mov ebx,ds:[<&MSVBVM60.__vbaStrCat>]           ;  MSVBVM60.__vbaStrCat
  277. 0040522F   .  50                    push eax
  278. 00405230   .  FFD3                  call ebx                                       ;  <&MSVBVM60.__vbaStrCat>            
  279. 00405232   .  8BD0                  mov edx,eax
  280. 00405234   .  8D4D D4               lea ecx,ss:[ebp-2C]
  281. 00405237   .  FFD7                  call edi
  282. 00405239   .  50                    push eax
  283. 0040523A   .  68 9C414000           push T0RNAD0'.0040419C
  284. 0040523F   .  FFD3                  call ebx                                                                            
  285. 00405241   .  8BD0                  mov edx,eax
  286. 00405243   .  8D4D C4               lea ecx,ss:[ebp-3C]
  287. 00405246   .  FFD7                  call edi
  288. 00405248   .  50                    push eax
  289. 00405249   .  8D85 70FFFFFF         lea eax,ss:[ebp-90]
  290. 0040524F   .  50                    push eax
  291. 00405250   .  FF15 F0104000         call ds:[<&MSVBVM60.#572>]                     ;  MSVBVM60.rtcHexBstrFromVar        
  292. 00405256   .  8BD0                  mov edx,eax
  293. 00405258   .  8D4D C8               lea ecx,ss:[ebp-38]
  294. 0040525B   .  FFD7                  call edi
  295. 0040525D   .  50                    push eax
  296. 0040525E   .  FF15 B4104000         call ds:[<&MSVBVM60.#713>]                     ;  MSVBVM60.rtcStrReverse            
  297. 00405264   .  8BD0                  mov edx,eax
  298. 00405266   .  8D4D C0               lea ecx,ss:[ebp-40]
  299. 00405269   .  FFD7                  call edi
  300. 0040526B   .  50                    push eax
  301. 0040526C   .  FFD3                  call ebx                                                                            
  302. 0040526E   .  8BD0                  mov edx,eax
  303. 00405270   .  8D4D B8               lea ecx,ss:[ebp-48]
  304. 00405273   .  FFD7                  call edi
  305. 00405275   .  50                    push eax
  306. 00405276   .  FFD3                  call ebx                                                                            
  307. ...
  308. 00405334   .  FF15 80104000         call ds:[<&MSVBVM60.__vbaStrCmp>]              ;  MSVBVM60.__vbaStrCmp              

muchas gracias de antemano.
En línea

Primero mártir que arrodillado frente una dictadura.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: interpetar keygen
« Respuesta #1 en: 8 Abril 2017, 15:17 pm »

nunca he hecho esto para ensamblador (no me llevo con ASM), pero si en otros lenguajes

armas en papel el algoritmo, analizas como se comporta y empiezas a buscar cuales son los pasos que sigue para llegar al true, en base a eso, buscas cuales son las características que poseen los valores de entrada que llegan a ello...

esto no es mecanico, esto no es lineal, esto es hacerlo poco a poco... te  recomiendo empezar con validaciones simples...

por ejemplo generar una tarjeta de credito valida:
el primer digito indica la marca de la tarjeta (visa, amex, etc)
los otros 3 hacen referencia al banco

para revisar si un numero es valido cada impar se multiplica por 2 (con modulo 10)
luego se suman todos los numeros, si el resultado modulo 10 es 0, el numero es valido

has un algoritmo que genere numeros validos sabiendo que los 4 iniciales son 5052

en serio, te reto, arma un generador de algo tan simple como esto, puedes usar cualquier lenguaje... la unica regla es que no debes usar fuerza bruta, debes generar un numero y este debe ser valido de buenas a primeras
« Última modificación: 8 Abril 2017, 15:19 pm por engel lex » En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
General Dmitry Vergadoski


Desconectado Desconectado

Mensajes: 881


General de División.


Ver Perfil
Re: interpetar keygen
« Respuesta #2 en: 8 Abril 2017, 16:43 pm »

nunca he hecho esto para ensamblador (no me llevo con ASM), pero si en otros lenguajes

armas en papel el algoritmo, analizas como se comporta y empiezas a buscar cuales son los pasos que sigue para llegar al true, en base a eso, buscas cuales son las características que poseen los valores de entrada que llegan a ello...

esto no es mecanico, esto no es lineal, esto es hacerlo poco a poco... te  recomiendo empezar con validaciones simples...

por ejemplo generar una tarjeta de credito valida:
el primer digito indica la marca de la tarjeta (visa, amex, etc)
los otros 3 hacen referencia al banco

para revisar si un numero es valido cada impar se multiplica por 2 (con modulo 10)
luego se suman todos los numeros, si el resultado modulo 10 es 0, el numero es valido

has un algoritmo que genere numeros validos sabiendo que los 4 iniciales son 5052

en serio, te reto, arma un generador de algo tan simple como esto, puedes usar cualquier lenguaje... la unica regla es que no debes usar fuerza bruta, debes generar un numero y este debe ser valido de buenas a primeras

el codigo que coloque es del programa en ollydbg en la parte cuando el genera el serial, no es el codigo de mi keygen, ando buscando es como interpretar el codigo para poder hacer mi keygen...
En línea

Primero mártir que arrodillado frente una dictadura.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: interpetar keygen
« Respuesta #3 en: 8 Abril 2017, 16:53 pm »

Citar
armas en papel el algoritmo, analizas como se comporta y empiezas a buscar cuales son los pasos que sigue para llegar al true, en base a eso, buscas cuales son las características que poseen los valores de entrada que llegan a ello...

eso te respondí... con todo y ejemplo...

Citar
has un algoritmo que genere numeros validos sabiendo que los 4 iniciales son 5052

te di un algoritmo de validación y te recomendé hacer un keygen (has un algoritmo que generer numeros validos) que lo rompiera, para que tuvieras una primera experiencia simple

En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
PalitroqueZ


Desconectado Desconectado

Mensajes: 948



Ver Perfil
Re: interpetar keygen
« Respuesta #4 en: 8 Abril 2017, 18:16 pm »

a juzgar por las repetidas llamadas a  MSVBVM60 se trata de un código programado en visual basic 6.0, bastante dificil analizarlo en assembler.

es preferible trazarlo desde un debbuger para para visual basic.

por la red se consiguen varios desensambladores para vb

En línea

"La Economía planificada lleva de un modo gradual pero seguro a la economía dirigida, a la economía autoritaria y al totalitarismo" Ludwig Erhard
MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.465


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: interpetar keygen
« Respuesta #5 en: 8 Abril 2017, 18:31 pm »

Como han dicho, es código VB6.

Por lo que veo, entender lo que hace es programa es relativamente sencillo si lo debugeas con olly. No debería ser mayor problema el interpretar lo que hace y menos reversearlo para hacer un keygen.

Te recomiendo leer tutoriales sobre crackmes de vb6, asi te aclaras sobre cómo debes trabajar con este lenguaje.

Por ej., un tip sería que te centres en las funciones "raras" (__vbaStrVarVal, __vbaStrI2, __vbaStrCat, etc, etc.) y no le des importancia a las funciones "propias" de vb6 (__vbaHresultCheckObj, __vbaFreeObj, __vbaFreeStr, __vbaFreeVarList).

Debes saber que vb6 maneja todas las variables como variant, por lo que no verás los valores directamente en los registros a menos que esté trabajando con ellos directamente (como en la zona donde hace los XORs y donde saca el valor ANSI del string).

En fin, tracea con olly. Analiza. Tómate el tiempo de entender lo que hace el programa.

Saludos!
En línea

MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."

General Dmitry Vergadoski


Desconectado Desconectado

Mensajes: 881


General de División.


Ver Perfil
Re: interpetar keygen
« Respuesta #6 en: 9 Abril 2017, 19:43 pm »

Como han dicho, es código VB6.

Por lo que veo, entender lo que hace es programa es relativamente sencillo si lo debugeas con olly. No debería ser mayor problema el interpretar lo que hace y menos reversearlo para hacer un keygen.

Te recomiendo leer tutoriales sobre crackmes de vb6, asi te aclaras sobre cómo debes trabajar con este lenguaje.

Por ej., un tip sería que te centres en las funciones "raras" (__vbaStrVarVal, __vbaStrI2, __vbaStrCat, etc, etc.) y no le des importancia a las funciones "propias" de vb6 (__vbaHresultCheckObj, __vbaFreeObj, __vbaFreeStr, __vbaFreeVarList).

Debes saber que vb6 maneja todas las variables como variant, por lo que no verás los valores directamente en los registros a menos que esté trabajando con ellos directamente (como en la zona donde hace los XORs y donde saca el valor ANSI del string).

En fin, tracea con olly. Analiza. Tómate el tiempo de entender lo que hace el programa.

Saludos!

lo veo complicado, hasta ahora lo que se es que estos son los codigos que utiliza para hacer el calculo del serial, pero hasta ahi no se mas nada

C746 34 0DF0D1BA      mov dword ptr ds:[esi+34],BAD1F00D                                                  
00404E8B   .  C746 38 01ADDE10      mov dword ptr ds:[esi+38],10DEAD01                                                
00404E92   .  C746 3C EFBE1010      mov dword ptr ds:[esi+3C],1010BEEF                                              
00404E99   .  C746 40 D0BA0110      mov dword ptr ds:[esi+40],1001BAD0
En línea

Primero mártir que arrodillado frente una dictadura.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: interpetar keygen
« Respuesta #7 en: 9 Abril 2017, 19:57 pm »

te estás trancando en algo complejo sin conocimientos... así no, vas a avanzar muy lento (si logras avanzar en lo absoluto), busca cosas más simples y luego sube el nivel...

a menos que estés acostumbrado a hacer esto, estás tratando de mater un elefante con salvas...

insisto... primero acostúmbrate a reversar algoritmos, (y ahora veo) tambien a entender el lenguaje que estás manejando y tus herramientas (olly)

todavía te estoy dando ejemplos e ignoras y sigues de largo



tambien te lo dice MCKSys Argentina que en este ámbito es uno de los mejores aquí.

Citar
Te recomiendo leer tutoriales sobre crackmes de vb6, asi te aclaras sobre cómo debes trabajar con este lenguaje.

pero tu sigues ignorando y de largo



todavia si sacas el algoritmo en claro, te podría a ayudar a ver que los pasos a seguir para armar un keygen
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
tincopasan


Desconectado Desconectado

Mensajes: 1.286

No es lo mismo conocer el camino que recorrerlo.


Ver Perfil
Re: interpetar keygen
« Respuesta #8 en: 9 Abril 2017, 21:10 pm »

como ya te han dicho deberías entender más del uso de olly y en este caso de las funciones propias de vb en esta parte que supongo es la que te referís:
52                    push edx
00404E83   .  56                    push esi
00404E84   .  C746 34 0DF0D1BA      mov dword ptr ds:[esi+34],BAD1F00D                                                 
00404E8B   .  C746 38 01ADDE10      mov dword ptr ds:[esi+38],10DEAD01                                                 
00404E92   .  C746 3C EFBE1010      mov dword ptr ds:[esi+3C],1010BEEF                                                   
00404E99   .  C746 40 D0BA0110      mov dword ptr ds:[esi+40],1001BAD0                                                   
00404EA0   .  FF91 2C070000         call ds:[ecx+72C]  hace un llamado a lo que haya en esa dirección
00404EA6   .  3BC7                  cmp eax,edi     compara el valor de los registros
00404EA8   .  DBE2                  fclex   basicamente limpia las excepciones
00404EAA   .  7D 12                 jge short T0RNAD0'.00404EBE salta si es más grande
                                              etc...

usando olly, sabiendo lo mínimo de asm y de vb6 podrías entender que hace.
En línea

abelnav12

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: interpetar keygen
« Respuesta #9 en: 12 Abril 2017, 06:24 am »

lo veo complicado, hasta ahora lo que se es que estos son los codigos que utiliza para hacer el calculo del serial, pero hasta ahi no se mas nada

C746 34 0DF0D1BA      mov dword ptr ds:[esi+34],BAD1F00D                                                 
00404E8B   .  C746 38 01ADDE10      mov dword ptr ds:[esi+38],10DEAD01                                                 
00404E92   .  C746 3C EFBE1010      mov dword ptr ds:[esi+3C],1010BEEF                                                
00404E99   .  C746 40 D0BA0110      mov dword ptr ds:[esi+40],1001BAD0

Mira bro ,si intentas hacer un keygen sin estudiar o leer sobre Cracking ,no lo podrás hacer .te recomiendo que leas el curso de ollydbg desde cero de Ricardo Narvaja ,es excelente
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Hacer KeyGen con VB
Programación Visual Basic
Hypercraker 4 7,007 Último mensaje 25 Agosto 2006, 13:20 pm
por likeu
hackear un keygen
Ingeniería Inversa
kennopix 9 4,764 Último mensaje 12 Noviembre 2006, 05:03 am
por kennopix
Keygen
Ingeniería Inversa
PoNcHo!! 2 3,310 Último mensaje 30 Abril 2007, 18:48 pm
por User32Error
keygen pcguard « 1 2 3 »
Ingeniería Inversa
somier 23 17,826 Último mensaje 17 Octubre 2012, 22:38 pm
por DUXER
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines