Paso 1. Ejecuta HWORKS32.EXE
Paso 2. Haz Click en Help, pulsa About HEX Wo..
Paso 3. Introduce cualquier código pra obtener el mensaje de error (Deberías apuntar el mensaje) y sal
del programa.
Paso 4. Ejecuta el Comandante Norton, ve al directorio de HWS .
Paso 5. Copia HWORKS32.EXE a HWORKS32.EXX (como copia de seguridad) y copia HWORKS32.EXE a
1.EXE (para descompilar con el W32Dasm)
Paso 6. Ejecuta W32Dasm y desensambla 1.EXE.
Paso 7. Una vez desensamblado, haz click en FIND TEXT, introduce "You have entered an"
(El mensaje de error que habías apuntado), encuéntralo. (No lo encontrarás
en la ventana de String Data Reference)
Paso 8. Ahora deberías estar viendo esta línea:
Name: DialogID_0075, # of Controls=003, Caption:"Registration Unsucce..
001-ControlID:FFFF, Control Class:""Control Text:"You have entered an..
002-ControlID:FFFF, Control Class:""Control Text:"Please confirm you..
Paso 9. Bien, bien,ahora sabes que es lo que ControlID usará cuando se introducen códigos erróneos,
Haz Click en FIND TEXT, escribe "dialogid_0075" y deberás encontrar:
* Possible reference to DialogID_0075
:0041E233 6A75 push 00000075
:0041E235 8D8D10FFFFFF lea ecx, dword ptr [ebp+FF10]
Paso 10. Ahora busca la última comparación del tipo CMP, JNE, JE, etc
anterior al mensaje de error. Ve subiendo hasta encontrar:
:0041E145 837DEC00 cmp dword ptr [ebp-14], 00000000
:0041E149 0F8479000000 je 0041E1C8
:0041E14F 8B8DFCFEFFFF mov ecx, dword ptr [ebp+FEFC]
Paso 11. Ahora vemaos que pasa si reeemplazamos "je" with "jne".
Asegúrate que la barra de color verde está en:0041E149 0F8479000000 je 0041E1C8
Deberías ver la "Offset address" en la parte de debajo de la pantalla,
más o menos algo así como @Offset 0001D549h.
Es donde podrás parchear el archivo y renombrarlo a HWORKS32.EXE.
Paso 12. Vuelve al Comandante Norton, ejecuta HIEW HWORKS32.EXE, pulsa F4 para seleccionar
el "Decode mode (ASM)", pulsa F5 e introduce 1D549. Leerás:
0001D549: 0F847900 je 00001D5C6 ---------- (1)
0001D54D: 0000 add [bx][si],al
0001D54F: 8B8DFCFE mov cx,[di][0FEFC]
Paso 13. Y ahí podrás cambiar los bytes, pulsa F3, escribe 0F85, pulsa F9
para actualizar el HWORKS32.EXE. Sal de HIEW.
Paso 14. Ejecuta HWORKS32.EXE y escribe cualquier código, ¿Te funciona?
¿¡¿NO?!?
De acuerdo, vuelve al NC. Copia HWORKS32.EXX a HWORKS32.EXE.
(Por eso habíamos hecho la copia de seguridad). Vuelve a W32Dasm,
justo al punto donde lo dejamos (en 0041E145).
Paso 15. Pulsa F3 para buscar otra vez "dialogid_0075", y encontrarás:
* Possible reference to DialogID_0075
:00430ADD 6A75 push 00000075
:00430ADF 8D8D10FFFFFF lea ecx, dword ptr [ebp+FF10]
Paso 16. Ahora busca la última comparación del tipo CMP, JNE, JE, etc
anterior al mensaje de diálogo de error. Ve subiendo hasta encontrar:
:004309EF 837DEC00 cmp dword ptr [ebp-14], 00000000
:004309F3 0F8479000000 je 00430A72
:004309F9 8B8DFCFEFFFF mov ecx, dword ptr [ebp+FEFC]
Paso 17. Ahora vemaos que pasa si reeemplazamos "je" with "jne"
(Debería funcionar) Muévete a :004309F3 0F8479000000 je 00430A72.
Deberías ver la "Offset address" en la parte de debajo de la pantalla,
más o menos algo así como @Offset 0002FDF3h.
Es donde podrás parchear el archivo y renombrarlo a HWORKS32.EXE.
Paso 18. Vuelve al Comandante Norton, ejecuta HIEW HWORKS32.EXE, pulsa F4 para seleccionar
el "Decode mode (ASM)", pulsa F5 e introduce 2FDF3. Verás:
0002FDF3: 0F847900 je 00001D5C6 ---------- (1)
0002FDF7: 0000 add [bx][si],al
0002FDF9: 8B8DFCFE mov cx,[di][0FEFC]
Paso 19. Y ahí podrás cambiar los bytes, pulsa F3, escribe 0F85, pulsa F9
para actualizar el HWORKS32.EXE. Sal de HIEW.
Paso 20. Vuelve otra vez a HWORKS32.EXE y escribe lo que te apetezca, ¿Funciona?
¡Felicidades! Has crackeado el HEX WorkShop 2.51!
|