Autor
|
Tema: ¿Cómo verifica un programa que hay una version nueva de sí mismo? (Leído 5,084 veces)
|
SalvadorDali
Desconectado
Mensajes: 94
|
Hola.. He estado tratando de crackear un programa del cual hay un keygen publicado ya..pero dicho programa deja de ser funcional cuando al introducir el serial y detecta que hay una version nueva, ya que uno de las clausulas que estan salen al momento de instalarlo es que al haber una version nueva la version vieja debe ser destruida y debe ser bajada la nueva..
Ahora la pregunta mia es: ¿Cómo hace un programa para saber que ya existe una nueva versión de si mismo publicada en internet?
Y otra pregunta: Si abro el programa con olly y detecto cual es la instruccion que envia a la nag dice que hay una nueva version, y cambio esa instrucción es posible que el programa funcione con el crack publicado? saludos
|
|
|
En línea
|
|
|
|
i686
Desconectado
Mensajes: 112
|
Para que un programa compruebe si hay una versión nueva de sí mismo en Inet, no le queda otra que conectarse a Inet, al servidor que tenga la empresa que lo diseñó, y comparar su versión con la del servidor. Seguramente tendrán algún fichero que el programa consulta para hacer la comprobación. Lo que si es seguro casi al 99.9% es que se conecta a su propio servidor. Respecto a desensamblar el programa, cambiar la instrucción, reensamblarlo y saber si funciona... Lo mejor es que lo pruebes tu mismo.
|
|
|
En línea
|
La puerta mejor cerrada es aquella que puede dejarse abierta.
|
|
|
SalvadorDali
Desconectado
Mensajes: 94
|
claro amigo,.estoy en eso desde hace dias...ando probando probando.. pero mira, yo tambien me supuse que deberia conectarse a algun lado en internet para hacer la comprobacion...Pero lo extraño es que, precisamente para verificar eso, instalé el programa en una PC sin conexión de ningun tipo a internet e igualmente me dijo q habia una version mas reciente publicada...No comprendo como hace para saberlo sin estar conectado a Inet.. Ando tratando de encontrar el serial correcto desensamblandolo en Olly pero hasta el momento no lo encuentro...
Tambien probe cambiar un salto condicional (de JZ lo cambie a JMP) que esta justo debajo de la comparacion del serial correcto con el que yo ingreso, y en efecto al correr el programa e ingresar cualquier serial inventado me sale el aviso de que el programa ha sido exitosamente activado..pero incluso luego de haber mostrado ese mensaje sigue comportandose como no registrado. Eso es algo que tambien e tiene algo desconcertado
|
|
|
En línea
|
|
|
|
tena
Desconectado
Mensajes: 668
|
Pues es que al cambiar el salto lo unico que logras es mostrar el mensaje bueno en vez del malo. Si hay un call antes de ese jz, lo de cambiar el salto solo funcionaria totalmente si ese call esta referenciado desde un solo lugar, pero si es llamado desde varios lugares no funciona ya que esas otras llamadas podrian ser para habilitar botones, menues,y lo que se le ocurra al programador.
Saludos Tena
|
|
|
En línea
|
|
|
|
|
_GeMiNi_
Desconectado
Mensajes: 40
Solo se q no se nada..... pero puedo aprender
|
antes del salto debes de tener una call o por lo menos una comparación del tipo test al, al o una simple cmp psss pero por lo general siempre unas líneas antes tienes una call... si es asi fijate con q valor el salto se activa o no segun sea y va al mensaje bueno... una vez q verifiques q valor hace eso empieza a jugar con esa call psss primero mira lo q hace y con q registros trabaja dps pon un bp sobre ella y cada vez q entres con f7 ve buscando q de seguro veras q hara calculos matemáticos y/o comparaciones con el serial q ingreses o sea el serial malo... y sino solo haz esto en el principio de esa call remplazas la primer instruccion por una asignandole el valor q corresponda al registro q use en la comprobacion.. dps en la linea siguiente le pones un ret y listo...
Si eso no funcionó o no existe esa call es porque estas dentro de esa call... y si esta call solo es llamada una vez o es solo el procedimiento de un boton es porque el serial se comprueba en varios lados y de seguro uno de esos lados es en el arranque del programa (por lo general son los q piden reiniciar el programa luego del registro )..
weno suerteeeeeee
|
|
|
En línea
|
|
|
|
SalvadorDali
Desconectado
Mensajes: 94
|
Ok,.gracias..estoy poniendo en practica todo eso..seguiré intentando
|
|
|
En línea
|
|
|
|
SalvadorDali
Desconectado
Mensajes: 94
|
he estado tratando de hacer algunas modificaciones con el olly..pero cuando intento modificar alguna instrucción, estando dentro de una call, no lo copia directamente al ejecutable como lo hacía regularmente.. sino que intenta guardar el cambio en una DLL..entonces despues de la advertencia de que si deseo sobreescribir la DLL me dice que no puedo guardar los cambios.. A qué se debera eso? Saludos
|
|
|
En línea
|
|
|
|
_GeMiNi_
Desconectado
Mensajes: 40
Solo se q no se nada..... pero puedo aprender
|
mmm puede q la dll sea de sistema y no del programa en si puede q sea del runtime... o puede q sea del programa... psss pa modificar la dll hacelo con un editor hexa o el w32dasm emparchado q le agrega el editor rapido... modificala solo si es una dll espcífica de ese programa sino si es compartida o de sistema no lo hagas .... psss pero te conviene debuguear esa parte para ver q hace je ...ps a lo mejor te va a llevar bastante tiemp pero ponete con algun manual de ensamblador y lee linea por línea pa ver q joraca hace... je yo hago asi cuando se me queman los libros juas con mi super manual de aesoft al lado (impreso y encuadernado.. y me lo hicieron gratisss!!!! ) ... me pongo a leer instruccion por instruccion y si no recuerdo alguna la busco y me fijo q hace sus propiedades .. jeje weno de welta suerteeess
|
|
|
En línea
|
|
|
|
SalvadorDali
Desconectado
Mensajes: 94
|
okas, sigo poniendo en practica todos esos aportes valiosos... cualquier cosa posteo de nuevo gracias
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda: ¿Programa que se debuggea a si mismo?
Ingeniería Inversa
|
Aborashux
|
7
|
5,078
|
3 Abril 2011, 18:44 pm
por apuromafo CLS
|
|
|
¿Que es J2EE?¿Es lo mismo que java o es una version del mismo?
Java
|
robertito_prado
|
3
|
6,752
|
18 Julio 2012, 14:35 pm
por robertito_prado
|
|
|
Cómo crear un USB de arranque con la nueva versión de Rufus
Noticias
|
wolfbcn
|
0
|
1,876
|
6 Febrero 2017, 15:34 pm
por wolfbcn
|
|
|
Nod32 - que no se actualize a nueva version programa
Seguridad
|
sexyalo32
|
0
|
2,267
|
18 Mayo 2017, 17:26 pm
por sexyalo32
|
|
|
Como puedo crear mi cuenta en la nueva version de HackTheBox.eu
Dudas Generales
|
AFKXDLOLNASHE
|
1
|
2,503
|
13 Septiembre 2021, 10:30 am
por #!drvy
|
|