Autor
|
Tema: Ingenieria Inversa (Leído 22,203 veces)
|
jolypc
Desconectado
Mensajes: 25
|
Ya he probado con editor de recursos y las opciones que necesito se muestran "Enable" tambien he atacado por la API enablemenuitem y tampoco he logrado nada relevante; principalmente con la version demo. Desde mi modesta opinion: Creo que desactiva las opciones en tiempo de ejecución, en este tema tambien le he seguido la pista mediante el ID que tienen las opciones y que encontré con el editor de recursos pero sin resultados aún, ya que no encuentro donde me desactiva las opciones. Les explico que me estoy iniciando en el tema y no conozco las interioridades de la programación. Todo lo que he logrado ha sido leyendo tutoriales que bajé de la pagina de Ricardo Narvaja y otros sitios. Repito mis únicos logros: versión Demo: Evitar que caduque al año, sin tener que ingresar un código. Que abra archivos realizados en otras versiones. Versión oficial: Que arranque sin la llave de Hardware o mochila. A los interesados en ayudarme, bajen las versiones a través de los link que publiqué en mensajes anteriores, echenle un vistazo y aunque sea, enseñenme una pista por donde atacar. Esta es mi dirección de correo: jolypc@gmail.com
|
|
|
En línea
|
|
|
|
LSL
Desconectado
Mensajes: 239
Cls
|
Hola jolypc, no son pocos los logros que as conseguido, el que la sigue la consigue. te doy una pista de donde se habilitan ciertas opciones: 00402DF0 /$ 8B81 84070000 MOV EAX,DWORD PTR DS:[ECX+784] 00402DF6 \. C3 RETN 00402DF7 CC INT3 00402DF8 CC INT3 00402DF9 CC INT3 00402DFA CC INT3 00402DFB CC INT3 00402DFC CC INT3 00402DFD CC INT3 00402DFE CC INT3 00402DFF CC INT3 00402E00 /$ E8 8B120800 CALL EasyPowe.00484090 00402E05 |. 8A80 A8070000 MOV AL,BYTE PTR DS:[EAX+7A8] 00402E0B \. C3 RETN 00402E0C CC INT3 00402E0D CC INT3 00402E0E CC INT3 00402E0F CC INT3 00402E10 /$ E8 7B120800 CALL EasyPowe.00484090 00402E15 |. 8A80 A7070000 MOV AL,BYTE PTR DS:[EAX+7A7] 00402E1B \. C3 RETN 00402E1C CC INT3 00402E1D CC INT3 00402E1E CC INT3 00402E1F CC INT3 00402E20 /$ E8 6B120800 CALL EasyPowe.00484090 00402E25 |. 8A80 A3070000 MOV AL,BYTE PTR DS:[EAX+7A3] 00402E2B \. C3 RETN 00402E2C CC INT3 00402E2D CC INT3 00402E2E CC INT3 00402E2F CC INT3 00402E30 /$ E8 5B120800 CALL EasyPowe.00484090 00402E35 |. 8A80 A4070000 MOV AL,BYTE PTR DS:[EAX+7A4] 00402E3B \. C3 RETN 00402E3C CC INT3 00402E3D CC INT3 00402E3E CC INT3 00402E3F CC INT3 00402E40 /$ E8 4B120800 CALL EasyPowe.00484090 00402E45 |. 8A80 A2070000 MOV AL,BYTE PTR DS:[EAX+7A2] 00402E4B \. C3 RETN 00402E4C CC INT3 00402E4D CC INT3 00402E4E CC INT3 00402E4F CC INT3 00402E50 /$ E8 3B120800 CALL EasyPowe.00484090 00402E55 |. 8A80 A5070000 MOV AL,BYTE PTR DS:[EAX+7A5] 00402E5B \. C3 RETN 00402E5C CC INT3 00402E5D CC INT3 00402E5E CC INT3 00402E5F CC INT3 00402E60 /$ E8 2B120800 CALL EasyPowe.00484090 00402E65 |. 8A80 9F070000 MOV AL,BYTE PTR DS:[EAX+79F] 00402E6B \. C3 RETN 00402E6C CC INT3 00402E6D CC INT3 00402E6E CC INT3 00402E6F CC INT3 00402E70 /$ E8 1B120800 CALL EasyPowe.00484090 00402E75 |. 8A80 9E070000 MOV AL,BYTE PTR DS:[EAX+79E] 00402E7B \. C3 RETN 00402E7C CC INT3 00402E7D CC INT3 00402E7E CC INT3 00402E7F CC INT3 00402E80 /$ E8 0B120800 CALL EasyPowe.00484090 00402E85 |. 8A80 A1070000 MOV AL,BYTE PTR DS:[EAX+7A1] 00402E8B \. C3 RETN 00402E8C CC INT3 00402E8D CC INT3 00402E8E CC INT3 00402E8F CC INT3 00402E90 /$ E8 FB110800 CALL EasyPowe.00484090 00402E95 |. 8A80 A6070000 MOV AL,BYTE PTR DS:[EAX+7A6] 00402E9B \. C3 RETN 00402E9C CC INT3 00402E9D CC INT3 00402E9E CC INT3 00402E9F CC INT3 00402EA0 /$ E8 EB110800 CALL EasyPowe.00484090 00402EA5 |. 8A80 A9070000 MOV AL,BYTE PTR DS:[EAX+7A9] 00402EAB \. C3 RETN 00402EAC CC INT3 00402EAD CC INT3 00402EAE CC INT3 00402EAF CC INT3 00402EB0 /$ E8 DB110800 CALL EasyPowe.00484090 00402EB5 |. 8A80 AA070000 MOV AL,BYTE PTR DS:[EAX+7AA] 00402EBB \. C3 RETN 00402EBC CC INT3 00402EBD CC INT3 00402EBE CC INT3 00402EBF CC INT3 00402EC0 /$ E8 CB110800 CALL EasyPowe.00484090 00402EC5 |. 8A80 9D070000 MOV AL,BYTE PTR DS:[EAX+79D] 00402ECB \. C3 RETN 00402ECC CC INT3 00402ECD CC INT3 00402ECE CC INT3 00402ECF CC INT3 00402ED0 /$ E8 BB110800 CALL EasyPowe.00484090 00402ED5 |. 8B80 8C070000 MOV EAX,DWORD PTR DS:[EAX+78C] 00402EDB \. C3 RETN 00402EDC CC INT3 00402EDD CC INT3 00402EDE CC INT3 00402EDF CC INT3 00402EE0 /$ E8 AB110800 CALL EasyPowe.00484090 00402EE5 |. 8B80 90070000 MOV EAX,DWORD PTR DS:[EAX+790] 00402EEB \. C3 RETN
en esos mov, se mueven a AL bytes 00 y 01, (00 No y 01 Yes) ojo, no en todos tienen que ser 01 paa habilitar, es cuestion de que vayas probando en que mejoras o empeoras las opciones, por ejemplo en uno en vez de habilitado es el numero del limite de item, si lo dejas a 0 es unlimited. ya tienes por donde seguir, lo correcto seria mirar que crea o lleva a esos lugares de memoria los valores 00 y 01 de donde luego se leen, para atacar si podemos en la raiz,
|
|
|
En línea
|
Saludos.
LSL.
|
|
|
jolypc
Desconectado
Mensajes: 25
|
Hola, LSL. Muchisimas gracias por ayudarme en este tema y tambien le agradezco a todos los que se interesaron y tambien aportaron su granito de arena, pero esto no puede quedarse así y esto va para tí LSL: Necesito que me comentes vía correo ( jolypc@gmail.com) como encontraste la zona donde se habilitan las opciones; vaya, hazme un pequeño tutorial privado y mandamelo para aprender. Gracias a ustedes lo logré; aunque tirando alguna piedras al trozo de código que publicó LSL. Sé que estas cosas no se hacen así pero quiero aprender; por ejemplo, una de las instrucciones que habilitan opciones es la siguiente: MOV AL,BYTE PTR DS:[EAX+7A7] En este caso, cada vez que el programa pasa por aquí, EAX siempre toma el mismo valor y lleva a AL a 00 ó 01 en dependencia del resultado de la suma. Lo que hice fue tantear e ir sustituyendo 7A7 por otros valores hasta que AL valiera 01 y lo encontré, pero esto no es nada inteligente de mi parte y reporta muchas horas de trabajo. Expliquenme como hacerlo más fácil pero preferentemente vía correo. Por otro lado siempre me quedó la duda si la version demo posee el código para salvar e imprimir. Quizas alguien podría echarle un vistazo a ambas versiones y por comparación resolver este enigma y por supuesto explicarme un poco como llegar a la zona donde se inhabilitan estas opciones. El propósito de esto es aprender un poco más de este maravilloso tema. Saludos a todos. "Que carajo, llevo seis meses trabajando en este tema y LSL lo resolvió en dos días. Usted si que sabe"
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Hola jolypc!
Estuve mirando el programa, pero parece que ya lo has solucionado.
De todas formas, te paso algunos tips mas:
Las opciones del programa, se activan con el 2º DWORD del archivo .ovl. Por ej., si te fijas en la version Demo, el DWORD es: 0301BF08. Si miraste esa versión, ves que "casi" todas las opciones estan activadas. Ahora, en la oficial, el DWORD es 0A130108. Ahora, si cambias, en la oficial, el DWORD a 0F01BF08, vas a activar todas las opciones.
El tema es que el programa salta diciendo que la instalacion no esta completa. Lo cual es verdad, pues has debido hacer algo mal al quitar la proteccion. Parcheando un solo salto, hice que el programa funcionara.
El tema es que seguro has hecho algo mal, pues si insertas un "relay" y luego le haces doble click para editarlo, lanza una excepcion y muere el programa. Esto pasa con AMBAS versiones.
El Item "Bus", es el 6º DWORD del archivo ovl . En la version oficial, esos datos estan cifrados usando un simple xor 56. Si miraste las ubicaciones que te ha posteado LSL, ves cuando devuelve los 500, y si cambias ese 500 por 0, entonces la cantidad es ilimitada. Ahora, 56 xor 0 = 56 por lo que si pones el DWORD en 56565656, vas a obtener bus ilimitado.
Bueno, la tarea era esa practicamente. Ahora, sigo insistiendo en que has hecho algo mal al quitar la proteccion...
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
jolypc
Desconectado
Mensajes: 25
|
Ok. Ya lo tengo funcionando a full, pero me había dado cuenta que cuando utilizo una de la opciones el programa debía lanzarme una excepcion y señalizarme en el esquema los errores; pero lo primero no lo hace. Es decir; que tiene razón MCKSys.
Para eliminar la proteccion me cargué un salto que manda un mensaje al usuario y esto no es correcto por que parece que otros mensajes importantes que interactuan con el usuario tambien pasaban por allí.
Reviso los ultimos consejos y luego les comento.
|
|
|
En línea
|
|
|
|
jolypc
Desconectado
Mensajes: 25
|
Repito una pregunta vieja sobre este tema:
Alguien conoce si la version demo posee el código para salvar e imprimir?
|
|
|
En línea
|
|
|
|
jolypc
Desconectado
Mensajes: 25
|
Esto es para MCKSys
Colega, agradezco tus consejos pero te pido que bajes un poco el nivel. No encuentro la zona donde se trabaja con el archivo ovl y trato de abrirlo con ollydbg y tampoco puedo.
Dime si necesito otro programa para abrir el ovl.
Saludos
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
El .ovl lo abres con un editor hexadecimal (yo uso UltraEdit32, aunque puedes usar el que quieras).
Para detectar la zona donde carga las opciones desde el archivo, pon un HBPM en una de las variables que guardan las opciones. Tambien puede ser un BPM pero es mas lento.
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
jolypc
Desconectado
Mensajes: 25
|
Hola, MCKSys, ya habilité las opciones por el método que me enseñaste de modificar el archivo ovl. Lo cierto es que reinstalé la version oficial desde cero con protección y todo, pero igual me lanza el error de "instalación incompleta". Es decir; creo que no tiene que ver en si parchee mal la protección. De todos modos funciona. Por otro lado me quedé con una duda. me comentas que con un sólo salto resolviste el error, yo tuve que realizar seis.
Saludos,
Voy a trabajarlo ahora por el método que explica LSL. Al principio me funcionó pero ahora, luego de reinstalar: no.
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Pues las variables que cambias con ese método, son las que carga del archivo ovl. Si cambias el ovl, cambias las variables Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pequeña introducción a la ingeniería inversa en linux
Ingeniería Inversa
|
braulio--
|
6
|
6,170
|
6 Enero 2011, 03:20 am
por jackgris
|
|
|
Revelado el Protocolo de Skype mediante ingeniería inversa
Noticias
|
dantemc
|
7
|
4,954
|
6 Junio 2011, 12:54 pm
por ZeroxPrototype
|
|
|
Ayuda con ingeniería inversa
Ingeniería Inversa
|
Teknofer
|
5
|
5,744
|
19 Septiembre 2011, 03:41 am
por apuromafo CLS
|
|
|
Sugerencia con el foro de ingeniería inversa.
« 1 2 ... 5 6 »
Sugerencias y dudas sobre el Foro
|
.:UND3R:.
|
53
|
22,890
|
2 Diciembre 2011, 15:29 pm
por .:UND3R:.
|
|
|
Dissy ( Herramienta Para la Ingenieria Inversa )
Hacking
|
Stuxnet
|
0
|
2,535
|
7 Noviembre 2012, 15:44 pm
por Stuxnet
|
|