Hola a todos.
Quería saber si alguien me podía echar una mano con un ejecutable protegido con Armadillo con el que llevo un par de semanas liado. Llevo semanas probando herramientas y siguiendo tutoriales de la web de Ricardo Navaja (de hecho,creo que me los he leído y repasado todos) pero no consigo hacerlo funcionar.
Voy a intentar facilitar toda la información que sea posible:
El ArmaFP hasta hace poco me detectó que la versión era la 3.30e, pero desde que reseteé la info del trial no me detecta la versión (creo que es por eso). Este es el log que me da:
Protected Armadillo
File Size 2150400
Load file
<-Find Protect
Protection system(Digital River)
<Protection Options>
Standard protection or Minimum protection
<Backup Key Options>
Fixed Backup Keys
<Compression Options>
Better/Slower Compression
<Other Options>
Use Digital River Edition Keys
<-Find Version
?-Error (299) Version not found
?-Error (183) EXCEPTION_BREAKPOINT
El R.D.G Packer sólo indica "Armadillo detección heurística" y con el advanced scan del exeinfope me dice que si es una versión 4.x o una versión 1.71. En fin, un lio. Por los tutos que he visto, me fio más del criterio del ArmaFP.
De momento creo haber encontrado el OEP:
005A1CAC 55 PUSH EBP
005A1CAD 8BEC MOV EBP,ESP
005A1CAF 83C4 F4 ADD ESP,-0C
005A1CB2 53 PUSH EBX
005A1CB3 56 PUSH ESI
005A1CB4 57 PUSH EDI
005A1CB5 8B75 08 MOV ESI,DWORD PTR SS:[EBP+8]
005A1CB8 8B46 10 MOV EAX,DWORD PTR DS:[ESI+10]
005A1CBB 83E0 01 AND EAX,1
005A1CBE A3 B8CA5E00 MOV DWORD PTR DS:[5ECAB8],EAX
005A1CC3 E8 90CDFFFF CALL xxxxxx.0059EA58
005A1CC8 8B56 20 MOV EDX,DWORD PTR DS:[ESI+20]
005A1CCB 52 PUSH EDX
005A1CCC 8B4E 1C MOV ECX,DWORD PTR DS:[ESI+1C]
005A1CCF 51 PUSH ECX
005A1CD0 E8 5BD1FFFF CALL xxxxxx.0059EE30
005A1CD5 83C4 08 ADD ESP,8
005A1CD8 8B46 28 MOV EAX,DWORD PTR DS:[ESI+28]
005A1CDB 50 PUSH EAX
005A1CDC E8 C778FFFF CALL xxxxxx.005995A8
005A1CE1 59 POP ECX
005A1CE2 8B56 44 MOV EDX,DWORD PTR DS:[ESI+44]
005A1CE5 52 PUSH EDX
005A1CE6 E8 CD78FFFF CALL xxxxxx.005995B8
005A1CEB 59 POP ECX
005A1CEC C705 84936000 01>MOV DWORD PTR DS:[609384],1
005A1CF6 8935 88936000 MOV DWORD PTR DS:[609388],ESI
Y la zona de la IAT:
0060F15C 100017F0 JPEGENHD.AttachImage
0060F160 100017C0 JPEGENHD.CreateUnJPEGImage
0060F164 10001850 JPEGENHD.CreateUnJPEGIns
0060F168 10001810 JPEGENHD.DetachImage
0060F16C 10001A10 JPEGENHD.GetProgressSteps
0060F170 10001980 JPEGENHD.GetResult
0060F174 100018A0 JPEGENHD.ProcessImage
0060F178 10001820 JPEGENHD.SetControlData
0060F17C 10001940 JPEGENHD.SetImage
0060F180 100018E0 JPEGENHD.SetParameters
0060F184 100018C0 JPEGENHD.SetProgressBar
0060F188 00FC78C9
...
0060F194 00000000
0060F198 01831050 HOOKDLL.InstallKBHook
0060F19C 018310F0 HOOKDLL.UnInstallKBHook
0060F1A0 00FC78EF
...
0060F1C8 00FCAC9B
0060F1CC 77DB4280 ADVAPI32.RegDeleteKeyA
0060F1D0 77DC4CB0 ADVAPI32.RegFlushKey
0060F1D4 77DA7842 ADVAPI32.RegOpenKeyExA
0060F1D8 77DA7AAB ADVAPI32.RegQueryValueExA
0060F1DC 77DAEAD7 ADVAPI32.RegSetValueExA
0060F1E0 00FC7946
...
Pero no consigo encontrar el salto mágico ni nada por el estilo; por mucho que he investigado la diferencia entre una entrada buena y una mala lo único que he encontrado es esto:
00FDE1D3 6A 01 PUSH 1
00FDE1D5 58 POP EAX
00FDE1D6 85C0 TEST EAX,EAX
00FDE1D8 0F84 79030000 JE 00FDE557 --> tanto bien como mal, no salta
00FDE1DE 66:83A5 88E7FFFF 00 AND WORD PTR SS:[EBP-1878],0
00FDE1E6 83A5 80E7FFFF 00 AND DWORD PTR SS:[EBP-1880],0
00FDE1ED 83A5 84E7FFFF 00 AND DWORD PTR SS:[EBP-187C],0
00FDE1F4 8B85 94ECFFFF MOV EAX,DWORD PTR SS:[EBP-136C]
00FDE1FA 0FBE00 MOVSX EAX,BYTE PTR DS:[EAX]
00FDE1FD 85C0 TEST EAX,EAX
00FDE1FF 0F85 0C010000 JNZ 00FDE311 --> salta para la buena
00FDE205 C785 30E7FFFF 7178FC00 MOV DWORD PTR SS:[EBP-18D0],0FC7871
00FDE20F C785 34E7FFFF 9778FC00 MOV DWORD PTR SS:[EBP-18CC],0FC7897
00FDE219 C785 38E7FFFF F678FC00 MOV DWORD PTR SS:[EBP-18C8],0FC78F6
00FDE223 C785 3CE7FFFF 0979FC00 MOV DWORD PTR SS:[EBP-18C4],0FC7909
00FDE22D C785 40E7FFFF BA78FC00 MOV DWORD PTR SS:[EBP-18C0],0FC78BA
00FDE237 C785 44E7FFFF BF78FC00 MOV DWORD PTR SS:[EBP-18BC],0FC78BF
00FDE241 C785 48E7FFFF C478FC00 MOV DWORD PTR SS:[EBP-18B8],0FC78C4
00FDE24B C785 4CE7FFFF C978FC00 MOV DWORD PTR SS:[EBP-18B4],0FC78C9
00FDE255 C785 50E7FFFF 5579FC00 MOV DWORD PTR SS:[EBP-18B0],0FC7955
00FDE25F C785 54E7FFFF EF78FC00 MOV DWORD PTR SS:[EBP-18AC],0FC78EF
00FDE269 C785 58E7FFFF 7178FC00 MOV DWORD PTR SS:[EBP-18A8],0FC7871
00FDE273 C785 5CE7FFFF 9778FC00 MOV DWORD PTR SS:[EBP-18A4],0FC7897
00FDE27D C785 60E7FFFF F678FC00 MOV DWORD PTR SS:[EBP-18A0],0FC78F6
00FDE287 C785 64E7FFFF 0979FC00 MOV DWORD PTR SS:[EBP-189C],0FC7909
00FDE291 C785 68E7FFFF 4679FC00 MOV DWORD PTR SS:[EBP-1898],0FC7946
00FDE29B C785 6CE7FFFF 4B79FC00 MOV DWORD PTR SS:[EBP-1894],0FC794B
00FDE2A5 C785 70E7FFFF 5079FC00 MOV DWORD PTR SS:[EBP-1890],0FC7950
00FDE2AF C785 74E7FFFF C978FC00 MOV DWORD PTR SS:[EBP-188C],0FC78C9
00FDE2B9 C785 78E7FFFF 5579FC00 MOV DWORD PTR SS:[EBP-1888],0FC7955
00FDE2C3 C785 7CE7FFFF 7B79FC00 MOV DWORD PTR SS:[EBP-1884],0FC797B
00FDE2CD 8D8D 68ECFFFF LEA ECX,DWORD PTR SS:[EBP-1398]
00FDE2D3 E8 682DFEFF CALL 00FC1040
...
El problema es que incluso yendo paso a paso con el Olly, llega un momento en que se llenan del tirón unas cuantas y me pierdo en el código. Los pocos dumps que he intentado realizar me acaba mostrando el error "This program has been damaged, possibly bla bla bla"; vamos, que el armadillo sigue ahí, lógicamente.
Como info adicional diré que el programa es funcional por 30 días y genera imágenes con una marca de agua; así que supongo que tendrá algún truco más para protegerse.
En fin, espero que alguien me pueda echar una mano; adelanto que soy novato en esto del cracking y me he tirado a un hueso duro de roer nada más empezar, tontaco de mi XD. Si hay alguna cosa más que deba facilitar para que puedan ayudarme, estaré atento.
Muchas gracias de antemano.