La ingeniería programática del encriptado de codigos

Los software capaces de cifrar el código fuente escrito en varios idiomas están dispersos alrededor de la red. Por lo general, este tipo de programas pagados son capaces de proporcionar al usuario con cierta confianza de que su código no será modificado por terceros y la ventaja de encapsular toda la lógica de programación involucrada en la creación del programa en cuestión como lo hacen en Crypter. Va a encontrar muchos de estos códigos principalmente en los productos vendidos con una licencia, donde incluso llevar todos los archivos necesarios para la operación, estos son ilegibles para el usuario. Podemos citar algunos ejemplos utilizados en PHP como ionCube , ZendGuard , phpSHIELD y SourceGuardian.

7685572_4UoHrLas limitaciones del software

Desafortunadamente, algunos de estos productos tienen poca o ninguna documentación (no sé si es porque los autores consideran que la explica por sí mismo o es demasiado lento, incluso) la integración dolorosa hacer en su entorno de desarrollo. Si la empresa proveedora también pone a disposición una API, una situación aún más complicada debido a la posible integración con otros programas provoca la ruptura de una documentación sólida (tipos de parámetros de éxito / error del modelo de respuesta, tratamientos, etc.) y concisa es aún más necesario.

El caer en esta situación o no, el código compilado es siempre un dolor de cabeza para aquellos que necesitan conocer más detalles de la implementación. “Ah, pero si alguien lo hizo, la intención es que esta persona no quiere edición de código, pero se usa simplemente sin cambios.

Por otra parte, a causa de licencias, es ilegal para tratar de revertir o detalles específicos de la implementación del autor “. Está bien, no voy a entrar en detalles de lo que puede / debe hacer con los códigos cifrados, incluyendo muchos de ellos vienen con un mensaje de advertencia ahora en la práctica este tipo por ejemplo, “No se puede realizar ingeniería inversa, descompilar, mecanismos de cifrado licencia de derrota, o desmonte este producto o software de licencia de software del producto “.

El caso aquí es sólo informativa, estamos aplicando el conocimiento, no fomentar la práctica del sabotaje y la violación de los derechos y las políticas de uso.

Técnicas de ingeniería inversa

Estamos trabajando con PHP en este artículo, así que vamos a utilizar las herramientas proporcionadas de forma nativa por el lenguaje para tratar de encontrar los archivos de datos de aplicación que no podemos tener acceso a la fuente original.

No voy a mencionar aquí el uso de depuradores como Xdebug (que puede ser una buena opción), ya que le gustaría centrarse directamente a las clases y funciones del lenguaje para que pueda echar un vistazo a un nivel ligeramente inferior, y ver la variedad de técnicas podemos utilizar para obtener detalles de un “cuadro negro”.

Haz un comentario