elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24
161  Programación / Ingeniería Inversa / Re: Qué he hecho mal: no está crackeado del todo en: 15 Abril 2010, 04:51 am
de nada  :)
162  Programación / Ingeniería Inversa / Re: [Guía Rápida] Craking a instaladores de Install Shield en: 15 Abril 2010, 04:35 am
a Misomeister, gracias por la info y el manual.

y a tena, gracias por el link.
163  Programación / Ingeniería Inversa / Re: Activar menú en: 15 Abril 2010, 04:26 am
en ese caso que no veas nada por donde atacar, la api mas directa y acertada es la que da el maestro Karmany
Para desactivar un menú con Api, se suele hacer con SetMenuItemInfo. También existe la Api EnableMenuItem y la ModifyMenu pero ya no se usan. Piensa también que con Visual Basic eso no suele ser con Api, así que verifica el compilador.

De todos modos, igual el programa tiene alguna restricción más e interese más saber por qué se deshabilita el menú.

Un saludo

http://winapi.conclase.net/curso/?cap=037#INHIBIR

aunque tal como bien te dice karmany, no todos los compiladores utilizan las Apis de windows.
164  Programación / Ingeniería Inversa / Re: Activar menú en: 14 Abril 2010, 09:33 am
las apis necesitan unos valores en los parametros que utilizan,
si ese
MOV BYTE PTR SS:[EBP-1],0
lo cambias por
MOV BYTE PTR SS:[EBP-1],1

ya que parece es el valor del parametro que necesita posteriormente la API que se utilize, para desactivar o activar las opciones de los menu. (valor 0=False, 1=True).

165  Programación / Ingeniería Inversa / Re: Activar menú en: 13 Abril 2010, 18:31 pm
y esto te puede dar alguna idea http://winapi.conclase.net/curso/?cap=005#inicio
166  Programación / Ingeniería Inversa / Re: Activar menú en: 13 Abril 2010, 18:28 pm
mirate esta http://winapi.conclase.net/curso/?winfun=ShowWindow#inicio
167  Programación / Ingeniería Inversa / Re: Qué he hecho mal: no está crackeado del todo en: 13 Abril 2010, 09:57 am
pues a mi no me sale la nag, con OnExeModified=Nil
puede que la nag se genere tambien dependiendo de otros factores que existan en cada instalación.

¿que como he llegado alli?, pues en este caso fue muy facil ...

con el RDG Packer o Peid, nos dice que está hecho en Delphi.

como es Delphi, con el DeDe ó con E2A2 podemos ver donde comienzan las direcciones de los eventos de los
formularios, tambien vemos que hay un formulario principal con el nombre TfrmMain (en programación de
delphi se le suele poner el nombre Main al formulario principal que es con el que se inicia el programa),
asi que vamos a empezar a tracear en el evento FormShow del formulario Main, que es cuando se muestra en
pantalla.

La direccion donde comienza el evento FormShow del TfrmMain, en este caso es en 0062F364

Abrimos el programa con Olly, pulsamos Control+G para ir a la direccion 0062F364, alli ponemos un bp con
F2, para que se detenga en dicho lugar cuando lo ejecutemos con Run F9



además vamos a mirar el código que hay por ahí; mas abajo vemos que hay un mensaje en inglés que
traducido nos dice "Base de datos para los valores materiales no se establece.", lo cual no nos ha
mostrado ni siquiera anteriormente,al correr la presunta versión sin registrar, y para llegar a dicho
mensaje ó no pasar por dicho lugar hay un par de comparaciones que deciden el resultado de sendos saltos
condicionales, por lo que seria interesane echarles un ojo, ya que con la primera comparación, si salta
se envita realizar la segunda que es la que te puede llevar al mensaje de error al cargar la base de
datos, por lo que intuyo que al producirse el primer salto se evita la zona donde se carga la base de
datos y por eso ya no se muestra ni siquiera el mensaje de advertencia, asi que le ponemos unos BP en
las comparaciones previas y en los saltos para ver que valores compara y según el resultado la decisión
que toma para saltar a un destino distinto según el caso.



en el momento de la comparación del valor que hay en AL con el valor 2, vemos que AL=00 por lo que con el
JNZ se produce el salto que queremos evitar,

¿donde toma AL el valor 00, pues lo mas seguro en el último CALL previo, que nos lleva a la dirección
0059883C, donde vemos que se mueve a EAX el valor que existe en la dirección de memoria DS :[011377F9]



Entonces sabemos que si conseguimos que en la dirección de memoria 011377F9 en el momento previo a la
comparación que se introduzca el valor 2, el programa cargará la base de datos.

Despues de reiniciar un par de veces el programa y detenerse con el Breakpoint puesto en dicho evento
comprobamos que la dirección de memoria siempre es la misma, asi que reiniciamos de nuevo y vamos a
detenernos en la entrada del formulario, es el momento de poner un BP Memory On Write, en el primer Byte
de la direccion de memoria 011377F9, al que nos trasladamos pinchando en la zona del Dump y Control+G,
después damos a Run F9, y comprobamos que el Olly se detiene una primera vez en 005A2D00 para mover el
valor 00 a dicho lugar de memoria,



pero vamos a dar de nuevo F9 para continuar y comprobar si hay mas veces que se sobreescriba en dicho
lugar antes de llegar al codigo de comparación, lo cual si ocurre una segunda vez, por lo que elijo
modificar el valor en la segunda vez que mueve el valor 00 a dicho lugar de destino, y lo cambiamos por
02 que es el bueno, ya que en el primer movimiento lo perderiamos machacado por el segundo.



Ya solo queda salvar los cambios en el ejecutable, y probar el resultado.
168  Programación / Ingeniería Inversa / Re: Qué he hecho mal: no está crackeado del todo en: 12 Abril 2010, 02:11 am
de nada,  :D

con el editor de recursos, en este caso solo evitas el tema de la licencia, pero los programadores pueden tomar otras medidas adicionales de su propia cosecha, en base a la existencia o no de algun valor concreto en algun fichero o de registro, etc.

Turbodiff es una herramienta desarrollada como un plugin de IDA. Descubre y analiza las diferencias entre las funciones de dos archivos binarios. Por ejemplo un archivo original y uno crackeado, o dos archivos de diferentes versiones.

Lo que quieres comparar es el comportamiento de cada instruccion al correrlo en la version registrada y en la no registrada, para ello puedes salvar en un archivo el traceo de uno y otro, y luego compararlos. Lo puedes hacer con el Ollydbg, en el botón “…” nos muestra el “run trace” es decir, aquí quedan logueadas las instrucciones ejecutadas cuando se tracea. Para esto debemos “abrir el run trace” esto se hace en el menú DEBUG > Open or Clear Run Trace, y para guardar el log en un archivo txt, pinchas en el botón "...", en esa ventana click derecho y seleccionas "Log to file", le pones un nombre.txt y abrir, ahora corres el programa con control+F12, cuando decidas cortar el log del  traceo, vuelves al menú DEBUG > Close Run Trace, y en "..." click derecho Close Log file.

una vez obtienes los dos traceos por separado, los comparas con alguna herramienta para comparar contenidos de archivos, y estudias las diferencias.

169  Programación / Ingeniería Inversa / Re: Qué he hecho mal: no está crackeado del todo en: 11 Abril 2010, 20:34 pm
venga va,

1º con un editor de recursos lo dejas así:



2º con el olly, modificas por el valor 2, para que puedas moverte por la base de datos y salvas los cambios:

170  Programación / Ingeniería Inversa / Re: mucho material aprender cracking novato hasta avanzado extremo en: 4 Abril 2010, 13:21 pm
muchas gracias por el aporte, y se agracede el subirlos a mediafire.
buena colección de herramientas.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines