Foro de elhacker.net

Programación => Ingeniería Inversa => Mensaje iniciado por: yako-_- en 23 Julio 2010, 17:53 pm



Título: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: yako-_- en 23 Julio 2010, 17:53 pm
Buenas!!

Protección:

RDG(Modo normal): Asprotect 2.x.x (Detección heuristica) Comprimido con motor Aspack

RDG(Modo avanzado):Asprotect SKE v2.2

Peid:ASProtect 2.1x SKE -> Alexey Solodovnikov

Bien pues e probado con striper, que es con el que generalmente quito este packer y empieza bien pero al rato queda pillado, le doy a "kill" y me crea un exe que no funciona. Probé con Peid me puse en el OEP dumpee con plugin olly arregle la IAT y me crea un exe basura. También e probado con unos plugins que trae el olly sadow que busca el OEP,  lo  mismo reconstrullo la iAT y saco un exe basura. Los tutos que encontré sobre este packer no me lo dejaron muy claro. Alguien me hecha un cable?

Este esta es la aplicación en cuestión:

http://www.megaupload.com/?d=ERUC481H
Tamaño del archivo: 495.98 KB

Un saludo!! y como siempre gracias de antemano


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 24 Julio 2010, 09:16 am
Subelo a otro server lo miro, que me interesa ver mucho este packer ;)


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: LSL en 24 Julio 2010, 10:14 am
con tu permiso yako-_-, lo subo a otro server.

Amerikano, mira si te viene bien este upload (además sin tiempos de espera) :D


http://www.myupload.dk/showfile/56808456749.exe/


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 24 Julio 2010, 16:18 pm
Gracias ;)


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 24 Julio 2010, 20:10 pm
Lo he mirado un poco y por suerte tiene solo redireccion de la Iat, y ya encontre el sitio donde se pasan las apis que van en cada una de las calls que van a la zona de Asprotect, vere si saco un pequeño script para automatizar la tarea y que quede un dumpeado listo.

Saludos


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: yako-_- en 25 Julio 2010, 06:28 am
Buenas!!

Gracias tío ¿te seria muy engorroso hacer un minitute para  hacerlo yo?(¿igual ya es mucho pedir no?) de todas  te agradezco lo del script.  

Pero bueno me cundia hacerlo yo es que no encuentro información que pueda llevar a la practita en este caso. Segui varios tutes pero me sale un dump basura


un saludo!!! y gracias de nuevo


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 25 Julio 2010, 08:19 am
Bueno creo que ya casi termino el script, pero me distraje jugando Pro evolution 2010 y ya sabes  :silbar:, si lo termino mañana pues claro hombre que hare un mini tuto aunque sea, aunque ahora me voy a dormir que se me hace tarde  :xD


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: yako-_- en 26 Julio 2010, 01:56 am
Gracias !!


Un saludo!!


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: ThunderCls en 26 Julio 2010, 23:00 pm
Como dice yako-_-, el striper nunca me ha funcionado con esa version del ASP, pero si mal no recuerdo, por ahi existe un script(.osc) para esa version justa del ASProtect, que te lo desempaca completo y te lo deja limpiecito, muy bueno que esta, todos los SKE 2.1x o 2.2 con los que me he topado me los ha desempacado casi perfectos, luego solo es cuestion de revisar una que otra API que no concuerde y listo...de verdad, muy bueno  ;-)...creo que es de un tal "VolX"...no recuerdo bien si es asi el nombre del creador.
Saludos


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 26 Julio 2010, 23:11 pm
Bueno el script que estoy haciendo esta reparando correctamente las entradas, estoy viendo que estan quedando como 2 pero nada que no solucione un buen traceo para ver que pasa y añadilre al script, asi que pronto estará.

saludos


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: yako-_- en 27 Julio 2010, 04:36 am
Vale fenómeno!!!

Deseando leer ese minituto y probar el script, le tienes ganas al ASPtotec e ::)


Un saludo!!
 

PD:[ Thunder | CLS ] <--- Gracias por la info a ver si lo encuentro para echarle un vistazo. Un saludo!!


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: tena en 28 Julio 2010, 23:58 pm
CITO PALABRAS DE AMERIKANO:

<amerikano> fijate que el script que hice va de maravilla
<amerikano> lo unico
<amerikano> fue que al dumpear
<amerikano> no andaba
<amerikano> y la sorpresa fue que tenia vm

Con respecto a la VM, Amerikano esta trabajando duro en ese tema desde hace un tiempo, asi que dentro de pronto esperamos ver su trabajo.

Aqui dejo el script que hizo:

