El OllyDBg no me deja abrir este exe de 500kb
http://www.megaupload.com/?d=BEA4Z3X9
En pantalla aparece el texto Compressed code?
¿Como puedo este exe descomprimirlo para poder trabajar con el?
Un saludo y de nuevo muchas gracias
El archivo al que está intentando acceder está temporalmente desactivado.
aun no lo veo ..puede que sea en otro formato, como por ejemplo 16 bytes.. y no en 32..intenta analizar con rdg, por si hay algun packer o algo.
puedes abrirlo, lo que no puedes es desempacar del todo., o bien no sabes donde llegar al oep, yo tampoco lo veo facil, pero no creo que sea imposible.
No entiendo como desempaquetarlo
¿Puede alguien ayudarme?
¿Que programa necesito para desempaquetarlo ?
http://rapidshare.com/files/387734941/gaifr.rar.html
Muchas gracias de antemano.
pasa que el programa no esta realmente en su propio lenguaje, esta con algo ofuscado, o bien algun packer para iniciar, ahora bien, donde comienza esto?
CPU Disasm
Address Hex dump Command Comments
004019A8 E8 00000000 CALL 004019AD
004019AD 58 POP EAX
004019AE BB AD190000 MOV EBX,19AD
004019B3 2BC3 SUB EAX,EBX
004019B5 50 PUSH EAX
004019B6 68 00004000 PUSH OFFSET gaifr.00400000
004019BB 68 B01C0000 PUSH 1CB0
004019C0 68 80000000 PUSH 80
004019C5 E8 35FFFFFF CALL 004018FF
004019CA ^ E9 99FFFFFF JMP 00401968
si vamos de a poco, va desempacando en memoria, pulsando f7/f8
---------------------------
PMIFRPanel
---------------------------
Run-time error '53':
File not found
---------------------------
Aceptar
---------------------------
mas o menos desde
CitarCPU Disasm
Address Hex dump Command Comments
08E992C6 68 1C22EB08 PUSH 8EB221C ; ASCII "RaiseException %s(%x) flags=%x num_args=%x caller_addr=%s:0x%x %s
"
08E992CB E8 9EA2FDFF CALL 08E7356E
08E992D0 83C4 20 ADD ESP,20
08E992D3 E8 5FF9FFFF CALL 08E98C37
08E992D8 84C0 TEST AL,AL
08E992DA 5B POP EBX
08E992DB 74 09 JE SHORT 08E992E6
08E992DD FF75 08 PUSH DWORD PTR SS:[EBP+8]
08E992E0 E8 64FDFFFF CALL 08E99049
08E992E5 59 POP ECX
08E992E6 8B4D 10 MOV ECX,DWORD PTR SS:[EBP+10]
08E992E9 834D FC FF OR DWORD PTR SS:[EBP-4],FFFFFFFF
08E992ED 85C9 TEST ECX,ECX
08E992EF 74 05 JE SHORT 08E992F6
08E992F1 E8 2F07FFFF CALL 08E89A25
08E992F6 8B4D F4 MOV ECX,DWORD PTR SS:[EBP-0C]
08E992F9 5F POP EDI
08E992FA 5E POP ESI
08E992FB 64:890D 0000000 MOV DWORD PTR FS:[0],ECX
08E99302 C9 LEAVE
08E99303 C2 1800 RETN 18
08E99306 55 PUSH EBP
08E99307 8BEC MOV EBP,ESP
08E99309 51 PUSH ECX
08E9930A 51 PUSH ECX
08E9930B 896D FC MOV DWORD PTR SS:[EBP-4],EBP
08E9930E 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
08E99314 8945 F8 MOV DWORD PTR SS:[EBP-8],EAX
08E99317 FF75 14 PUSH DWORD PTR SS:[EBP+14]
08E9931A 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
08E9931D FF75 10 PUSH DWORD PTR SS:[EBP+10]
08E99320 FF75 0C PUSH DWORD PTR SS:[EBP+0C]
08E99323 FF75 08 PUSH DWORD PTR SS:[EBP+8]
08E99326 FF70 04 PUSH DWORD PTR DS:[EAX+4]
08E99329 FF75 F8 PUSH DWORD PTR SS:[EBP-8]
08E9932C E8 C3FEFFFF CALL 08E991F4
08E99331 FF75 14 PUSH DWORD PTR SS:[EBP+14]
08E99334 FF75 10 PUSH DWORD PTR SS:[EBP+10]
08E99337 FF75 0C PUSH DWORD PTR SS:[EBP+0C]
08E9933A FF75 08 PUSH DWORD PTR SS:[EBP+8]
08E9933D FF15 74B2EA08 CALL DWORD PTR DS:[8EAB274]
08E99343 C9 LEAVE
08E99344 C2 1000 RETN 10
se supone que busca algo..y da eror de runtime
ahora bien el OEP (original entrypoint)
de donde debes desempacar esta en:
CPU Disasm
Address Hex dump Command Comments
004070C8 68 10944000 PUSH gaifr.00409410 ; ASCII "VB5!6&*"
004070CD E8 EEFFFFFF CALL <JMP.ThunRTMain> ; Jump to MSVBVM60.ThunRTMain
sugiero que leas algo de
http://foro.elhacker.net/ingenieria_inversa/iquesteres_nuevo_en_el_foro_lee_esto-t93855.0.html
igual creo que debe ser mas o menos de esta pagina:
Citarhttp://www.schiratti.com/
creo que mas especificamente de aqui:
Citarhttp://www.projectmagenta.com/downloads/demos.html
revisaba y sip, corresponde a una version 0...+1 de la que tienes , pero parece que debes ademas de depurar, quitar algunas excepciones, no es un tema facil desempacar este tema, sino mas bien encontrar la limitacion,
Cual es la limitacion de este programa?
amm..
cuando te aparece que el programa is compreses, colocas ok,
sip, esta comprimido, no he visto que packer, pero no parece llamar directamente al oep de la aplicacion de vb, sino llama a getcommandline y otras apis para mapear espacio y esas cosas.
ojala alguien del foro tenga mas tiempo que yo..solo lo vi 1 minuto..bajar de un ciber es complicado.
Bueno, lo estuve mirando un poco y saqué lo siguiente:
Para obtener un desempacado "casi" completo:
1) Abrir el EXE en Olly y en el EP hacer ALT+E para ir al listado de modulos.
2) De la lista seleccionar MSVBVM60.DLL y hacer doble-click para saltar al modulo.
3) Hacer CTRL+G y poner "ThunRTMain" (sin las comillas). En la dirección donde queda Olly, poner un BP con F2.
4)Ejecutar con F9 y cuando para en nuestro BP, colocarse sobre el primer valor de la pila y darle ENTER.
5) De la dirección que aparece en la ventana de CPU, escrolar 2 instrucciones hacia arriba (hasta el PUSH o mejor dicho, hasta 4070C8). Ese es nuestro OEP. Reconocemos que es el OEP de un programa hecho en VB6.
6) Colocar un HBP en esa direccion y hacer CTRL+F9 para reiniciar el programa.
7) Cuando reinicia, hacer ejecutar con F9 y cuando para en el HBP, dumpear con OllyDump y reconstruir IAT con ImpRec.
Ahora, por lo poco que he visto, este EXE tiene algunas "trampas". Por ejemplo, la IAT de un programa hecho en VB6 (como este) sólo tiene llamadas a la DLL MSVBVM60.DLL. Pero este tiene llamadas a GDI32 y OPENGL32. Asi que habrá que analizar porqué estas entradas están así.
Bueno, por lo pronto, ya tienes algo más con lo que poder continuar...
Saludos!
EDITADO
Para obtener un EXE funcional, conviene recontruirlo con LordPE.
Al final, sólo quedará una entrada "mala" en la IAT. Esta entrada apunta a una sección del packer. Fíjate en el dumpeado la función que está en 4F4E90. Esa función llama a esa entrada de la IAT. Además podrás ver cosas "interesantes" en la misma función (como por ej, la cadena ".key" e "lkey15" ;))
Si analizas esa función, seguro lo sacas....
:o Lo facil que ven y hacen las cosas los maestros. ;-)
felicidades MCKSys.
En pocas palabras, un mini manual para quitar packer desconocido de un programa hecho en visual basic. ;D
Naaaaa, no es tan asi...
La cosa se hace fácil, porque en todo VB6 el OEP es siempre de la misma forma: PUSH y CALL ThunRTMain...
Basta con poner un BP en la función y quedas a 2 pasos del OEP.
Este método es muy conocido y, a la vez, altamente efectivo... ;D
Aparte Apuromafo hizo la primera aproximación, la cual siempre es la más dificil de las cosas...
Saludos!
MODIFICADO
El packer es Thinstall...
sip, tienes razón, apuromafo (que es otro crack ;-)) dio el OEP y la aproximación al desempacado y dumpeo, pero me remito a tu facilidad como maesto para explicarnos en 7 sencillos pasos como conseguir el dumpear y reconstruir el VB6. :D
y como sacaste que el packer es Thinstall, ?
En el EXE original, parado en el OEP, ve a la entrada de la IAT que apunta a una sección del packer (la entrada de la IAT apunta a 4EBFB53).
En esa sección, si miras las string references, verás cadenas como: "Thinstall_DllMain(DLL_PROCESS_DETACH) (shutdown for module %x)", "X:\thinstall\stub\ts_stub.cc", etc.
Aparte, en estos casos PEiD detecta bien el packer (porque la signature es vieja :))
gracias mcksys.
mi peid v0.95 no encuentra nada "Nothing found [Overlay]"
voy a tener que buscarle un archivo de signaturas mas completo y actualizado.
Gracias por la ayuda.
Estoy siguiendo los pasos a ver que consigo.
Es normal que este exe llame a GDI32 y OPENGL32 ya que el programa emula instrumentos de cabina de avion y estan graficamente diseñados usando OpenGL.
Un saludo.
@LSL: Si lo necesitas, te paso mi userdb:http://www.megaupload.com/?d=ZF8BA1N3 (http://www.megaupload.com/?d=ZF8BA1N3)
Tiene como 2 megas...
Saludos!
descargada y colocada,
ahora si me informa "Thinstall Embedded 2.620-2.623 -> Jitit [Overlay] *"
mi userdb de signaturas externas, solo tenia 1 mega. :-(
MUCHISIMAS GRACIAS :)
No hay por donde.... ;D
aver nose mucho de esto pero pueda que tenga sugerencias si es como un usuario que dijo que es de 16 bits entonces prueva con el wadams 8.93 si esta comprimido entonces prueva con el quickunpack 2.2 es el programa que yo uso para desempaquetar las protecciones yo haun no lo reviso porque estoy descargandome otra cosa del servidor pero en cuanto lo termine lo descargo chao
Para ganstarflowconsul:
Hola de nuevo, ya hemos desempacado el fichero.
El problema es que al desempaquetar tengo problemas, ya que el PEID lo desempaqueta, pero al sacar el EXE da errores por culpa de las DLL OPENGL y GDI.
Estoy intentando averiguar como suprimir el codigo al pedir la clave pero no hay manera.
A ver si con un poco de paciencia lo consigo.
Un saludo y muchas gracias por la ayuda.
oki cual es el exe y cual es el paquer????????