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

#1271
supongo que el instalador debe ser el delphi

bueno lo primero seria que leyeras desde el tutorial desde 0 y ahora saber si ese vb es nativo o pcode

por lo demas seria ver las apis que usa y las variables vbastrcmp, y alguna dllfuntion entre otras

saludos y animo..ahora voy a dormir,

sugiero el vbastrcmp para comenzar..(revisar mediafire.com/apuromafo)
mediafire.com/?sockyth09ci

y en cuanto a escritos en vb creo que hay muchos ejemplos en el foro

saludos Apuromafo
#1272
Ingeniería Inversa / Re: AYUDA CON ESTE SERIAL
27 Agosto 2008, 06:05 AM
y otro consejo, comienza con ejemplos hechos por otros,
para que vayas comparando si tienes igual o similar conocimiento al que te plantean

la unica forma de entender los arlgoritmos y codigos planteados es tener una buena base en assembler y saber como hacerlos cumplir

tu bien decias que eras novato y todo, pero igual debes lograr cosas posibles y concretas
y no aprender algoritmos que al final de al cabo no terminas mas que en desiluciones

revisa los tutoriales y escritos que hay en el foro y todo

si realmente eres novato, creeme que te ayudara

yo llevo mas de 3 años en esto y no tengo nada que ver en computacion, y creeme que la unica forma de aprender es en escala..

forma las bases, busqueda de info y todo lo demas como sale en la biblia es Añadidura

saludos Apuromafo
pd:susalinic espectacular como vas explicando, jej ya supongo que pronto terminas resolviendolo..como bien lo hiciste con el crackme 5 de x4uth
#1273
Ingeniería Inversa / Re: CrackMe05 by x4uth
24 Agosto 2008, 22:10 PM
susanalic
agarra un traductor para ingles e intenta traducirlo a ingles y postearlo en

http://crackmes.de/users/x4uth/serialme5/

asi tendrias uno resuelto por ti
aprovecha de registrarte..en crackmes.de

lo guarde tb para que no se pierda el logro
ha quedado espectacular, felicidades

solo te digo como experiencia que el tutorial debe ser en ingles para postearse y creeme que puede ser util para recordarse
(siempre haz un backup para antes de enviarlo, pues las respuestas tardan un poco)

espero lo hagas :)

y si puedes dejarlo en bilingue
osea ingles y español a la vez creeme que puede ser util para quien te siga el rastro en algun año..o de referencia
saludos Apuromafo

creo que con todo lo visto, has hecho algo espectacular, saludos sigue asi
#1274
Cita de: wekyta en 24 Agosto 2008, 00:24 AM
esto me sale con stripper

stripper v2.07 final
(c) by syd, kiev, 2002-2003

17:17:38 - loading modules..
- ASPack 2.xx (v1.00, full release)..
- ASProtect 1.2x (v1.07, full release)..

17:18:11 - open C:\Documents and Settings\Administrador\Mis documentos\Instalar.exe...
17:19:32 - executing.. may take for a few minutes.. be patient..
17:19:40 - can not unpack this file..
17:19:40 - done..

17:19:46 - executing.. may take for a few minutes.. be patient..
17:19:47 - can not unpack this file..
17:19:47 - done..

y AspackDie v1.41 tambien saca un error

emm pues creo que no le diste al archivo, dale enter , instalar y cuando termine pues revisa con RDG en el archivo instalado, no en el instalador que llevara los archivos

aspack es un modulo de compresion, quizas por eso decia el instalador un aspack sin version, si es borland delphi puede caber que en una de esas sea un Inno setup o bien un instalador custom


COnsejo, instala encuentra la ruta, y luego dentro de ella (inicio->programas->nombre del programa->archivo a analizar.exe ->propiedades del archivo)
al acceso directo pues mira la ruta y abrela..

encuentra los archivos y de ahi analiza con RDG el archivo..
y sigue con ollydbg y los escritos que hay en el foro

saludos y animo
#1275
aspack die tb sirve

ahora bien desempacar manual un aspack o inlinear un aspack debe ser el primer objetivo