Código:
var dirCall
var dirCode
var sizeCode
var cont
var dir
var dirR
var dirMagic
var dirMagic2
var dirMagic3
var asprotect
var api
var iniIat
var sizeIat
var temp
var modulo1
var modulo2
var nApi1
var nApi2

mov cont, 0
mov asprotect, 0
mov dirCode, 401000
mov sizeCode, 21000
mov iniIat, 422000
mov finIat, 4222e8
mov dirCall, 1230000
mov temp, 0

start:

eoe cont
run

cont:

    inc cont
    cmp cont, 2 //Compruebo si es la segunda excepcion

    je oep

    jmp start

oep:
    bphws 041e042, "x"    //oep
    run
   
    eob busca
   
busca:
   
    find dirCode, #e8??????00#
   
    cmp $RESULT, 0
    je fin
   

compruebaCall:
   
    mov eax, $RESULT
    add eax, [eax+1]
    add eax, 5
    cmp eax, dirCall

    je contBusqueda //Si es igual seguimos
   
    mov dirCode, $RESULT
    inc dirCode
    jmp busca
   
   
contBusqueda:

    mov dir, $RESULT

    cmp dirMagic, 0
   
    jnz contBusqueda2 //Salta si no esta todavia el hbp en la zona de asprotect
   
    findmem #508b45f8508b4510#

    cmp $RESULT,0
   
    je fin

    mov dirMagic, $RESULT
   
    bphws dirMagic, "x"    //Direccion de asprotect donde veremos las apis

   
contBusqueda2:

    cmp dirMagic2, 0
    jnz contBusqueda3

    findmem #576a008d4de0#

    cmp $RESULT,0

    je fin

    mov dirMagic2, $RESULT

    bphws dirMagic2, "x"    //Direccion de asprotect donde veremos las apis


contBusqueda3:

    cmp dirMagic3, 0
    jnz continua

    findmem #508b45f883c00450#

    cmp $RESULT,0

    je fin

    mov dirMagic3, $RESULT

    bphws dirMagic3, "x"    //Direccion de asprotect donde veremos las apis


continua:
    mov eip, dir

    eob obtieneApi
    run

obtieneApi:
   
    mov api, eax
    gn eax

    cmp eip, dirMagic
    je api
    cmp eip, dirMagic2
    je api
    cmp eip, dirMagic3
    jnz error


api:       

    mov modulo1, $RESULT_1
    mov nApi1, $RESULT_2
   
    mov ecx, iniIat
    mov eax, iniIat
   
    jmp buscaSiEsta    //Primero miramos si la api ya esta en la iat para no tener que insertarlo nuevamente

   
contObtieneValor:

    cmp ecx, finIat
    je finIat

obtieneValor:

    mov temp, [ecx]

    cmp temp, 0
    je incrementa

    gn temp

    cmp $RESULT_1, 0 //Comprueba si es un valor trucho ya que no tendria modulo asociado

    je insertaApi    //Si es trucho insertamos la api aqui
 
    add ecx, 4
   
    jmp obtieneValor

incrementa:
   add ecx,4
   jmp obtieneValor

insertaApi:
       
    mov [ecx], api
    mov dirR, ecx
   
reparaCall:
   
    mov [dir], 15ff    //reparamos el call
    mov [dir+2], dirR //Insertamos la posicion de la iat en el call   
   
    add dir, 5
    mov dirCode, dir

    jmp busca
   
buscaSiEsta:

    cmp eax, finIat
   
    je contObtieneValor //Llegamos al fin de la IAT y no hubo coincidencias
   
    mov edx, [eax]
    gn edx
   
    cmp $RESULT_2, nApi1
    mov dirR, eax
   
    je reparaCall
   
    add eax, 4
    jmp buscaSiEsta
   
error:
    msg "No se paro en ningun hbp"
    ret

finIat:
    msg "Se ha terminado la tarea"
    ret

fin:
    msg "Se ha terminado la tarea"
    ret
ret


<amerikano> solo deberias cambiarle la direccion a las que se dirigen las calls y ya.


slds


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 2 Agosto 2010, 17:20 pm
Gracias Tena por hacerme el favor, es que estaba fuera de casa y no me entraba el foro y bueno aqui estoy, y como bien dice tena lo dela VM es algo que estoy estudiando lo que implica que todavia laburo en ello  ;)


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: apuromafo CLS en 3 Agosto 2010, 00:37 am
si hablan de unpacker, deben hablar segun la version

yo de los script conozco el de volx y vi tambien sus updates, pero el mejor uso lo veo en el plugin llamado
CODEDOCTOR de hedneka,
en sus opciones tiene uno que desempaca hasta los 2.5x
yo creo que un buen olly con strong OD o phanthom mas ese plugin, creara un dumped Funcional, lo de la iat, ya es otra historia

