Autor
|
Tema: Problemilla con un trial. (Leído 20,678 veces)
|
nemus
Desconectado
Mensajes: 21
|
Elegante, elegante! Con solo modificar 5 lineas, has conseguido en esta versión lo que necesite tropecientos JMP en la versión anterior para ver algo de luz. Y como no, con los JMPs llegaron las excepciones (Ctrl+F9) , muy chapucero pero por las pruebas que realicé parecía funcional. La oscuridad la controle como explique anteriormente controlando la escritura de la clave MSNetOLE5. No dejando que el programa encendiera su bit. Con tu enfoque y la nueva versión me he enloquecido debido al Hardware BP saltarin que me ha salido. Para darme una satisfacción he instalado un XP en la maquina virtual, instalando la nueva versión del programa. Con XP y nueva instalación el saltarin se ha tranquilizado. Supongo que alguna otra protección habré activado para que me suceda esto en Vista. Realizada las modificaciones que me has enseñado, el programa funciona a la perfección y sin excepciones (Ctrl+F9) Si no es mucha molestia me gustaría me explicases como llegaste a descubrir el apartado: buscado porqué deshabilita ciertas opciones, traceando he llegado hasta la siguiente función, donde se encuentra la madre del cordero, aunque este sea un programa para cerdilandia. 009BB8F4 >/$ 55 PUSH EBP 009BB8F5 |. 8BEC MOV EBP,ESP 009BB8F7 |. 8B45 08 MOV EAX,DWORD PTR [EBP+8] 009BB8FA |. 8378 08 01 CMP DWORD PTR [EAX+8],1 009BB8FE |. 75 04 JNZ SHORT 009BB904 009BB900 |. B0 01 MOV AL,1 009BB902 |. 5D POP EBP ... si AL sale con 1 oculta ciertas opciones. (es un lujo para la vista tenerlo todo habilitado). ------------------------------------------------------------------ Comparando, he visto que existen algunas partes importantes ocultas: *Fichero --- Opciones Configuración: +- Configuración Validación de datos (mostrado) Ordenador de Mano (oculto) Seguimiento Actividad (mostrado) Filtros (oculto) *Informes --- Centro de Informes: Debajo del botón abrir faltan varios botones “ Diseño, Nuevo y Nuevo Planning” ------------------------------------------------------------------- ¿Para mostrar las opciones ocultas seria elegante nopear los siguientes saltos? 00A66E51 |. 74 66 JE SHORT ramat.00A66EB9 00A66E53 |. 6A 00 PUSH 0 00A66E55 |. 6A 00 PUSH 0 00A66E57 |. 6A 16 PUSH 16 00A66E59 |. 66:C785 44FFF>MOV WORD PTR SS:[EBP-BC],8C 00A66E62 |. 68 9321E800 PUSH ramat.00E82193 ; ASCII "Ordinador Ma" ... 00A66F97 |. /74 66 JE SHORT ramat.00A66FFF ... 00A67077 |. /0F84 CC000000 JE ramat.00A67149 ... 00A676B2 |. /74 66 JE SHORT ramat.00A6771A ... 00A67726 |. /74 66 JE SHORT ramat.00A6778E ... Por cierto, tomad precauciones con el saltarin (sigo en su búsquedal). LSL: gracias por tu tiempo y enseñanza.
|
|
« Última modificación: 21 Septiembre 2010, 15:47 pm por nemus »
|
En línea
|
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
------------------------------------------------------------------ Comparando, he visto que existen algunas partes importantes ocultas:
*Fichero --- Opciones Configuración: +- Configuración Validación de datos (mostrado) Ordenador de Mano (oculto) Seguimiento Actividad (mostrado) Filtros (oculto)
*Informes --- Centro de Informes: Debajo del botón abrir faltan varios botones “Diseño, Nuevo y Nuevo Planning” -------------------------------------------------------------------
¿Para mostrar las opciones ocultas seria elegante nopear los siguientes saltos?
00A66E51 |. 74 66 JE SHORT ramat.00A66EB9 00A66E53 |. 6A 00 PUSH 0 00A66E55 |. 6A 00 PUSH 0 00A66E57 |. 6A 16 PUSH 16 00A66E59 |. 66:C785 44FFF>MOV WORD PTR SS:[EBP-BC],8C 00A66E62 |. 68 9321E800 PUSH ramat.00E82193 ; ASCII "Ordinador Ma" ... 00A66F97 |. /74 66 JE SHORT ramat.00A66FFF ... 00A67077 |. /0F84 CC000000 JE ramat.00A67149 ... 00A676B2 |. /74 66 JE SHORT ramat.00A6771A ... 00A67726 |. /74 66 JE SHORT ramat.00A6778E ...
Por cierto, tomad precauciones con el saltarin (sigo en su búsquedal).
LSL: gracias por tu tiempo y enseñanza.
Las gracias no se merecen, estamos para ayudarnos siempre que podamos. lo de nopear los saltos, siempre que sea el resultado definitivo tambien quedan "elegantes", pero si para que se produzca ese salto, previamente hay una comparación que es producto del resultado que devuelve una función llamada por un call, quizas es mas conveniente entrar en ese call y modificar el codigo de la función para que siempre nos devuelva el valor deseado por ejemplo en AL, EAX, una constante, etc, que normamente es la que se compara a la vuelta para que se produzca el salto condicional. Con esto quizas solo con cambiar un byte ó unos cuantos, en vez de nopear un moton de saltos por todo el programa, por que hay programas que llaman a una misma función cientos de veces. (es cuestión de buscar siempre que con un solo disparo caigan mas de un pajaro).
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
nemus
Desconectado
Mensajes: 21
|
Pequeño retroceso , con la restauración de la base de datos, o con los NOPs añadidos citados en los anteriores mensajes, o por algún contador de apertura del programa, lo cierto es que han desaparecido algunas partes del menú:
Los NOPs añadidos son (personalmente, creo que no son culpables de activar la nueva protección): ¿Para mostrar las opciones ocultas seria elegante nopear los siguientes saltos?
00A66E51 |. 74 66 JE SHORT ramat.00A66EB9 ... 00A66F97 |. /74 66 JE SHORT ramat.00A66FFF ... 00A67077 |. /0F84 CC000000 JE ramat.00A67149 ... 00A676B2 |. /74 66 JE SHORT ramat.00A6771A ... 00A67726 |. /74 66 JE SHORT ramat.00A6778E ...
Han desaparecido del menú "Ficheros": --------------------------- Reconstruir Base de Datos (Visible) Crear Copia Seguridad (Invisible) Recuperar Copias Seguridad (Invisible) ----------------------------
También han desaparecido en "Informes --- Centro de Informes": Debajo del botón "Abrir" faltan los botones “Diseño, Nuevo y Nuevo Planning”
¿Alguna sugerencia? no consigo que aparezca ni el menú, ni los botones.
|
|
« Última modificación: 24 Septiembre 2010, 22:47 pm por nemus »
|
En línea
|
|
|
|
nemus
Desconectado
Mensajes: 21
|
Siguiendo con el tema de la desaparición de apartados en el menú principal del programa he observado que se produce al superar la fecha límite del periodo de pruebas (60 días).
Con la solución a la limitación de 60 días presentada por LSL, la cual proporciona una usabilidad del 90% de las funciones de la versión FULL, nos encontramos que algunas de las partes como la visibilidad total del menú no se superan.
He intentado superar la limitación de la ocultación del menú:
Rastreando el API SetMenu, que me parece es la encargada de mostrar el menú en el programa. Presuponía que pudiera haber varios menús dependiendo del estado del programa. No ha habido resultados satisfactorios.
Una ayudita, otro enfoque, please.
Thanks.
|
|
|
En línea
|
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
1.
009B40E1 |> 84C0 TEST AL,AL 009B40E3 |. 0F95C0 SETNE AL 009B40E6 |. 83E0 01 AND EAX,1
.modificado
009B40E1 |> \84C0 TEST AL,AL 009B40E3 |. 0F94C0 SETE AL 009B40E6 |. 83E0 01 AND EAX,1
2.
00B08CCA |. 84C0 TEST AL,AL 00B08CCC |. 74 27 JE SHORT 00B08CF5 00B08CCE |. 8B4D FC MOV ECX,DWORD PTR [EBP-4]
.modificado
00B08CCA |. 84C0 TEST AL,AL 00B08CCC |. EB 27 JMP SHORT 00B08CF5 00B08CCE |. 8B4D FC MOV ECX,DWORD PTR [EBP-4]
3.
009B4269 8990 AC000000 MOV DWORD PTR [EAX+AC],EDX 009B426F 8B4D 08 MOV ECX,DWORD PTR [EBP+8] 009B4272 F681 AC000000 04 TEST BYTE PTR [ECX+AC],4 009B4279 74 51 JE SHORT 009B42CC
.modificado
009B4269 C780 AC000000 04000000 MOV DWORD PTR [EAX+AC],4 009B4273 90 NOP 009B4274 90 NOP 009B4275 90 NOP 009B4276 90 NOP 009B4277 90 NOP 009B4278 90 NOP 009B4279 90 51 JMP SHORT 009B42CC
4.
00415DB6 |. DFE0 FSTSW AX 00415DB8 |. 9E SAHF 00415DB9 0F97C0 SETA AL 00415DBC |. 83E0 01 AND EAX,1
.modificado
00415DB6 |. DFE0 FSTSW AX 00415DB8 |. 9E SAHF 00415DB9 33C0 XOR EAX,EAX 00415DBB 90 NOP 00415DBC |. 83E0 01 AND EAX,1
5.
009B3F79 |. 80B8 C8000000 00 CMP BYTE PTR [EAX+C8],0 009B3F80 75 04 JNZ SHORT 009B3F86 009B3F82 |. 33C0 XOR EAX,EAX
.modificado
009B3F79 |. 80B8 C8000000 00 CMP BYTE PTR [EAX+C8],0 009B3F80 EB 04 JMP SHORT 009B3F86 009B3F82 |. 33C0 XOR EAX,EAX
6.
009BB8FA 8378 08 01 CMP DWORD PTR [EAX+8],1 009BB8FE 75 04 JNZ SHORT 009BB904 009BB900 B0 01 MOV AL,1
.modificado
009BB8FA 8378 08 01 CMP DWORD PTR [EAX+8],1 009BB8FE 90 NOP 009BB8FF 90 NOP 009BB900 B0 00 MOV AL,0
7.
00A6CF15 84C0 TEST AL,AL 00A6CF17 |. 74 40 JE SHORT 00A6CF59 00A6CF19 |. 8B4D FC MOV ECX,DWORD PTR [EBP-4] 00A6CF1C |. 8B81 4C030000 MOV EAX,DWORD PTR [ECX+34C]
.modificado
00A6CF15 84C0 TEST AL,AL 00A6CF17 |. EB 40 JMP SHORT 00A6CF59 00A6CF19 |. 8B4D FC MOV ECX,DWORD PTR [EBP-4] 00A6CF1C |. 8B81 4C030000 MOV EAX,DWORD PTR [ECX+34C]
8.
009B47DB 0F95C0 SETNE AL 009B47DE 83E0 01 AND EAX,1
.modificado
009B47DB 33C0 XOR EAX,EAX 009B47DD 40 INC EAX 009B47DE 90 NOP 009B47DF 90 NOP 009B47E0 90 NOP
9.
00A795E2 |. 84C0 TEST AL,AL 00A795E4 |. 74 0A JE SHORT 00A795F0 00A795E6 |. B2 01 MOV DL,1
.modificado
00A795E2 |. 84C0 TEST AL,AL 00A795E4 EB 0A JMP SHORT 00A795F0 00A795E6 |. B2 01 MOV DL,1
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
MCKSys Argentina
|
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
de full, está pasando ha pasado a ¡¡¡requetefull!!!
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
|
nemus
Desconectado
Mensajes: 21
|
Debido a la cuantía de limitaciones y marcas de protección del programa. Creo importante recapitular para priorizar la solución de las limitaciones:
Recapitulando:
El programa tiene 3 estadios de vida: A. Modo Evaluación (FULL 90%): 1. Entra en este estadio, el primer día que se instala cualquier versión del programa activandose el Modo Evaluación y permanece en el hasta entrar en Modo Gratuito. B. Modo Gratuito (FULL 15%), 1. Abandona el Modo Evaluación y entra al Modo Gratuito a partir de la restauración de una copia de seguridad de una anterior versión y permanece en el hasta entrar en Modo Cierre. 2. Abandona el Modo Evaluación y entra al estadio Gratuito a partir de los 60 días de la instalación del programa y permanece en el hasta entrar en Modo Cierre. C. Modo Cierre (FULL 0%), 1. Abandona el estadio Gratuito y entra al estadio Cierre a partir de superar la fecha máxima de uso, el día 16/2/2011.
Intentando aplicar Lógica Inversa: 1. Evitar entrar en Modo Gratuito. El programa entra al Modo Gratuito cuando ocurren uno de los dos sucesos siguientes: 1.1. Cuando se carga una base de datos creada mediante la copia de seguridad de una anterior versión del programa. 1.2. Cuando pasan 60 días de la instalación del programa.
Enfoques a las limitaciones del Modo Gratuito: 1.1. Restaurada y cargada una base de datos de la versión anterior. Se barajan varios enfoques para su solución: 1.1.1. Obligando a cargar al programa su versión mas completa. La que se identifica como Studio. Con este enfoque el programa habrá cambiado al Modo Gratuito y la limitación de este modo consiste en ocultar gran parte de funciones. Algunas de las funciones de esta versión permanecen ocultas en este modo. Sera necesario activarlas aparte. (ver solución. 1.1.1.) 1.1.2. Detectar la comparación de fechas mientras se realiza la restauración de la base de datos y evitar el salto de estadio a Modo Gratuito. En este caso el programa permanecería en Modo Evaluación con la mayoría de sus funciones visibles. (Quizá la mejor opción, pero mas difícil de conseguir).
2. Evitar entrar en Modo Cierre. Es decir, evitar que se cierre el programa. Esto ocurre: 2.1. Cuando el programa se carga con fecha igual o superior a 16/2/2011
Enfoques a las limitaciones del Modo Cierre: 2.1.1. Detectar la comparación de fechas y y evitar el salto de estadio a Modo Cierre. 2.1.2. Cargar en Modo Gratuito (fecha anterior al 16/2/2011), y a partir de la comparación de fechas anotar los saltos correctos que realiza en su función inmediata, para luego adelantar la fecha a 16/2/2011 y modificar los saltos que no se avengan con los anotados anteriormente. (ver solución. 2.1.2)
3. Activar algunas opciones ocultas y solo visibles para la versión Profesional para ser 100% FULL. Decir que cuando se carga la versión Profesional el programa carga menor numero de funciones que con la versión Studio. Pero la versión profesional trae algunas funciones aparte que se pueden activar para la versión Studio. (ver solución. 3.1.1.)
Intentando aplicar Ingeniería Inversa (Soluciones):
1.1.1. @LSL: Obligar a cargar al programa la versión mas completa 009B4267 |. 33D2 XOR EDX,EDX 009B4269 |. 8990 AC000000 MOV DWORD PTR [EAX+AC],EDX 009B426F |> 8B4D 08 MOV ECX,DWORD PTR [EBP+8] 009B4272 |. F681 AC000000 04 TEST BYTE PTR [ECX+AC],4 009B4279 74 51 JE SHORT 009B42CC modificar
009B4267 |. 33D2 XOR EDX,EDX 009B4269 C780 AC000000 04000000 MOV DWORD PTR [EAX+AC],4 009B4273 90 NOP 009B4274 90 NOP 009B4275 90 NOP 009B4276 90 NOP 009B4277 90 NOP 009B4278 90 NOP 009B4279 EB 51 JMP SHORT 009B42CC
@LSL: Muestra parte de los iconos ocultados por el Modo Gratuito
009BB900 |. B0 01 MOV AL,1 modificar 009BB900 |. B0 00 MOV AL,0 009BB927 |. B0 01 MOV AL,1 modificar 009BB927 |. B0 00 MOV AL,0 009BB942 |. B0 01 MOV AL,1 modificar 009BB942 |. B0 00 MOV AL,0
Otra Opción: 009BB8FE |. 75 04 JNZ SHORT 009BB904 009BB900 |. B0 01 MOV AL,1 modificar 009BB8FE |. 90 NOP 009BB900 |. B0 00 MOV AL,0
@LSL: Muestra Botones de Informes---Centro Informes: (Abrir, Diseño, Nuevo, Nuevo Planing)
009B40E3 |. 0F95C0 SETNE AL modificar 009B40E3 |. 0F94C0 SETE AL 00405AA5 |. 74 30 JE SHORT 00405AD7 modificar 00405AA5 |. EB 30 JMP SHORT 00405AD7
@nemus: Muestra las opcions de: Opciones – Configuración
00A66E51 |. 74 66 JE SHORT 00A66EB9 modificar 00A66E51 |. 75 66 JNZ SHORT 00A66EB9 00A66F97 |. 74 66 JE SHORT 00A66FFF modificar 00A66F97 |. 75 66 JNZ SHORT 00A66FFF 00A67077 |. 0F84 CC000000 JE 00A67149 modificar 00A67077 |. 0F85 CC000000 JNZ 00A67149 00A676B2 |. 74 66 JE SHORT 00A6771A modificar 00A676B2 |. 75 66 JNZ SHORT 00A6771A 00A67726 |. 74 66 JE SHORT 00A6778E modificar 00A67726 |. 75 66 JNZ SHORT 00A6778E
@nemus: Muestra las pestañas de: Informes --- Centro de Informes
0064C6C3 |. 74 66 JE SHORT 0064C70F modificar 0064C6C3 |. EB 4A JMP SHORT 0064C70F
2.1.2. @nemus Evita entrar en Modo Cierre 009B3949 |. 0F84 2601000 JE 009B3A75 modificar 009B3949 |. E9 27010000 JMP 009B3A75 009B394E |. 90 NOP
009B3D34 |. 0F85 C2000000 JNZ 009B3DFC modificar 009B3D34 |. E9 C3000000 JMP 009B3DFC 009B3D39 |. 90 NOP 00406BC9 |. 90 0F8D 8B010000 JGE 00406D5A modificar 00406BC9 |. E9 8C010000 JMP 00406D5A 00406BCE |. 90 NOP
3.1.1. @nemus: Muestra otros informes de la versión profesional 0040EB97 JNZ 0040ECE0 modificar 0040EB97 |. /E9 44010000 JMP 0040ECE0 ramat.0040ECE0 0040EB9C |? |90 NOP
Recapitulando ...
|
|
« Última modificación: 5 Octubre 2010, 01:26 am por nemus »
|
En línea
|
|
|
|
tena
Desconectado
Mensajes: 668
|
Tiene mas cirujia que la graciela alfano ))) 1.
009B40E1 |> 84C0 TEST AL,AL 009B40E3 |. 0F95C0 SETNE AL 009B40E6 |. 83E0 01 AND EAX,1
.modificado
009B40E1 |> \84C0 TEST AL,AL 009B40E3 |. 0F94C0 SETE AL 009B40E6 |. 83E0 01 AND EAX,1
2.
00B08CCA |. 84C0 TEST AL,AL 00B08CCC |. 74 27 JE SHORT 00B08CF5 00B08CCE |. 8B4D FC MOV ECX,DWORD PTR [EBP-4]
.modificado
00B08CCA |. 84C0 TEST AL,AL 00B08CCC |. EB 27 JMP SHORT 00B08CF5 00B08CCE |. 8B4D FC MOV ECX,DWORD PTR [EBP-4]
3.
009B4269 8990 AC000000 MOV DWORD PTR [EAX+AC],EDX 009B426F 8B4D 08 MOV ECX,DWORD PTR [EBP+8] 009B4272 F681 AC000000 04 TEST BYTE PTR [ECX+AC],4 009B4279 74 51 JE SHORT 009B42CC
.modificado
009B4269 C780 AC000000 04000000 MOV DWORD PTR [EAX+AC],4 009B4273 90 NOP 009B4274 90 NOP 009B4275 90 NOP 009B4276 90 NOP 009B4277 90 NOP 009B4278 90 NOP 009B4279 90 51 JMP SHORT 009B42CC
4.
00415DB6 |. DFE0 FSTSW AX 00415DB8 |. 9E SAHF 00415DB9 0F97C0 SETA AL 00415DBC |. 83E0 01 AND EAX,1
.modificado
00415DB6 |. DFE0 FSTSW AX 00415DB8 |. 9E SAHF 00415DB9 33C0 XOR EAX,EAX 00415DBB 90 NOP 00415DBC |. 83E0 01 AND EAX,1
5.
009B3F79 |. 80B8 C8000000 00 CMP BYTE PTR [EAX+C8],0 009B3F80 75 04 JNZ SHORT 009B3F86 009B3F82 |. 33C0 XOR EAX,EAX
.modificado
009B3F79 |. 80B8 C8000000 00 CMP BYTE PTR [EAX+C8],0 009B3F80 EB 04 JMP SHORT 009B3F86 009B3F82 |. 33C0 XOR EAX,EAX
6.
009BB8FA 8378 08 01 CMP DWORD PTR [EAX+8],1 009BB8FE 75 04 JNZ SHORT 009BB904 009BB900 B0 01 MOV AL,1
.modificado
009BB8FA 8378 08 01 CMP DWORD PTR [EAX+8],1 009BB8FE 90 NOP 009BB8FF 90 NOP 009BB900 B0 00 MOV AL,0
7.
00A6CF15 84C0 TEST AL,AL 00A6CF17 |. 74 40 JE SHORT 00A6CF59 00A6CF19 |. 8B4D FC MOV ECX,DWORD PTR [EBP-4] 00A6CF1C |. 8B81 4C030000 MOV EAX,DWORD PTR [ECX+34C]
.modificado
00A6CF15 84C0 TEST AL,AL 00A6CF17 |. EB 40 JMP SHORT 00A6CF59 00A6CF19 |. 8B4D FC MOV ECX,DWORD PTR [EBP-4] 00A6CF1C |. 8B81 4C030000 MOV EAX,DWORD PTR [ECX+34C]
8.
009B47DB 0F95C0 SETNE AL 009B47DE 83E0 01 AND EAX,1
.modificado
009B47DB 33C0 XOR EAX,EAX 009B47DD 40 INC EAX 009B47DE 90 NOP 009B47DF 90 NOP 009B47E0 90 NOP
9.
00A795E2 |. 84C0 TEST AL,AL 00A795E4 |. 74 0A JE SHORT 00A795F0 00A795E6 |. B2 01 MOV DL,1
.modificado
00A795E2 |. 84C0 TEST AL,AL 00A795E4 EB 0A JMP SHORT 00A795F0 00A795E6 |. B2 01 MOV DL,1
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Trial en vb6 native code autoextraible
« 1 2 3 »
Ingeniería Inversa
|
silvau
|
23
|
14,073
|
24 Diciembre 2010, 01:37 am
por silvau
|
|
|
Limpiar registros de Trial
Dudas Generales
|
alexami
|
5
|
12,077
|
20 Febrero 2013, 15:16 pm
por simorg
|
|
|
AOMEIBackupper Professional Trial
Software
|
Zorronde
|
0
|
1,573
|
10 Enero 2019, 18:34 pm
por Zorronde
|
|
|
Analizar trial
Ingeniería Inversa
|
eranhy
|
2
|
9,472
|
2 Enero 2022, 20:14 pm
por eranhy
|
|
|
Tmpgenc smart renderer reset trial
Ingeniería Inversa
|
miguelsat
|
0
|
2,019
|
11 Diciembre 2022, 16:03 pm
por miguelsat
|
|