aspack tiene 2 variantes
1) sin overlay y comun
2) con overlay y no tan comun

espero que te guies por el metodo de usar manualmente hasta llegar al OEP
y lo dumpees y luego le repares la iat + los valores malos

pero como comienzo te sugiero el unpacker,
\Stripper.v2.07 Final
Citarstripper v2.07 final
(c) by syd, kiev, 2002-2003

14:20:51 - loading modules..
- ASPack 2.xx (v1.00, full release)..
- ASProtect 1.2x (v1.07, full release)..

o bien el
AspackDie 1.41
Citar--------------
by yoda
   
This is a small unpacker for PE files (EXE, DLL, ...) which got compressed by
any Aspack version since Aspack 2000. This includes:

- Aspack 2000
- Aspack 2001
- Aspack 2.1
- Aspack 2.11
- Aspack 2.11c/d
- Aspack 2.12
- Aspack 2.12a/b
- some unknown version


me explico
cuando colocas buscar referencias no apareceran muchas a menos que presiones analizar y buscar
pero estando empacado no mostrara las mismas referencias que si estuviera unpacked, (amenos que configures bien el tema de disasm desde el code)

RDG es un buen comienzo, ya sabes de por hecho que esta en delphi y eso implica que hay puntos magicos y todo eso

un amigo creo una herramienta llamada DEDE en la cual puedes exportar .map para guiarte dentro del mismo olly junto a un plugin de una persona llamada GODUP



#1276
si pudieras ver realmente que pasa con los conocimientos base quizas otro gallo cantaria

existen registros con cambios de ID normal

para basarse en generar un serial bien sabes que no es llegar y tirar que este es mi serial y punto, pues hay otras variables que influyen


ahora bien te sugiero lo siguiente
lee bien el escrito de comienzo desde 0 y intenta de a poco
mostrar tu avance

segun investigaba el programa es full funcional, solo la limitacion es lo que falta,
intenta en lo posible acceder a regedit, los archivos que accede y sobre todo como comienza todo

pues lo mas probable este empacado

pesan terriblemente asi que tardaras un tiempo, si no fuera tan tarde te hubiera dicho que nos vieramos en msn para ver que tanto sabes del tema

pero bueno animo y cuidado de como investigas..no me gusta opinar temas en sugerencias que incitan a crackear, pero como se que es solo apoyo, pues te digo eso..
comienza lento

y a la proxima vez me gustaria leer algo asi

tengo un programa hecho en c++ o delphi
comienza con un EP asi
40100 mov eax,0

puse bp en todas estas apis y este es el resultado

..alguien me podria ayuda a encontrar la limitacion?
se que se produce aqui etc..



ahora bien consejo, si se cierra es porque hay un valor trucho o mejor dicho malo
lo otro que puede guiar es pues la salida del programa..

saludos y animo Apuromafo
pd:no pienses que ando buscando cracks ni nada por el estilo, yo ahora andaba desestresandome con un crackme que supuestamente nadie habia escrito nada hasta ese dia..


es mas yo deje de lado la ingenieria inversa, pero no esta de mas aportar un grano de arena para los que comienzan y todo esto pues es visita y ayuda para que no pienses que no puedes hacer nada al respecto..
saludos Apuromafo
#1277
Ingeniería Inversa / Re: CrackMe05 by x4uth
23 Agosto 2008, 05:19 AM
bueno lo proximo seria un bruteforce

00401672  |> /81FB 232A4400 /cmp     ebx, 00442A23
00401678  |. |75 08         |jnz     short 00401682
0040167A  |. |81FF 232A4400 |cmp     edi, 00442A23


ahora bien se que es dificil cumplir el salto pero es claro lo que se debe lograr

debemos o debes lograr que el valor de EDX y EDI sean 442A23

ahora bien que influye en todo esto pues el saber que los valores tomados
siguen un cierto orden
004016A9  |> \83EB 01       |sub     ebx, 1                          ;  Case 0 of switch 0040169D
004016AC  |.  EB 0D         |jmp     short 004016BB
004016AE  |>  83EB 1A       |sub     ebx, 1A                         ;  Case 1 of switch 0040169D
004016B1  |.  EB 08         |jmp     short 004016BB
004016B3  |>  83C3 01       |add     ebx, 1                          ;  Case 3 of switch 0040169D
004016B6  |.  EB 03         |jmp     short 004016BB
004016B8  |>  83C3 1A       |add     ebx, 1A                         ;  Case 2 of switch 0040169D
004016BB  |>  C1EE 02       |shr     esi, 2                          ;  Default case of switch 0040169D
004016BE  |.  83FE 03       |cmp     esi, 3                          ;  Switch (cases 0..3)
004016C1  |.  77 22         |ja      short 004016E5
004016C3  |.  FF24B5 241740>|jmp     dword ptr [esi*4+401724]
004016CA  |>  83EF 01       |sub     edi, 1                          ;  Case 0 of switch 004016BE
004016CD  |.  83C5 01       |add     ebp, 1
004016D0  |.^ EB A0         |jmp     short 00401672
004016D2  |>  83EF 1A       |sub     edi, 1A                         ;  Case 1 of switch 004016BE
004016D5  |.  83C5 01       |add     ebp, 1
004016D8  |.^ EB 98         |jmp     short 00401672
004016DA  |>  83C7 01       |add     edi, 1                          ;  Case 3 of switch 004016BE
004016DD  |.  83C5 01       |add     ebp, 1
004016E0  |.^ EB 90         |jmp     short 00401672
004016E2  |>  83C7 1A       |add     edi, 1A                         ;  Case 2 of switch 004016BE



ahora bien hacer pasar las letras es un poco complejo , pero para que tengas una idea de pasar 10 letras a un estilo poco comun mira un poco
intenta este serial como base
ADFJCOBNMC

luego le vas incrementando y viendo los valores
llegara la deduccion que esto es un calculo matematico que suma y resta, y es esa suma y resta la que falta resolver


ahora vemos los cases y vemos nuestro serial (el orden de los cases)
00301112202310130320

ceros=7
unos =5
dos=4
tres=4

solo deberian ser pares al parecer o algo asi
claramente este es impar

hay otros que son como

y en comparacion a
ADFJCOBNMC

se puede agregar mas letras para las pruebas
pero igual debe ser de preferencia par, para la verificacion

aparte que sean con esas letras ahi condiciona que sean en forma mEDIA EXTRAÑA
me explico
1 4 6  12
1+1=2 mas el resultado obtenido
4 +resultado anterior=6
6+resultado anterior (4)= 12

Y PASA A  ser mas o menos valido el valor
ahora bien
letras como en forma par pueden ir enlazandose de a poco para jugar a las matematicas
AD
MC
FK
CO
BN


ahora en esa misma tematica, esos valores o numeros
de suma o resta deben ser exactos para que de el resultado

eso que dicen los case no es al azar y debe tener su logica
pues cuando es invalido
pues los valores no son tomados todos

ejemplo
004016D5  |.  83C5 01       |add     ebp, 1 ->la letra es tomada

por lo ideal creo que deberia pasar lo menos por los add, en especial por los add 1A


eso es lo que creo
saludos me voy a dormir..espero sirva esto poco para que puedas continuar con algun analisis

pues solo una combinacion grande de 0(resta) 2(suna)= valor que queremos

pues sera la solucion para terminar

pd:si no hubiera tenido la condiciones quizas hubiese sido mas facil

ahora bien como otro dato
004016DA      83C7 01       add     edi, 1

este valor da una zona normalmente descuadrada osea es indice que los pares aun no estan bien calculados

o bien aun no existe el patron normal

creo que tiene que ver con alguna matematica o formula muy bien pensada

pero como es tan corto el tiempo que tomo en verlo, pues solo intente unos pocos dedoforce..
asi que si se logra programar un bruteforce con pares de letras en vez de letras, en un momento quizas seria posible llegar a la solucion


no se me ocurre aun el bruteforce pero deberia ser de a par..
acabo de bajarme el pdf

y claramente sale tu solucion pero para 36 letras
intenta


saludos Apuromafo



ahora bien el calculo deberia ser de a par, pero nimporta
demosle segun el calculo
?4429D1+52 ->valor final para EBX
52= 82 en decimal
para EDI
?00442A5F-3C->valor final para EDI

-3C =-60
osea deben ser minimo 10 menos 10
osea -10 -10 -10 -10 -10 -10
o sea -a-a-a-a-a-a para EDI


recuerda que el 0a=10
por lo tanto sacar un 82 minimo debe ser
10+10+10+10+10+10+10+10+1+1
y lo otro puede ser neutro
ahora bien seria
+a+a+a+a+a+a+a+a+a+a1+1 ->minimo de serial para EBX=10
y lo otro seria un neutro

con esto podria ser un serial de 20 letras como minimo


saludos e intenta con los pares validos para ver que valor indexan, o suma o resta ahora bien como se que es dificil en el comentario tambien esta para recordar que hace

amm importante que la posicion por el OR no es igual para las mismas letras
pero son tomadas en pares..insisto de a par se puede hacer una tabla en cada posicion (10 posiciones diferentes ) osea 10 tablas
y se tendrian todos los casos validos en caso de

como serial correcto quizas con 1 tabla y basta, pero uno siempre piensa en keygen-

pero como tu dominas mas el tema si suma o baja edx o ebx es solo esa parte de que no querias calcular-- aun como para seguir avanzando

quizas con estos datos ya lo resuelve alguien que este interesado

como para hacer una tabla mas decente, pero de por hecho yo creo que ya con 20 de serial debe ser posible de resolver



se que tu lo haces matematicamente y con sumas y todo

quizas esos 20 puede haber una suma y resta a la misma vez, haciendolo mas pequeño el serial realmente  , porque realmente pasa por el 1ero y despues por el segundo por lo tanto el minimo seria 10 LETRAS..lo MAS PROBABLE


ahora bien mirando el tema para que sea mas facil pues como comentario
Citar
0040169D  |.  83FA 03       |cmp     edx, 3                     ;  definicion de los proximos casos; Switch (cases 0..3)
004016A0  |.  77 19         |ja      short 004016BB
004016A2  |.  FF2495 141740>|jmp     dword ptr [edx*4+401714]
004016A9  |>  83EB 01       |sub     ebx, 1                     ;  case 0 desde 40169D ->acaba de RESTAR 1 en EBX; Case 0 of switch 0040169D
004016AC  |.  EB 0D         |jmp     short 004016BB
004016AE  |>  83EB 1A       |sub     ebx, 1A                    ;  case 1 de 40169d ->acaba de restar 10 en EBX; Case 1 of switch 0040169D
004016B1  |.  EB 08         |jmp     short 004016BB
004016B3  |>  83C3 01       |add     ebx, 1                     ;  caso 3 de 40169d->acaba de Sumar 1 en EBX; Case 3 of switch 0040169D
004016B6  |.  EB 03         |jmp     short 004016BB
004016B8  |>  83C3 1A       |add     ebx, 1A                    ;  caso 2 de 40169d ->acaba de sumar 10 en EBX; Case 2 of switch 0040169D
004016BB  |>  C1EE 02       |shr     esi, 2                     ;  shr esi con 2 ; Default case of switch 0040169D
004016BE  |.  83FE 03       |cmp     esi, 3                     ;  definicion de los proximos casos; Switch (cases 0..3)
004016C1  |.  77 22         |ja      short 004016E5
004016C3  |.  FF24B5 241740>|jmp     dword ptr [esi*4+401724]
004016CA  |>  83EF 01       |sub     edi, 1                     ;  RESTA 1 en EDI; Case 0 of switch 004016BE
004016CD  |.  83C5 01       |add     ebp, 1
004016D0  |.^ EB A0         |jmp     short 00401672
004016D2  |>  83EF 1A       |sub     edi, 1A                    ;  RESTA 10 en EDI; Case 1 of switch 004016BE
004016D5  |.  83C5 01       |add     ebp, 1
004016D8  |.^ EB 98         |jmp     short 00401672
004016DA  |>  83C7 01       |add     edi, 1                     ;  SUMA 1 en EDI; Case 3 of switch 004016BE
004016DD  |.  83C5 01       |add     ebp, 1
004016E0  |.^ EB 90         |jmp     short 00401672
004016E2  |>  83C7 1A       |add     edi, 1A                    ;  SUMA 10 a EDI; Case 2 of switch 004016BE
004016E5  |>  83C5 01       |add     ebp, 1                     ;  EBP CONTADOR; Default case of switch 004016BE
004016E8  |.^ EB 88         \jmp     short 00401672

y eso de los valores de 00 30  00 30 20  como guiandose en los cases, y los pares son para el segundo puntero y el primero
osea uno para guiarse con EBX y otro para EDI

asi que mucho animo y comienza buscando pares de letras con 16 minimo y quizas en 1 dia ya lo tengas listo

solo basta darse un tiempo y terminar de a par saber cuando suma en el primero y cuanto resta en el segundo para cada par de letras
y evitar ir letra a letra..aunque se que es mas facil aveces esas tablas son bien factibles de enseñar a trabajar..


saludos Apuromafo








pero teniendo una tabla par si suma o resta de forma que sepa si suma o resta, pues ahi creo realmente que se puede dar una coalision con un serial correcto en menos tiempo

antes de jugar con todo , pues baste tener tiempo libre


buenisimo analisis de los registros, supongo que ya estas dominando temas de maquinas virtuales, si no  te animo a que las veas pues es similar a esos calculos de posibilidades..

bueno saludos y espero este mini dato a=10 puede que te sirva a llegar al valor un poco mas rapido
Saludos Apuromafo






no creo que sea por el graan serial
sino por la ruta real que lo determina esto

00401689  |.  8A0F          |mov     cl, byte ptr [edi]
0040168B  |.  0A0B          |or      cl, byte ptr [ebx]
0040168D  |.  F6C1 04       |test    cl, 4

pues es parte de la condicion anterior de los xor 4 y todo eso..


esta es la linea que limita aun mas las rutas y aun sigo viendo si
8 veces las letras EDX
"C","G", "K" ó "O";
2 veces el caso 3
EDX será 3 con las letras
"D", "H", "L", ó "P".

6veces el caso 1
ESI=1 con las letras "E", "F", "G", ó "H";

tendriamos el subconjunto de  letras
CDEFGHKLOP

teniendo un bruteforce de el subconjunto de estas letras, quizas sea posible dar cercano al momento algun serial valido
respetando las condiciones

aunque insisto el analisis que hiciste fue de 1 byte y para resolverlo minimo debe ser de a par porque tendras el serial valido quizas

ahora bien nopeando el lugar dificil solo daria una aproximacion para el serial pero estaria descuadrado, por lo tanto debe ser en PAREs de letras segun tu tutorial


la primera parte para los EDX


edx=0  de 004016BB
resta 1 en EBX
letras "A", "E", "I", ó "M";

edx=1  de 004016BB
resta 1A
letras "B", "F", "J" ó "N";

EDX=2 de 004016BB
suma 1A
letras "C","G", "K" ó "O";

EDX=3 de 004016BB
suma 1 EDX
será 3 con las letras "D", "H", "L", ó "P"


y la SEGUNDA PARTE DE LOS ESI

ESI=0  de 004016BE
RESTA 1 en EDI;
letras "A", "B", "C", ó"D";

ESI=1
RESTA 10 en EDI
letras "E", "F", "G", ó "H"

ESI=2
SUMA 1 en EDI

letras "I", "J", "K", ó "L";

y ESI=3
SUMA 10 a EDI

letras "M", "N", "O", ó "P".

igual podrias postear tu serial de 36 :)

pd: te aseguro que te ira bien, porque si con estas cosas son una buena forma de entender adonde apunta la pila :)

bueno dejo eso a mano por si  alguien no lee el link

solo falta matematicas exactas de poder calcular el serial y que cumpla con la condicion de
00401689  |.  8A0F          |mov     cl, byte ptr [edi]
0040168B  |.  0A0B          |or      cl, byte ptr [ebx]
0040168D  |.  F6C1 04       |test    cl, 4