asprotect ultimamente en los sdk esta colocando muchas funciones que se parecen a las de armadillo, o algun otro packer, no alcanzo a explicar mucho, pero se que es posible desempacar cualquier asprotect,
pero si tiene alguna encriptacion que no puede desencritpar ese programa, es porque realmente necesita de una clave valida..


saludos Apuromafo

pd:
http://tuts4you.com/download.php?view.2834
bajarlo directo:
http://tuts4you.com/request.php?2834


para mi es ollydbg con sus plugin y agregar esta dll, elegir la opcion unpacker y esta ok.

leer esto:

7) AsProtect Unpacker

This will unpack file packed by AsProtect, fix it, dump asprotect.dll and print various information to text file. Please report targets, where it fails.

Limitations:
1) Doesn't find or fix SDK functions in 1.x versions (you need to find these manually).

There are two types of these. One has a form of one or more functions called before OEP, that do various initializations. If they are not run, the program may appear expired or not run at all. Find them and run them :-)

The second type is run after OEP and hides behind GetProcAddress with special parameters, which AsProtect (if available) redirects to its own code. You need to deal with these manually.

2) in 2.30 - 2.51, there are two types of stolen functions - one is PolyOEP style, the other is virtualized; it can fix only the former, while the latter is used in AsProtect itself only

3) it doesn't find CRC or envelope checks, but it can prevent one type of envelope check, which checks for E8 in jumps to API

4) it doesn't decrypt encrypted parts or sections

5) it doesn't find serial, fix trial etc.

6) if it has overlay, it may be broken after unpacking (for example if it needs to be in fixed offset in file or if it's a certificate)

Bugs:
- doesn't work with certain 1.10 variations, I will fix this when I have time

Notes:
- after unpacking files protected by AsProtect 2.x, you may need aspr_ide.dll; get it from aspack.com and modify if needed



noticia:3/8/10

tengo un unpacked:
usando el codedoctor hay un log, pero ahi le vi un poco largo
 para ayudar un poco
comienza con este pseudounpacked si aun no lo tienes desempacado:

enlace unpacked proposito educacional:
http://www.mediafire.com/?x1mmrphjtch9hjf


mas o menos asi deberia reconstruirse el EP :
cuando ya esta mas o menos des-virtualizado
Citar
009C0000   55               PUSH EBP
009C0001   8BEC             MOV EBP,ESP
009C0003   6A FF            PUSH -1
009C0005   68 08234200      PUSH 422308
009C000A   68 88934100      PUSH 419388                              ; Entry address
009C000F   64:A1 00000000   MOV EAX,DWORD PTR FS:[0]
009C0015   50               PUSH EAX
009C0016   64:8925 00000000 MOV DWORD PTR FS:[0],ESP
009C001D   83EC 58          SUB ESP,58
009C0020   53               PUSH EBX
009C0021   56               PUSH ESI
009C0022   57               PUSH EDI
009C0023   8965 E8          MOV DWORD PTR SS:[EBP-18],ESP
009C0026   FF15 40214200    CALL DWORD PTR DS:[<&KERNEL32.GetVersion>; kernel32.GetVersion
009C002C   33D2             XOR EDX,EDX
009C002E   8AD4             MOV DL,AH
009C0030   8915 14784800    MOV DWORD PTR DS:[487814],EDX
009C0036   8BC8             MOV ECX,EAX
009C0038   81E1 FF000000    AND ECX,0FF
009C003E   890D 10784800    MOV DWORD PTR DS:[487810],ECX
009C0044   C1E1 08          SHL ECX,8
009C0047   03CA             ADD ECX,EDX
009C0049   890D 0C784800    MOV DWORD PTR DS:[48780C],ECX
009C004F   C1E8 10          SHR EAX,10
009C0052   A3 08784800      MOV DWORD PTR DS:[487808],EAX
009C0057   33F6             XOR ESI,ESI
009C0059   6A 00            PUSH 0
009C005B   E8 EAB8A5FF      CALL desempac.0041B94A
009C0060   59               POP ECX
009C0061   85C0             TEST EAX,EAX
009C0063  -0F85 AD12AEFF    JNZ desempac.004A1316
009C0069   6A 1C            PUSH 1C
009C006B   E8 6606AEFF      CALL desempac.004A06D6
009C0070   59               POP ECX
009C0071   8975 FC          MOV DWORD PTR SS:[EBP-4],ESI
009C0074   E8 F4ECADFF      CALL desempac.0049ED6D
009C0079   FF15 44214200    CALL DWORD PTR DS:[<&KERNEL32.GetCommand>; kernel32.GetCommandLineA
009C007F   A3 688E4800      MOV DWORD PTR DS:[488E68],EAX
009C0084   E8 68FDADFF      CALL desempac.0049FDF1
009C0089   A3 70784800      MOV DWORD PTR DS:[487870],EAX
009C008E   E8 E111AEFF      CALL desempac.004A1274
009C0093   E8 4512AEFF      CALL desempac.004A12DD
009C0098   E8 6A04AEFF      CALL desempac.004A0507
009C009D   8975 D0          MOV DWORD PTR SS:[EBP-30],ESI
009C00A0   8D45 A4          LEA EAX,DWORD PTR SS:[EBP-5C]
009C00A3   50               PUSH EAX
009C00A4   FF15 48214200    CALL DWORD PTR DS:[<&KERNEL32.GetStartup>; kernel32.GetStartupInfoA
009C00AA   E8 160EAEFF      CALL desempac.004A0EC5
009C00AF   8945 9C          MOV DWORD PTR SS:[EBP-64],EAX
009C00B2   F645 D0 01       TEST BYTE PTR SS:[EBP-30],1
009C00B6  -0F84 17F9ADFF    JE desempac.0049F9D3
009C00BC   0FB745 D4        MOVZX EAX,WORD PTR SS:[EBP-2C]
009C00C0   50               PUSH EAX
009C00C1   FF75 9C          PUSH DWORD PTR SS:[EBP-64]
009C00C4   56               PUSH ESI
009C00C5   56               PUSH ESI
009C00C6   FF15 4C214200    CALL DWORD PTR DS:[<&KERNEL32.GetModuleH>; kernel32.GetModuleHandleA
009C00CC   50               PUSH EAX
009C00CD   E8 B70EAEFF      CALL desempac.004A0F89
009C00D2   8945 A0          MOV DWORD PTR SS:[EBP-60],EAX
009C00D5   50               PUSH EAX
009C00D6   E8 DD90A5FF      CALL desempac.004191B8
009C00DB   8B45 EC          MOV EAX,DWORD PTR SS:[EBP-14]
009C00DE   8B08             MOV ECX,DWORD PTR DS:[EAX]
009C00E0   8B09             MOV ECX,DWORD PTR DS:[ECX]
009C00E2   894D 98          MOV DWORD PTR SS:[EBP-68],ECX
009C00E5   50               PUSH EAX
009C00E6   51               PUSH ECX
009C00E7   E8 9ECFA5FF      CALL desempac.0041D08A
009C00EC   59               POP ECX
009C00ED   59               POP ECX
009C00EE   C3               RETN


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: apuromafo CLS en 3 Agosto 2010, 19:31 pm
para borrar..


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: MCKSys Argentina en 3 Agosto 2010, 19:36 pm
U!!!! Pero qué pedazo de log!!!

ja,ja,ja,ja,ja...  ;D


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: apuromafo CLS en 3 Agosto 2010, 21:55 pm
U!!!! Pero qué pedazo de log!!!

ja,ja,ja,ja,ja...  ;D
sip, era muy largo,
prefiero enviar el unpacked , mas su log , mas la dll que desempacaba de memoria del asprotect mas la dll que necesita para funcionar, pues no estan parchado los enveloped check que son los skd del programa

por lo demas, creo que desempacado la pregunta es otra, como va a arreglar el exe para que se vea mas estetico..

saludos Apuromafo


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: yako-_- en 5 Agosto 2010, 03:25 am
Buenas!!

Gracias por curraroslo así voy a probar la dll y los scripts a ver si lo desempaqueto y cuando este listo el tute de Amerikano|Cls lo hago manualmente  :¬¬


Un saludo y Gracias!!

Pd: lo de la VM debe ser engorroso yo nada mas abrirlo en la VM se me cala.


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 5 Agosto 2010, 05:44 am
Puedo jurar que ya habia respondido a este post pero bueno  ;-) ;-) ... Lo de la vm es un trabajo que va paso a paso pero firme  :xD


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: yako-_- en 7 Agosto 2010, 23:09 pm
Buenas!!


OK Amerikano|Cls con lo de la VM tú no comentaste nada  :¬¬

Mas que nada era por recordarte el tema del tute...     :silbar:

Un saludo!!


Título: Re: Ayuda ASProtect SKE 2.1x o 2.2
Publicado por: Amerikano|Cls en 8 Agosto 2010, 01:49 am
Aque si comente seguro fue un fantasma o algo que lo quito que se yo  :xD, y bueno mañana me estoy animando a empezar a escribir sobre esto  :silbar: