texto convertir binario php binary

texto - Convertir archivo PHP a binario



convertir texto a binario php (5)

Dado que PHP es un lenguaje (relativamente) portátil, es más preferible compilar la fuente PHP a un código de bytes en lugar de un código binario. Para ello existe un proyecto experimental llamado bcompiler .

¿Es posible convertir un archivo PHP a binario y desplegarlo en un servidor web?


Depende de lo que quieras decir con "binario".

Si desea compilar (o simplemente ofuscar) su código PHP para evitar que alguien más lo modifique, use un compilador de bytecode. Un ejemplo son las herramientas de Zend , entre otras. (Prefiero las herramientas de Zend porque son la compañía principal detrás de PHP y QA completamente todas sus herramientas contra todas las versiones de PHP).

Si desea compilar su código PHP y vincularlo con el tiempo de ejecución de PHP y luego implementarlo (como C / C ++), entonces no. Tal vez en teoría eso sería posible pero sería un desastre. (No es práctico ni factible y no creo que nadie haya hecho nada para intentarlo y la salida también estaría vinculada a una arquitectura particular).


Esto está muy atrasado, pero debe hacer lo que quiera.

Haga su propia extensión personalizada con el motor zend mientras se compilan en un archivo dll c ++. Agregue esa dll a su ubicación externa en el directorio php. Después de eso, puede llamar a sus propios scripts de PHP como funciones de PHP. Tenga en cuenta que php es solo para el servidor, por lo que nadie puede obtener sus scripts a menos que se copien del servidor y se entreguen.

Descarga la biblioteca de fuentes php para la versión que tienes. [windows.php.net] Se incluirán las cosas zend que necesitas.

Paso 1. Cree un nuevo proyecto y seleccione "General" en Visual C ++ y la opción de proyecto vacío. Dale un nombre y haz clic en Aceptar. El mío es Project1, así que usaré eso.

Paso 2. Haz clic derecho en el nombre de la solución y selecciona propiedades. Seleccione Biblioteca dinámica (.dll) en Valores predeterminados del proyecto / Tipo de configuración en el elemento Propiedades de configuración / General. Asegúrese de que está cambiando la configuración de depuración ya que no se usa la versión.

Paso 3. Bajo las Directrices de VC ++ agregue lo siguiente en las bibliotecas de inclusión: C: / php-7.1.8-src / Zend C: / php-7.1.8-src / win32 C: / php-7.1.8-src / TSRM C: / php-7.1.8-src / main C: / php-7.1.8-src Bibliotecas: C: / php-7.1.8 / dev

Paso 4. En C / C ++, el preprocesador agrega ZEND_DEBUG = 0; ZTS = 1; ZEND_WIN32; PHP_WIN32 a las definiciones del preprocesador

Paso 5. Bajo la entrada del enlazador agrega php7ts.lib. Esto debe coincidir con la lib para su versión de php

Haga clic en Aceptar para guardar la configuración de propiedades para su solución.

Ahora vamos a agregar un archivo de código para su función (Project1)

Debajo de la carpeta de archivos de origen, haga clic derecho y agregue Código. Llamé a la mía Project1.cpp y aquí está la fuente. Deberá cambiar el nombre de config.w32.h.in por config.w32.h y copiarlo en los directorios donde sea necesario. Intellisense debería decirle dónde está mirando y config.w32.h.in está en el directorio C: / php-7.1.8-src / win32.

// this needs to match the compiler version that php was compiled with #define _CRT_SECURE_NO_WARNINGS #define PHP_COMPILER_ID "VC14" #pragma once /* You must include config.w32.h first */ #include "win32/config.w32.h" #include "php.h" ZEND_FUNCTION(ReturnString); zend_function_entry Project1_functions[] = { ZEND_FE(ReturnString, NULL) { NULL, NULL, NULL } }; zend_module_entry Project1_module_entry = { STANDARD_MODULE_HEADER, "Project1 Module", Project1_functions, NULL, NULL, NULL, NULL, NULL, NO_VERSION_YET, STANDARD_MODULE_PROPERTIES }; ZEND_GET_MODULE(Project1) ZEND_FUNCTION(ReturnString) { zval* value; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &value) == FAILURE) { RETURN_FALSE; } convert_to_string(value); RETURN_STRING(Z_STRVAL_P(value), true); }

Presione F7 para compilar y debería crear Project1 / Debug / Project1.dll. Copie Project1 a su directorio ext C: / php-7.1.8 / ext y agregue una extensión = Project1.dll a su php.ini y estará listo. Si no funciona, revise dos veces sus propiedades para asegurarse de que no se haya perdido algo.

The script is quite simple: <?php echo ReturnString("The Returning String"); ?>


Hace algunos meses lo busqué (protección de código php o protección de script) y mis resultados fueron:

Ofrezco alguna descripción pero trato de buscarlos en google y perdonarme.

Tenga cuidado con su búsqueda, ya que puede encontrar compresores php en su lugar y los compresores son solo GZIP y otros mecanismos de compresión de transferencia http.

Los problemas más importantes con las herramientas de protección de script php son:

  1. Cuánta velocidad del rendimiento en tiempo de ejecución de php bajará (bajará) (cuánta velocidad bajará)

  2. ¿Necesitaremos un entorno adicional o herramientas instaladas en el servidor php?

  3. Fácil de manejar

Encontrará toda la descripción y comparación en: http://www.seocompany.ca/software/free-encryption-software.html

Ofuscadores

Encontrará muchos ofuscadores en la web, pero no hay garantía de que sus códigos funcionen.

Incluso encontré una forma mixta con Visual C++ y MSVS para ofuscar php y como también tengo experiencia con asp.net lo probé pero no funcionó.

Convertidores y Lockers

  • Protector de iones ( http://www.ioncube.com/ ): Oh, no es gratis, pero escuché muchos sobre su famoso nombre

  • phc (compilador php) : gratis y fue un buen caso, pero "Brendan Long" dijo la verdad porque phc tiene una forma de instalación dolorosa. Sin embargo el resultado es mágico y tiene nombre famoso como ion

  • php locker : lo tengo y lo pruebo. Tuvo un error con el código compilado y se lanzó por menos de php5. Absolutamente no es gratis y para quienes están pensando en ccr-ac * ks es imposible encontrarlo para el php locker.

  • Zend Guard : una forma perfecta de guardar, pero es más difícil que phc o ion porque necesita el entorno de tiempo de ejecución Zend (ZRE) en su servidor y Zend Guard no es gratis. Sin embargo, si es un tipo Zend (zend framework + zend IDE + zend Guard) debe saber que Zend Guard es compatible con zend IDE y el proceso de bloqueo de código será muy fácil. No soy un tipo Zend porque, obviamente, tanto Zend Framework como Zend Guard bajan la velocidad de ejecución. Me encanta php speeded runtime.

  • php -> C/C++ compiling (SÍ, ES POSIBLE) (MEJOR DESEMPEÑO A TRAVÉS DEL MUNDO): No es tan famoso, así que es normal si nadie habla.

  • facebook hiphop : esta herramienta está utilizando Facebook para compilar archivos php en c ++ / c para obtener un mejor rendimiento, pero finalmente tenemos códigos compilados ilegibles. No lo recuerdo, pero creo que necesita una buena familiaridad con Linux o sobre el mecanismo de recompilación de php en Microsoft Visual C++ . (Sin embargo, NO CONFÍE en mi memoria débil y búsquelo en Google) (Y PARA APRENDER SOBRE PHP RECOMPILE WAY PLZ CONSULTE LA última versión de php_manual.chm)

Finalmente, hice mi propio ofuscador de php simple utilizando expresiones regulares que funcionaron en php 5.3 y mis scripts complejos, así que OpenSSL por OpenSSL y diferentes mecanismos de encriptación y obtuve una revisión sobre el desarrollo seguro de php.

Deseando que tengas éxito.


Si el servidor web está basado en Linux, puede crear un paquete como .deb o .rpm (dependiendo de la distribución de Linux) y distribuirlo / desplegarlo fácilmente.

BR, Dawid.