pues no basta con tener el valor correcto supuesto, si no pasara por la ruta
por eso los valores de a 2 son una buena forma de practicar con los valores o pares de valores y poder seguir la ruta sin problemas de estar peleando o volver al valor anterior

saludos Apuromafo ,voy a dormir, creo que gaste mucho tiempo pensando en posibles bf sin llegar a nada en concreto

pero si como dato

004016EC  |. /EB 02         jmp     short 004016F0
004016EE      6A 00         push    0


eso podria ir a injertarse para verificar cuanto falta en  EBX y en EDI

]004016EE




-me acabo de levantar para hacer mis cosas y para avanzar un poco un mini analisis

para la palabra

ADFJCOBNMC

para EBX

par  AD
resta 1
suma 1

par  FJ
resta 1A
resta 1A

par CO
suma 2A
suma 2A

par BN
resta 1A
resta 1A

par MC
resta 1
suma 1A

-----------------
creo que se entiende la idea de que estoy haciendo
pff luego de lograr una tabla claramente llego a lo que paso susanalic..

no sirve anotar de a pares lo que importa es la ruta

pero igual llego al mismo pensamiento que es dificil hacer una ruta pequeña
se que hiciste eso
pero para esas letras sean validas en la ruta igual demanda algo mas
saltos posibles son: +1, +1A, -1 ó -1A (+1, -1, +26 ó -26).

+1+1A+1A+1A ->  quizas hubiese alguna variante..



#1278
b


ueno lee el faq o el indice osea las reglas del foro, ahi sale para orientar un poco cuando preguntes para la segunda vez
ademas incluye algunos escritos y si quieres complementarlo y/o decir si te ha servido
(no solo el copy paste , sino leerlo al final y revisar cada link por link)
tienes de title
alguien que me ayude para poder hackear este programita

no es hackear, esto es un programa comercial seria crack y por lo tanto seria una peticion a crackear un programa, cosa que esta prohibida


te sugiero lo siguiente
coloca alguien me puede ayudar para ver de que se trata?
o algo por el estilo....

bueno saludos

ringo071984
por mucho que aveces uno puede lograrlo porque uno tiene mas interes en el tema que otros, pero de por hecho crackearle el programa no le ayudara en nada , y propiciara al uso de cracks hechos por otros
si encuentras una direccion en particular seria bueno postearla

yo espero que oxhion de a poco aprenda que este programa no necesita hackearse sino crackearse..

y por ende lo que escribe es una peticion de crack casi implicita


/edit  cuando se cambie el titulo y odhin se de cuenta que no es hackear y que debe borrar esto "no puedo hackear " por "no he podido resolver"
/delete si creen que debe irse el toppic :S , pues odhin no muestra interes en realmente leer o comentar si aun lo esta viendo..
#1279
Ingeniería Inversa / Re: CrackMe05 by x4uth
22 Agosto 2008, 20:31 PM
cuando tenga mas tiempo osea mañana, si no esta resuelto pues le echare otra mano, no me resultaba por usar numeros de serie continua quizas o mas bien porque puse apuromafo

y la letra o y u no son  de la A a la P

animo susanalic pues creo que eres capaz de resolverlo antes que yo tome otros 3 minutos para crackear algo

jeje,
pd: yo al dia crackeo 3 minutos y despues sigo estudiando , solo eso gasto al dia para comentar 1 crackme o programa

lo demas es charlas o apoyo, saludos Apuromafo
#1280
Ingeniería Inversa / Re: ayuda
22 Agosto 2008, 20:29 PM
pueden haber 2 motivos

1) el editor de vb que usaste quizas no fue el mas indicado
2) la forma de pushear el push ascii o unicode esta mal indexado

te sugiero el escrito de karmany cuando seteaba un puntero por un mini injerto
y si pues comienzas recien, pues te comento que hay programas que por muy decompilados, al recompilar no es lo mismo

te sugiero que investigues con ollydbg en el momento donde esos menus toman vida y veras que quizas en una aparece el push pero no toma por estar 1 valor antes o despues


te sugiero el VBreformer o algo asi hay muchos mas, pero ahora tengo clases y desaparezco un rato, se cuida y saludos