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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5
11  Programación / Ingeniería Inversa / Re: Ofuscación de codigo en VB6 en: 20 Enero 2023, 00:47 am
Hola!

No.

Como te dije antes, una buena idea es pensar la operacion de registro de modo que la verificación se pueda hacer en partes, en distintos momentos. Los diferentes chequeos deben ser suficientes para determinar si el registro es correcto, sin tener que ser los mismos entre sí. Además, repartirlos en diferentes modulos/funciones, aumenta la complejidad del análisis.

Saludos!

Y si ofusco el código con Themida, ¿me puedo despreocupar de los strings, de cambiar nombres, de hacer la verificación por partes, etc...?  ¿o debo seguir haciendolo igualmente?
12  Programación / Ingeniería Inversa / Re: Ofuscación de codigo en VB6 en: 19 Enero 2023, 20:09 pm
Hola!

El de las variables no es necesario, pero de los procedimientos si, pues se ven en el desensamblado.

En el pasado hubo varios packers para VB6. Como es un producto discontinuado hace años, es difícil saber si los packers siguen soportándolo.
En general, el packer agrega codigo, lo que hace que el ejecutable sea mas grande; pero dependiendo del packer, puede que no sea mayor problema.

Todo lo puedas hacer para que el metodo que estás implementado no sea algo "lineal", mejor.
No sólo dividir en varias partes, sinó que hacer chequeos random de cosas que no necesariamente hacen a todo el proceso. Por ej.si escribes algo en el registro, no verificas todo el contendio, sino partes y en distintos momentos.

Si, pueden servir. Para reversers inexpertos que no entienden completamente cómo funciona VB6 internamente, suele servir. Pero no pienses que eso solo va a ser
suficiente.

Una idea: Si lo que escribes en el registro es una clave de activacion del software, puedes hacer que el chequeo de la misma sea en diferentes estados. Por ej: El chequeo "principal" (el que haces despues de hacer click en "registrar") puede hacer un chequeo "de alto nivel": que el codigo tenga largo X, empiece/termine/contenga cierto char o secuencia, que uno o varios de los chars sea un checksum, etc.
Y luego, en forma random (por eventos, timers, etc) haces otros chequeos: que una parte del codigo cumpla con una funcion X, que partes del codigo sean igual a una cadena X (menos recomendable), que cierta operacion sobre ciertos chars de un valor numerico, etc.

Saludos!

Gracias MCKSys!

Entonces, le cambio el nombre a procedimientos, funciones y a los nombres de modulos y formularios.

Las variables y Constantes no hace falta. Por ejemplo:

PUBLIC Const Contraseña=345

¿la palabra Contraseña no va a aparecer en ningun decompilador?

Respecto al ultimo punto, yo lo que tengo es una key de 8 caracteres que mete el usario, por ejemplo:

KeyEntrada="jeb8l9aq"

El Hacker va encontrar ese string en el Decompiler. Eso es impepinable.

A partir de ese string yo tengo que realizar operaciones con el valor ascii de esos caracteres para comprobar si es correcta.

Es decir, al final tengo que componer un vector de 8 bytes:

VectorKey(0 to 7) as byte

Y sobre ese Vectorkey hacer las operaciones pertinentes.  ¿como hago para despistar y que no me siga la pista desde el string hasta la composicion de ese VectorKey?  por ejemplo, con un primer timer meto los 4 primeros caracteres en VectorKey. Con un segundo timer meto los ultimos 4. Con un tercer timer creo un VectorKey2 que a su vez copia los datos de VectorKey. Y, finalmente, con un cuarto timer hago las operaciones.

¿sería asi la idea?   :huh:

13  Programación / Ingeniería Inversa / Ofuscación de codigo en VB6 en: 19 Enero 2023, 14:21 pm
Hola,

He escrito un programa en VB6 que usa una clave de registro, y quiero ponerselo complicado al hacker, en la medida de lo posible. O al menos, no tan facil.

Leí que para ofuscar código conviene cambiar el nombre a las variables y las funciones. Pero he visto en los programas de Decompilación que lo que te aparece son nombres genéricos, como "var_510C91=57".

Osea, ¿cambiar el nombre de las variables y procedidimientos sería una tontada gorda?

Estoy usando VBDecompiler v7.9 (tiene ya 12 años) para entender como se vería el código nativo desde el punto de vista de un decompilador.

Mi segunda pregunta es si conoceís algun Packer para VB6. Creo que esos programas te pueden inflar el código (añadiendo código basura) para dificultar el entendimiento.  ¿habría que inflar el código o mejor comprimirlo?

Y ademas de todo eso, se me ocurren preguntas como, por ejemplo, la función crítica que quieres proteger, dividirla en varias funciones esparcidas por muchos modulos diferentes. ¿eso ayudaría? ¿o da igual que esté en un mismo modulo que en modulos diferentes?

Otra pregunta, ¿Si hago que se desborde una variable en mitad del codigo (por ejemplo Variable_Tipo_Byte=3450) para que salte a un "Goto Error", ¿ese tipo de saltos ayudarian a despistar?

muchas gracias









14  Programación / Ingeniería Inversa / Re: Desensamblando Visual Basic 6.0 en: 19 Enero 2023, 13:34 pm
cierto no me di cuenta del titulo del decompiler...

la gran mayoria de las veces uno encuentra programas crackeados  o lekeados por la red, hay una version que tengo guardada, pero la tengo en telegram, si gustas me contactas via telegram y te lo mando la tool filtrada, saludos
Apuromafo
(t.me/apuromafo)

Hola Apuromafo. A mí también me interesa el VBDecompiler Pro, ¿como puedo contactarte?

muchas gracias
15  Comunicaciones / Redes / No-IP me ha dejado de funcionar en: 17 Junio 2016, 02:44 am
Tengo un dominio no-ip que ha dejado de funcionar de repente.

He creado otro diferente (te permiten tener hasta 3) y ese si que funciona perfectamente. En el panel de control de no-ip me aparecen los dos dominios apuntando a la misma IP, que es la correcta. La diferencia es que un dombre si va, y el otro no.

He escrito al servicio técnico y me dicen que es problema de mi ISP que tiene el puerto bloqueado (han hecho un telnet para comprobarlo)

Sin embargo, no es verdad porque con otro nombre de no-ip me funciona perfectamente.

He probado a borrar el dominio y crearlo de nuevo y nanai.

Que cojones pasa, porque me han hecho una faena.

16  Comunicaciones / Redes / Re: Duda sobre HTTP proxy en: 3 Junio 2016, 21:23 pm
Exacto, sabes si en el chrome se puede hacer lo mismo. ¿por defecto viene para SOCKS4?

Respecto al HTTP proxy, con el secure proxy no hay manera que me funcione. Con el SOCKS5 no tuve problemas porque encontré buena documentación de lo que es cada cosa: https://es.wikipedia.org/wiki/SOCKS

Pero me gustaría poder implementar un HTTP(s) proxy también pero no encuentro información por ningún lado. ¿conoces algun sitio con información fiable de los pasos a seguir para establecer la conexión?
17  Comunicaciones / Redes / Re: Duda sobre HTTP proxy en: 2 Junio 2016, 23:26 pm
En un proxy SOCKS4 el navegador pasar la IP ya resuelta. En un SOCKS5 puede pasar el nombre pero tendrá que configurarse el navegador de alguna forma
18  Comunicaciones / Redes / Re: Duda sobre HTTP proxy en: 2 Junio 2016, 02:11 am
Sí, pero tu hablas de la configuración del proxy.

¿Pero el Navegador como sabe si el Proxy resuelve las DNS o no?
19  Comunicaciones / Redes / Hacer un proxy con la puerta de enlace en: 31 Mayo 2016, 23:28 pm
Al igual que existen Proxys para el navegador, pro ejemplo, un SOCKS5,

Me pregunto si no se podría hacer lo mismo con la puerta de enlace al completo.

¿se podría establecer en la conexión de area local como puerta de enlace 127.0.0.1 y luego puentearlo con sockets a la direción real 192.168.1.1?
20  Comunicaciones / Redes / Re: Duda sobre HTTP proxy en: 31 Mayo 2016, 23:20 pm
Una duda,

Para que el Proxy pueda resolver las DNS supongo que habrá que modificar la Conexión de Area Local y especificar como direccion DNS la dirección del proxy. Por ejemplo, la 127.0.0.1 si el Proxy corre en el mismo PC.

He intentado escuchar con un socket UDP en la 127.0.0.1 y redireccionarlo al servidor DNS "80.58.61.250", pero no consigo que funcione. ¿sabéis si se podría hacer con sockets UDP?
Páginas: 1 [2] 3 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines