Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - apuromafo CLS

#951
yo estaba aprovechando de crear un tutorial de ollyscript,
asi que son bienvenidas tus dudas espero charlar contigo a ver si le das un checkeo aver como va.

saludos Apuromafo
#952
Ingeniería Inversa / Re: este crack tiene virus?
2 Septiembre 2011, 03:21 AM
jeje definamos alguna cosa mayor, si el crack es de otro, lo usarias?

algo es malware o no, yo he depurado algunos virus y troyanos y son dignos de recordar, algunos no tanto. son pocos los programas que hacen ganchos y emulacion de dll.

yo hasta podria hacerte un tutorial de malwarebytes xD y sus blacklisted serial , es un programa hecho en visual basic hasta la ultima vez que lo checkee..tenia sus mensajes internos que decia que porfavor pensaramos en su familia o algo asi, y se basaba en una comparacion con su ID correcto, luego gracias por registrar.

pero al tema
sip,  un programa puede estar protegido, empacado, ofuscado y ser detectado como troyano, lo mismo pasa con troyan hunter, con paretologic , con cualquier aplicacion que detecte si esta comprimida o ofuscada etc..kaspersky, panda virustotal.
lo mas probable es que reconozca que es lo que tiene...

si quieres analizar alguna aplicacion por ingenieria inversa, vamos , charlemos todos podemos aprender..

ahora bien, si dudas que es un troyano o funciona mal, lo mejor es no usarlo, yo normalmente suelo yo crackear mis propias aplicaciones y determinar si ese es el mejor camino, aveces hasta he tenido la solucion ahi mismo y no la leo, hasta cuando ya lo resolvi a mi forma...creo que no hay mejor historia como cuando se cuenta por uno mismo
si el problema es de un servidor que uno usa, pues pedirle que proteja con otra cosa seria extraño, no es el software de uno.


Under esta recien comenzando, y MCKSys tambien tiene gran trayectoria, no dudo de las palabras dichas por el.

consejo:
1) la aplicacion esta protegida con un packer denso/protector que no es para newbies es mas hasta depurarlo requiere analisis de maquinas virtuales, temas que no alcanzan ni en todos los tutoriales que haya escrito.

2) si crees que es peligrosa, no la uses, usa siempre lo original y si es tu interes crackear algo, pues animate a aprender mas :) y hacerlo por tu cuenta


3)  my olly no muestra ningun problema ---
#953
Ingeniería Inversa / Re: este crack tiene virus?
2 Septiembre 2011, 00:59 AM
no se si tendra virus o no , pero si lo empacaron con un protector que suele ser detectado es

Scanning -> C:\Documents and Settings\usuario\Mis documentos\Descargas\SKIDROW.dll
File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 195072 (02FA00h) Byte(s)
[File Heuristics] -> Flag : 00000000000001001101001100000011 (0x0004D303)
[!] VM Protect v1.60 - v2.05 detected !
#954
mov HOLA,AUX,1
mov HOLA,AUX+1,1  //Y ASI.. hay mas formas..de vuelta de la iglesia verifico y te comento..


volvi de la iglesia, el tema delicado es saber como almacena la informacion:

Citarvar valor1
var valor2
var valor3
var valor4
var valor5
Mov valor1,61
Mov valor2,#61#
Mov valor3,"61"
/*  notese es " y no "     */
Mov valor4,eip
Mov valor5,[eip]
eval "vamos a diferenciar {valor1}//{valor2}//{valor3}//{valor4}//{valor5}"
log $RESULT,""
//msg $RESULT
pause
/*
pero si miramos el log tenemos  vamos a diferenciar 61//#61#//61//40B3F3 y  6AEC8B55
pero desde la interfaz, asi como bien diriamos para comparar tenemos
Es 0x61 decimal 97 ,
el segundo es  como letra "a" ->#61# ,
el tercero es como "61"->#3631#
el cuarto es la direccion
el quinto es los bytes de esa direccion
estas diferencias son importantes, porque llegara el momento que deberas comparar...
*/


RET //final del script

mira que no es igual aunque se parezcan...


ahora yendo a tu pregunta aun no termino de modificar, pero deberia ser mas o menos asi:

Citarvar HOLA
var AUX
mov AUX,[eax]
len aux
mov sizeaux,$result
loop:
cmp sizeaux,0
je fin
mov evaluador,AUX,sizeaux
eval "tenemos como evaluador//AUX//sizeaux"
log $RESULT
dec sizeaux
jmp loop

fin:
ret

#955
el destino de un salto siempre estara pero aveces se puede personalizar un poco:
una de las opciones de olly cuando pones resaltar los saltos,  .

Ollydbg->options (alt+O)  ->debugging option->
tab CPU  : show direction of jumps//show jump path
y ahi..ves un poco
#956
Cita de: Tinkipinki en  1 Septiembre 2011, 11:50 AM
Hola .:UND3R:.

A este ritmo vamos a tener entretenimiento para todo el mes. ;-)
Hay alguna direccion para bajar el crackme?

Saludos


sip, ya luego espero que tinkipinki haga sus crackmes y tutoriales a la vez.., realmente saber codificar y saber cracking deberia dar resultados impresionantes..imaginate yo no se codificar , pero aprendi sobre la marcha algo de todo un poco..

felicidades under porque ya de a poco le vas tomando ritmo..cuando te canses, analiza mas el pasado e intenta optimizarlo...


saludos Apuromafo
#957
si estamos en una direccion digamos que es "eip",
vemos el tamaño de ese valor de eip , no se un push un call o otro
luego se resta a eip, el valor del tamaño de eso y ahi iria atras.

hay muchas cosas dependiendo insisto de lo que realmente se quiere hacer.
otra cosa se podria investigar el valor de codesize o otro..aver mejor un ejemplo grande..:


aqui queria buscar la iat, en el oep, luego si no la pillo busco un jmp comenzando en Eip, y encontrando su memory base
en otras palabras si estoy en 401000 y comienza el modulo en 400000 pues colocara start el valor de 400000 , luego voy revisando si tiene nombre de api con la funcion GN, luego voy restando de donde si encuentra una api hacia atras con sub , luego de encontrar ese lugar loguea si la distancia es 4, pasa que si no hay apis, normalmente hay un espacio asi

12345 api
00000
00000
12345 api

si cuenta por ejemplo 15 funciones y en la tercera vez cuenta 16, pues no es como para detenerlo....
luego si tenemos una iat asi por ejemplo
00000
00000
00000
12345 api

puede que la funcion sea por ejemplo 20 apis y luego 20 y luego 20, ahi veo que
el primer valor logueado y con la misma cantidad de funciones repetidas, es la que deberemos usar como inicio
esto solo para ejemplos pequeños

private script como idea de   JMp dword api buscando el comienzo de la iat


Citarmov safeexit,0
MOV RARO,0
mov start,eip
GMEMI start,MEMORYBASE
mov start,$RESULT
iatcero_sub1:
findmem #FF25????????#, start
cmp $RESULT, 0
je nohaymas
CMP RARO,15
JE nohaymas2
mov resuultado,$RESULT
gci resuultado,DESTINATION
mov tmp,$RESULT
gn tmp
mov API_NAME, $RESULT
cmp API_NAME, 0
je msgg55
mov hash,[resuultado+2],4
mov hash2,[resuultado+2],4
//v1 GMEMI hash,MEMORYBASE
//mov iatapuromafo, $RESULT
//GMEMI hash,MEMORYBASE
//mov memo,$RESULT
//mov size,$RESULT
mov idolo,4
mov cam,1
mov malas,0
terminarree:
cmp idolo,7
je ahorasi
sub hash2,4
//mov hash2,$RESULT
//gci hash2,DESTINATION
//mov tmp,$RESULT
mov hash3,[hash2],4
gn hash3
mov API_NAME, $RESULT
cmp API_NAME, 0
je nopillaapi
inc cam
jmp terminarree
mueve7:
mov idolo,7
jmp terminarree
nopillaapi:
add malas,1
//eval "{hash2} y {malas}"
//log $RESULT
cmp malas,1
jne malas2
ja malas2
mov hash_acumula1,hash2
jmp continue
malas2:
cmp malas,2
jne malas3
ja malas3
mov hash_acumula2,hash2
mov comparar,hash_acumula1
sub comparar,hash_acumula2
cmp comparar,4
jne increm
inc safeexit
mov algo,hash2
add algo,4
add algo,4
eval "tengo {safeexit} diferencia de 4, y {cam} //{algo}"
log $RESULT,""
increm:
jmp continue
malas3:
cmp malas,3
jne malas4
ja malas4
mov hash_acumula3,hash2
mov comparar2,hash_acumula2
sub comparar2,hash_acumula3
cmp comparar2,4
jne increm2
inc safeexit
mov algo,hash2
add algo,4
add algo,4
eval "tengo {safeexit} diferencia de 4, y {cam} //{algo}"
log $RESULT,""
increm2:

jmp continue
malas4:
cmp malas,4
jne malas5
ja malas5
mov hash_acumula4,hash2
mov comparar3,hash_acumula3
sub comparar3,hash_acumula4
cmp comparar3,4
jne increm3
inc safeexit
mov algo,hash2
add algo,4
add algo,4
eval "tengo {safeexit} diferencia de 4, y {cam} //{algo}"
log $RESULT,""
increm3:
jmp continue
malas5:
cmp malas,5
jne malas6
ja malas6
mov hash_acumula5,hash2
mov comparar4,hash_acumula4
sub comparar4,hash_acumula5
cmp comparar4,4
jne increm55
inc safeexit
mov algo,hash2
add algo,4
add algo,4
eval "tengo {safeexit} diferencia de 4, y {cam} //{algo}"
log $RESULT,""
increm55:
jmp continue
malas6:
cmp malas,6
jne malas7
ja malas7
mov hash_acumula6,hash2
mov comparar5,hash_acumula5
sub comparar5,hash_acumula6
cmp comparar5,4
jne increm56
inc safeexit
mov algo,hash2
add algo,4
add algo,4
eval "tengo {safeexit} diferencia de 4, y {cam} //{algo}"
log $RESULT,""
increm56:
jmp continue
malas7:
cmp malas,7
jne malas8
ja malas8
mov hash_acumula7,hash2
mov comparar6,hash_acumula6
sub comparar6,hash_acumula7
cmp comparar6,4
jne increm57
inc safeexit
mov algo,hash2
add algo,4
add algo,4
eval "tengo {safeexit} diferencia de 4, y {cam} //{algo}"
log $RESULT,""
increm57:
jmp continue
malas8:
continue:
cmp malas,10
je mueve7
cmp safeexit,4
je cuidado
jmp terminarree
cuidado:
eval "{hash2} y {malas}"
log $RESULT,""
jmp terminarree

ahorasi:
ret

mov restar,hash,1
sub hash,restar
mov iatapuromafo,hash

mov start2,iatapuromafo
add start2,restar
findmem #000000000000000000000000#, start2
mov end, $RESULT
mov end2,500
mov end3,end2
add end3,iatapuromafo

mov end4,end
//

cmp end4,end3
ja end3
sub end4,iatapuromafo
mov end5,end4
log "working with hash+iatzise below 500"
ret
end3:
mov end5,end2
log "working with hash+default 500 iatzise"
ret
nohaymas:
msgg:
msg "try other way"
ret
msgg55:
add start,4
INC RARO
jmp iatcero_sub1

nohaymas2:
msg "se buscaron 15 y nada!"
ret
#958
comparar resultados en el log, pues bastaria que loguearas y veas tu despues!

Citarvar uno
var dos
sigamos:
inc uno
dec dos
log " {uno} y {dos}"
log $RESULT
//MSG $RESULT
//asmtxt EIP, "textoeip.txt"
cmp uno,40
je sigamos
ret



CitarVAR ingresado
VAR tamaño_ingresado

comienza:
ASK "ingresa algun valor o texto o algo:"
CMP $RESULT, 0
JE comienza
MOV ingresado, $RESULT
MOV tamaño_ingresado, $RESULT_1
eval "tu valor ingresado es : {ingresado} y el tamaño es :{tamaño_ingresado}"
log $RESULT
//msg $RESULT
RET
#959
+1

felicidades, sigue asi con tutoriales..
Apuromafo
#960
felicidades sigue asi ^^