Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Maurice_Lupin en 19 Enero 2012, 18:04 pm



Título: Sugerencias para hacer dificil el crackeo Help
Publicado por: Maurice_Lupin en 19 Enero 2012, 18:04 pm
Si alguien puede comentar su experiencia, toda sugerencia es bienvenida. No me refiero netamente a codigo, algún link que puedan compartir por ejm.

Saludos  ;D


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: MCKSys Argentina en 19 Enero 2012, 23:53 pm
Lo primero que se me ocurre:

- Compilar en PCODE
- cifrar todos los strings
- Usar algun packer (o crear uno custom) que tenga CRC del codigo (para evitar parcheos)
- De por si el EXE deberia estar cambiado en alguna forma para evitar el uso de VBDecompiler.
- Si tiene rutina de registracion:
    - Evitar el uso de la famosa variable "IsRegistered"
    - La rutina debe ser larga y compleja. Incluyendo basura y calculos innecesarios para hacer mas dificil el reverseo.
    - Chequear varias veces usando la rutina (evitar guardar resultados en variables)
    - Hacer chequeos internos buscando "irregularidades" en la registracion (por ej. si se usa el registro, verificar que el proggie no este registrado y que el reg no tenga nada (deteccion de parcheo))
    - Si se detecta parche, no mostrar mensajes que alerten que se detecto una copia "pirata". Mejor, modificar el funcionamiento para que haga cosas "sin sentido" (por ej. si el proggie hace calculos, hacer que haga mal los calculos si se detecta el parcheo)

Por ahora, eso me viene a la mente...

Saludos!


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: Karcrack en 20 Enero 2012, 06:53 am
Aunque parezca que PCODE complica el crackeo no es cierto... ya que hay herramientas que leen facilmente el PCODE... dejándote prácticamente el código fuente.


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: Maurice_Lupin en 20 Enero 2012, 18:28 pm
Buenas sugerencias MCKSys Argentina .

Investigando, tengo una idea, corrijanme si me equivoco:

Con la función CreateProcess podria crear una copia de mi programa, y sacarle el hash con md5 y asi verificar que no ha sido modificado ?

Gracias por sus comentarios.


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: MCKSys Argentina en 20 Enero 2012, 19:24 pm
Aunque parezca que PCODE complica el crackeo no es cierto... ya que hay herramientas que leen facilmente el PCODE... dejándote prácticamente el código fuente.

Claro, por eso puse de "tocar" el EXE tambien... :)

Con la función CreateProcess podria crear una copia de mi programa, y sacarle el hash con md5 y asi verificar que no ha sido modificado ?

Eso lo podrias hacer desde VB sin usar API's (con Open). La idea no es mala, es más, incluso WinLicense usa esa tecnica... ;)

Saludos!


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: Elemental Code en 23 Enero 2012, 04:34 am
consegui el crc32 y agregaselo al final con un separador

despues abrite como binary, hace un split asi obtenes el crc32 y el codigo y despues le sacas el crc al codigo original. y los comparas

EDIT:
http://foro.elhacker.net/programacion_visual_basic/src_self_crc32_check_01_poc-t351610.0.html


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: Maurice_Lupin en 2 Febrero 2012, 19:25 pm
Elemental Code , buen código, en base a  tu idea, agregue al final del archivo con el notepad++ el hash calculado con md5 del programa, todo bien.

MCKSys Argentina, gracias por las sugerencias con respecto a:

- Chequear varias veces usando la rutina (evitar guardar resultados en variables)

si hago esto : HashCorrecto() seria una función, que genera md5 del mismo exe y lo compara con el resultado esperado
Código:
 If Not HashCorrecto() Then
      ' altero las variables, para el programa
 Else
     ' cargo todos las variables normalmente
 End If


Me pregunto si es una buena alternativa? o si me pueden sugerir algo mejor.

Como soy medio paranoico, estoy pensando en agregar un archivo al programa en formato ADS, dentro el hash. Y cifrar todos las cadenas y cambiar las acciones si no hay integridad en el exe

Gracias por los comentarios.


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: MCKSys Argentina en 2 Febrero 2012, 20:37 pm
La idea seria algo asi:

Código:
If HashCorrecto() Then
      ' todo bien. inicializa variables normalmente
 Else
     ' todo bien. inicializa varias variables normalmente y ademas hace otras cositas que
     ' haran que el programa haga travesuras (nada malo espero) tiempo DESPUES de que ha
     ' empezado a funcionar
 End If

Esto seria, si haces calculos, modificar los mismos para que el proggie genere cosas incorrectas...


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: Maurice_Lupin en 3 Febrero 2012, 06:23 am
Entonces es más dificil parchar o crackear (no se el termino exacto) cuando hago una comprobación de esa manera?

Si pongo que se cierre al hacer la comprobación lo detectarían más rapido (según lei) o me equivoco? y si pongo un sleep corto antes de cerrar el programa, es mejor? complica en algo?

Saludos  ;D



Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: Karcrack en 3 Febrero 2012, 14:28 pm
Tal vez no se pueda parchear el EXE pero si puedes hacerlo en memoria... solo tengo que cambiar ese JE por un JNE (o viceversa) justo despues de que se haya calculado el checksum >:D


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: MCKSys Argentina en 3 Febrero 2012, 17:19 pm
Coincido con Karcrack.

Toda la cosa radica en "no avivar al cracker".

Si el salto es determinante en la rutina de registracion, es lo primero que se va a buscar. Ahora, si la rutina de registracion la partes en varios lados del EXE y la ejecutas en etapas.. pues, es mas complicado.

Un ejemplo seria tener 2 chequeos: El primero es complicadito y una vez pasado, muestra un mensaje diciendo "Todo bien!"
El 2do chequeo se realiza en otro lado y nunca inmediatamente despues del primero (una idea seria en la siguiente ejecucion del proggie).
Este chequeo no muestra mensajes, pero se encarga de verificar la veracidad del registro. Si no es correcto, entonces como te dije antes, modifica cosas (variables, bases de datos, pero nada que pueda "VERSE") para que el proggie siga funcionando, pero lo haga de una forma incorrecta.

No es sencillo darte tips si no se que hara el proggie, pero la idea basica es complicar lo mas posible la cosa...

Saludos!


Título: Re: Sugerencias para hacer dificil el crackeo Help
Publicado por: Maurice_Lupin en 3 Febrero 2012, 17:59 pm
Es un programa que recibe datos personales y las respuestas de un examen o test, luego califica mediante unas tablas, para eso hay que cargar variables según edad y sexo.

Finalmente envia un reporte con estadisticas en excel, eso es todo. No es complicado pero si laborioso.

Ahora no avisaré al cracker y partire la rutina de comprobación en 2 o 3, toda sugerencia es bienvenida.

P.D: Estoy averiguando como cifrar el formato PE, si alguien tiene una información al respecto se los agradeceria.

Saludos  ;-)