elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Ingeniería Inversa (Moderadores: karmany, .:UND3R:., MCKSys Argentina)
| | |-+  Dificultar mas el crackeo de mi programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Dificultar mas el crackeo de mi programa  (Leído 3,203 veces)
goldarg

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Dificultar mas el crackeo de mi programa
« en: 11 Enero 2009, 03:35 am »

Hola señores!!! soy nuevo en este foro(vaa nuevo registrado pero siempre paso)

El tema es el siguiente estoy desarrollando un programa en vb6 compilado con p-code. En si no es un programa para una distribucion masiva  por tal motivo compilo uno para cada persona modificando el usuario en el codigo del programa.

la consulta es si me pueden cambiar el nombre del usuario que seria un string

if usuario="goldarg" -----> es facil cambiar esta parte??
if usuario = usuario2 ......> es lo mismo que lo anterior??

la podria complicar mas??? usando

if usuario = calcularusuario() ----> seria una funcion con donde haria unos calculos y retornaria la cadena "goldarg"

o cuesta mas si paso todo a numero y compruebo numeros??

se que con solamente cambiar el salto de ese igual lo craquearian pero pensaba comprobar antes de realizar diferentes operaciones si se mantiene el mismo usuario.

Y idea era calcular el peso del programa y comprabar si se mantiene

va en si era poner diferentes comprobaciones para que tarden un poco mas o por lo menos los newbies no me lo crakeen enseguida buscando un chico bueno y un chico malo, ya que esto cualquiera lo puede hacer(yo lo hacia, es mas me la pasaba hrs tratando de aprender a crakear me baja cualquier programa para crakearlo hasta que sufri una seguidilla de programas que me no me era posible crakearlos y me frustré. y te das cuenta todo lo que le falta a uno para crakear(solo) porq en si si lo expongo en cualquier foro te lo crakean al toque) asiq buee deje de hacerlo.

jajaja ahora me toco estar del otro lado


a otra cosa ya lei el post de karmany me di varias ideas pero queria una respuestas de varios que tengan un nivel de crakeo media -alto para alguna ideita mas...
Y por ultima al programa lo empaquetaria con algun empaquetador gratuito que se encuentre por ahi como para subar algun candadito mas

Creen que se dificulte si algunas cosas de estas?? no digo que sea imposible yo la quiero complicar nada mas

a una ultima que se me ocurrio igualmente no se si sea para ustedes ya que pienso que es de programacion: hay forma de comprabar que el codigo

"if user="goldarg" se mantiene asi comprabandolo con una cadena o algo asi. No se si me explico necesitaria desde el programa ver este codigo.

Perdon por tantas preguntas es que a medida que escribo me saltan

y bueno alguna idea mas que tengan siempre viene bien por facil que sea ya que el tamaño del programa no me interesa porq es algo simple asiq si dicen que metiendole 100 comparaciones se dificulta porq lo termino cansando le meto las 100 jaja

espero que me puedan responder

un saludo
« Última modificación: 11 Enero 2009, 03:46 am por goldarg » En línea

Amerikano|Cls


Desconectado Desconectado

Mensajes: 789


[Beyond This Life]


Ver Perfil WWW
Re: Dificultar mas el crackeo de mi programa
« Respuesta #1 en: 11 Enero 2009, 06:25 am »

Pues bien, si lo vas a compilar con P-Code te digo que es muy camelloso crackearlo a mano (por lo menos para mi que no me he metido con ninguno), pero si se usa la herramienta WKT que es el debugger para P-Codes y sabiendola usar creo que seria algo mas facil.

Tu te refieres a que si esto:

Código
  1. if (clave = "pepe")

o

Código
  1. if (clave = variable1)

Son dificiles de crackear?, para el caso de P-Code no se, pero en codigo nativo es pan comido, solo basta con buscar la funcion _vbaStrcmp o _vbtVarTstEq poner un BP y lo tendrías a la mano ;). Pues es mas recomendable crear rutinas que te generen el serial para el usuario, allí podes involucrar algoritmos criptograficos como (md5, sha-1, crc, RSA, etc) y eso complicaría mas la cosa. En cuanto a usar packers, no te recomiendo ya que sería depender de otras personas y no estaría bien si lo que realmente quieres es aprender a programar y proteger tu app; ¿que mejor que protegerla por uno mismo?.

Bueno pues esa es mi opinion respecto al tema  ;).

Salu2

amerikano
En línea





Mi blog:
http://amerikanocls.blogspot.com
karmany
Moderador
***
Desconectado Desconectado

Mensajes: 1.614


Sueñas que sueñas


Ver Perfil WWW
Re: Dificultar mas el crackeo de mi programa
« Respuesta #2 en: 11 Enero 2009, 14:22 pm »

Hola goldarg, bienvenido.

Quiero comentarte unas cosas ya que lo compilas en p-code.

1º) En p-code es mucho más difícil modificar un simple salto en el código. Por ejemplo, imagínate que haces una comprobación y verificas que para:
Nombre: karmany
Serial: 1234

En tu código, en VB sería algo como:
Código:
if nombre="karmany" and serial="1234" then goto estás_registrado.

Pues bien, eso en ensamblador se puede traducir por un salto condicional:
Código:
cmp eax, registrado
je estás_registrado

Pero en P-Code NO ES ASÍ, puesto que son opcodes y es muy diferente. Un Newbie recién iniciado no sabrá hacerlo, te lo aseguro. Cuando está compilado en P-Code no verás un je ni un jnz ni ningún salto así.

2º) ¿Entonces, cuál es la desventaja de compilarlo en P-Code?
Pues tiene una gran desventaja que es que si sabes leer los opcodes con cualquier programa, puedes adivinar el algoritmo de la generación nombre-serial en poco tiempo.
Además como te ha dicho AmeRiK@nO, existen debuggers para P-Code como WKT que hacen todo mucho más sencillo.

3º) Mi consejo es que si lo compilas en P-Code, que compliques la comparación nombre-serial y que no lo compares directamente: if nombre="karmany".

Utiliza varias subrutinas(call, return), no lo hagas todo en la misma.
No pongas nombre llamativos a las subrutinas: call verificar_serial (<--NO)
Puedes si quieres, cuando tengas terminado el algoritmo nombre-serial, que tu programa verifique en primer lugar otro algoritmo que no valga. Esto puede hacer desesperar a cualquiera.

Se te tienen que ocurrir muchas ideas a nivel de programación.

Y finalmente te recomiendo que lo empaques con algún packer gratuito porque así habrá que desempacarlo y es probable que algunas aplicaciones para P-Code no funcionen bien con tu programa desempacado.
Packer gratuito:
http://yodap.sourceforge.net/

Puedes probar éste de RDGMax, autor de RDG Packer Detector. Es un packer específico para Visual Basic. Lo único que no me gusta de él es que examina si algún debugger está ejecutándose y a veces no me arrancaba pero puedes probarlo ya que es muy bueno:
http://www.egrupos.net/grupo/rdgsoft/ficheros/3/verFichero/17/RDG%20Pack%20v0.4%20Lite%20Edition.rar

También tiene un protector muy curioso:
http://www.egrupos.net/grupo/rdgsoft/ficheros/3/verFichero/36/RDG%20Tejon%20Crypter%20v0.4.rar
El problema de éste es que a mi por lo menos me quita el recurso manifest, pero puedes probar con varias opciones. Yo te digo que este último packer es muy curioso y lo bueno es que poca gente lo conoce... jeje (Si no funciona tendrás que ir variando opciones. Y si no te funciona tendrás q probar otro...)

Después de todo eso y cuando ya lo tengas acabado, antes de publicarlo si quieres puedes enviarme un mp con tu enlace a tu programa ya protegido y le echo un vistazo a ver qué tal.

Un saludo

PD. Hay muchos packers gratuitos para que pruebes. Puedes también intentar empacar dos veces tu aplicación.
« Última modificación: 11 Enero 2009, 14:48 pm por karmany » En línea

goldarg

Desconectado Desconectado

Mensajes: 13


Ver Perfil
Re: Dificultar mas el crackeo de mi programa
« Respuesta #3 en: 11 Enero 2009, 16:29 pm »

Bueno desde ya gracias AmeRiK@nO y karmany por responder.

Y bueno gracias por la explicacion karmany eso me ayudo mucho ver como se traducia a ensamblador y buenisimo los packer porq estuve buscando en google y me salia cualquier cosa.
Y me diste varias ideas en si ahora cuando lo termine te lo paso haber si lo podes crackear o haber cuanto tardas di te lleva tiempo ya con eso estoy conforme jeje

Y ahora me voy a poner a ver que rutinas puedo  hacer tengo un par como para complicarte la vida jaja

Igualmente va ser algo distinto a cualquier crack normal ya que lo que yo verifico nos es el login del usuario.

Te explico algo el programa es onda un bot para loguearse en unos foros (que me tome el trabajo de entrar uno por uno y ver los nombres de los objetos) y actualizar los threads que creamos. yo en el programa por eso no le pongo para que pongan su user ya se lo agrego directamente en el codigo lo unico que tienen que poner es su pass asi se evitan que yo la sepa.

Y lo que no quiero es que me cambien el nombre del usuario en el codigo. por tal motivo quiero hacer que si me lo cambian no les ande entendes.

gracias por todo ^^



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Dificultar que 'crackeen' mi exe
Programación Visual Basic
yovaninu 2 2,040 Último mensaje 25 Marzo 2011, 20:49 pm
por DaasCook
Tips para dificultar el crackeo de un programa
Ingeniería Inversa
_Enko 0 2,352 Último mensaje 8 Octubre 2011, 15:53 pm
por _Enko
Denuncian a Windows 8 ante Bruselas por dificultar la instalación de software...
Noticias
wolfbcn 0 1,613 Último mensaje 26 Marzo 2013, 22:16 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines