Bueno, lo he mirado y está divertido. Lo recomiendo para quienes se están iniciando, como práctica.
Por lo pronto, algunos datos:
1) Para desempacar el exe original, recordar lo básico sobres los EP de los EXEs hechos en VB5/6 (El runtime es la clave para llegar al OEP! (y para restaurarlo)).
2) Una vez desempacado el primero, basta con revisar un poco el código para ver que está sacando el segundo EXE de los recursos. (CUSTOM)
3) Por último, para desempacar el segundo EXE, es sencillo, y la técnica de PUSHAD-POPAD es suficiente (Por cierto, el packer usado es MPRESS:
http://www.matcode.com/mpress.htm)
Luego, basta con seguir el código. Para esto, nos podemos valer de VBDecompiler o mejor aún, usar los puntos magicos de VB (en el caso de VB6, hay que buscar
F3A5FFD08BE55D8945FC8B45FC5F5EC9C20C00)
Por las dudas, como se dijo antes, se usa StrCmp para comparar el serial cifrado con el serial correcto (cifrado tambien).
La tecnica de encriptacion usada es caesar y se distribuye asi:
abcdefghijklmnopqrstuvwxyz
fghijklmnopqrstuvwxyz{|}01
Como es evidente, poniendo un BP en msvbvm60.__vbaStrCmp vamos a ver ambos strings y usando el alfabeto anterior sale la password, la cual es: un superhéroe con capa roja.
Como dije antes, está bueno para practicar.
Saludos!
PD: Por las dudas, si alguien lo quiere ver desde cero, dejo referencias sobre VB:
Disassembling Visual Basic Applications por Sanchit Karve
Visual Basic Image Internal Structure Format por Alex Ionescu
Visual Basic Reversed - A decompiling approach por AndreaGeddon
Teorías sobre VB de la web de Ricardo Narvaja (
www.ricardonarvaja.info)-Teoría 011-Olly y Visual Basic por COCO
-Teoría 012-Olly y Visual Basic 2 por COCO
-Teoría 061-Olly y Visual Basic 3 por COCO
-Teoría 190-Olly y Visual Basic 4 por COCO
-Teoría 235-Punto Magico VB6 por ARAPUMK
-Teoría 236-Punto MagicoII VB6 por ARAPUMK
-Teoría 242-OEP en VB por ARAPUMK