Programa: | Millenium Clock |
PROTECCION: | NAME / SERIAL | ||
Descripcion: | Aplicación que muestra un reloj con muchas utilidades | ||
Dificultad: | Principiante, NewBie | ||
DOWNLOAD: | http://www.bercaw.net/mclock | ||
Herramientas: | POSE (PalmOS Emulator) con un ROM southDebugger 1.7 | ||
Palm CRACKER: | PalmWarez Tutorial | FECHA: |
W/13/Octubre/2004 |
INTRODUCCION |
Crear su número de serie personal, cómo hacer uno "entrar cualquier serial para registrar" - hacer un parche para introducir cualquier serial y hacer otro parche que ya este "registrado" - parche solo usando un debugger. |
AL ATAQUE |
Parte Primero , cragamos el POSE y southDebugger y carguemos nuestro blanco ("El Millenium Clock") en el emulador. Inicie nuestro blanco con el POSE y escojemos "Regístrar" del menú:
Algunas aplicaciones usan una llamada API para comparar el serial correcto con el serial entrado. Probaremos esto primero. Entonces, pararemos en estas llamadas API. Primero tenemos que hacer una suspensión normal, un método simple a hacer esto, es usar el graffiti-debug-shortcut: Use a su ratón introducir
En el POSE Emulator. Usted tiene que sacar los primeros tres símbolos en el sitio izquierdo y el último carácter ("1") en el sitio correcto del grafitti-field. Ahora, southDebugger se detuvo y está esperando a su entrada. Abra breakpoint-window nuevo
Haga clic en los botones "" seleccione los botones "sysTrapStrCompare" y "sysTrapStrCaselessCompare":
Ahora presione a F5 ("VAMOS") al southDebugger para continuar. Introduzca a "XXX" como serial falso en nuestro blanco y dé un clic sobre "Registro". El southDebugger intentara poner un break otra vez. Abra una la ventana de desensamblador:
Claro , hay realmente un sysTrapStrCaselessCompare. Ahora necesitamos saber,cuales son los strings comparados. Así es que abra una "trap-stack window" nueva ventana en southDebugger:
¡Esto luce bien! Escriba a abajo de "52779X2932" se checa, si es realmente nuestro serial. Remueva los breaks en API y presione a F5 otra vez. ¡Nuestro traget dirá "código inválido", y ahora no introducimos "XXX", dejamos probar "52779X2932" ... y ... sí, trabaja ! ahora la aplicación está registrada! Éste fue la parte 1 de este tutorial.Parte 2: parche para registrar con cualquier serialEn la primera parte obtuvimos nuestro serial personal, pero tal vez no queremos recordarlo , justamente queremos una aplicación parchada, lo cual aceptarará cualquier serial y lo valide.Tenemos que volver a arrancar POSE y southDebugger, porque necesitamos una versión sin registrar limpia de nuestro blanco. Vuelva a cargar nuestro blanco en el POSE, abra a "Register" pantalla, use Break, Inicie poniendo breakpoints en las API, continúe, introduzca a "XXX" falso y espere a que el POSE se detenga en los breakpoints que compara con las llamadas de las APIS.
Si queremos que la aplicación aceptar todos los seriales, entonces tenemos que reemplazar una llamada a la API con un MOV 0, D0. Ahora haga un clic derecho en la línea marcada y escoja "cambiar memoria contenida" del menú contextual. El opcode para MOV 0, D0 es 7000, pero tenemos que reemplazar 4 bytes (4E4FA0CA), así es que tenemos que cambiar por un NOP (4E71, "Ninguna operación"), también. Así es que, entre en 70004E71 y usted verá los cambios de inmediato en su ventana de desensamblador. Remueva los demas breakpoints y presione a F5. Usted verá, ahora "XXX" y será aceptado, también. Ahora usted puede hacer estos cambios de bytes en su archivo original con un hexeditor hexadecimal y usted tiene una agradable aplicación parchada, con lo cual aceptarará todos los seriales . southDebugger es capaz de hacer cambios los bytes en su archivo original, también, usted lo aprenderá en la siguiente parte.Parte 3: Haciendo un parche "ya registrado"Otra vez , necesitamos una instalación limpia, así es que volvamos a arrancar POSE y southDebugger y carguemos nuestro blanco en el POSE. Después de eso, Ponemos un Break en el POSE grafitti shortcut Ahora abra una ventana del analizador - file-analyzer window in southDebugger, seleccionamos "abrir archivo" y seleccione nuestro archivo de blanco. Ahora usted debería ver algo así como:
En el sitio izquierdo, usted puede ver el archivo seleccionado (nuestro blanco): Clk2001.prc con sus segementos de código. este solo hace un único codigo de segmento: El code0001. Algunas aplicaciones tienen todavía informaciones depuradas como los nombres de rutina en el código, así es que es siempre un intento para mirar estos nombres, si hay algo interesando. Y sí, "RegistrationCheck" mira si esta realmente interesandoEsta vez , queremos southDebugger para ejercer todos los cambios de memoria para nuestro archivo. Así es que haga clic adelante "crea" archivo de respaldo, así es que todavía tenemos un archivo no parchado. Será llamado "Clk2001.prc.original". Ahora el cheque "ejerce todos los cambios de memoria para este archivo".En parte 2 de este manual de instrucción, cambiamos a un API Call (Se asemeja), así es que trataremos de nuevo esto. Rightclick sin retardo con el sysTrapStrCaselessCompare, escoge "contenido de memoria de cambio" e introduce a "70004E71" otra vez. La prensa F5 a continuar. Ahora usted puede iniciar nuestro blanco en el POSE, puede escoger a "Register" y a usted verá: La aplicación está ya registrada. Ahora usted tiene una versión parchada del archivo en su paseo en coche y la puede enviar a tra palm sin usar cualquier otro software: Sólo POSE y un debugger.Por favor note, que no todos los programas pueden ser parchados así de fácil, no todos los programas usan sysTrapStrCaselessCompare. Justamente juegue con el blanco. Pruebe varias cosas y usted tendrá más éxito.Usted debería crear tales parches sólo para su uso personal, si usted quiere probar tal software sin limitaciones. Si usted está feliz con el software: ¡DEBERA COMPRAR!PalmWarez , 2004/12/25 Traducción del Ingles |
Palm Spanish Tutor: Pagina dedicada a la dibulgacion de informacion en Castellano, sobre Ingenieria Inversa y Programacion en palm. Email "Colabora con tus Proyectos" |