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
Subelo a otro server lo miro, que me interesa ver mucho este packer ;)
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/
Gracias ;)
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
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
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
Gracias !!
Un saludo!!
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
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
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!!
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:
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
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 ;)
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
para borrar..
U!!!! Pero qué pedazo de log!!!
ja,ja,ja,ja,ja... ;D
Cita de: MCKSys Argentina en 3 Agosto 2010, 19:36 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
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.
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
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!!
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: