Título: ¿Cómo puedo evitó que lean mi código? Publicado por: Ronxs en 11 Marzo 2024, 01:55 am Hola amigos del foro, me gustaría saber como puedo colocar que mi código no pueda ser editado y salgan un montón de caracteres chinos cuando intenten abrir el código del bat.
(https://i.ibb.co/h9HSxRv/image.png) y bueno quiero que aparezca algo así cuando den en editar. (https://i.ibb.co/L1wMxWR/image.png) Si necesitan más información acerca de lo que quiero me avisan. Subiré un tutorial cuando lo logré encontrar información al respecto. Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Danielㅤ en 11 Marzo 2024, 03:10 am Hola, aqui hay temas sobre lo que preguntas:
https://foro.elhacker.net/scripting/cifrar_bat-t360400.0.html https://foro.elhacker.net/scripting/batch_cifrar_codigo_batch-t379508.0.html https://foro.elhacker.net/scripting/batch_aporte_batcrytp_cifra_tu_codigo_batch_y_ejecutalo-t474501.0.html https://foro.elhacker.net/scripting/aporte_obfuscar_codigo_batch_y_ejecutarlo-t503083.0.html https://foro.elhacker.net/software/cifrar_tu_codigo_batch_y_ejucutalo_sin_problemas_batofuser_v21-t473464.0.html https://foro.elhacker.net/scripting/batch_aporte_batofuser_ofuscadordesofuscador_para_bats-t357078.0.html Saludos Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Eleкtro en 11 Marzo 2024, 08:03 am Para ayudarte a lograr ese objetivo, he desarrollado el siguiente script "híbrido" en PowerShell, en el que he encapsulado un algoritmo basado en el método de cifrado Caesar, que consiste en sustituir los caracteres originales del alfabeto, por otros caracteres que se encuentren en un número fijo de posiciones hacia delante o hacia atrás en el alfabeto. Pero a diferencia de un método Caesar convencional, esta reinvención no se limita al rango de sustitución del alfabeto, sino a todo el set disponible de caracteres de la tabla Unicode, por lo que permite hacer sustituciones por caracteres chinos (véase: https://symbl.cc/en/unicode/table/#cjk-unified-ideographs-extension-a) y cualquier otro caracter o símbolos.
Cypher.ps1 Código
Para cifrar un archivo obteniendo caracteres chinos, simplemente usaríamos el script asignando un valor cercano a 13280 en el parámetro "Shift" para desplazar el rango de sustitución de los caracteres del alfabeto hasta donde se encuentra la posición del rango de caracteres chinos: Código: PowerShell.exe -Command "Cypher.ps1" Encrypt -FilePath "File.bat" -Shift 13280 -Encoding "Default" Aquí muestro otro ejemplo, usando un valor cercano a 10160 para cifrar un archivo obteniendo símbolos muy curiosos: Código: PowerShell.exe -Command "Cypher.ps1" Encrypt -FilePath "File.bat" -Shift 10163 -Encoding "Default" Y el último ejemplo de cifrado, para realizar una sustitución por caracteres más cercanos al rango alfabético, usaríamos, por ejemplo, un valor entre 1 y 10: Código: PowerShell.exe -Command "Cypher.ps1" Encrypt -FilePath "File.bat" -Shift 1 -Encoding "Default" Si se prefiere, el script permite excluir caracteres de la operación de cifrado, mediante el parámetro opcional ExcludeChars. Podemos, por ejemplo, excluir los caracteres de salto de línea (CarriageReturn y LineFeed) para generar un archivo cifrado que preserve los saltos de línea del archivo original en vez de generar una única línea: Código: -ExcludeChars ([char]10,[char]13) Y para descifrar un archivo, se usaría de la siguiente forma: Código: PowerShell.exe -Command "Cypher.ps1" Decrypt -FilePath "Encrypted.bat" -Shift VALOR -Encoding "Default" Tomando como ejemplo este Batch-Script: Piedra-Papel-Tijeras.bat Código: @Echo OFF Utilizando los ejemplos de uso que he mencionado anteriormente para el script "Cypher.ps1", obtendremos el siguiente código cifrado con caracteres chinos: Código: 㐠㐥㑃㑈㑏㐀㐯㐦㐦 O en una sola línea: Código: 㐠㐥㑃㑈㑏㐀㐯㐦㐦㏭㏪㐴㑉㑔㑌㑅㐀㐰㑉㑅㑄㑒㑁㐌㐀㐰㑁㑐㑅㑌㐌㐀㐯㐀㑔㑉㑊㑅㑒㑁㐁㐀㐀㐈㐢㑙㐀㐥㑌㑅㑋㑔㑒㑏㐀㐨㐠㑃㑋㑅㑒㐉㏭㏪㐣㑏㑌㑏㑒㐀㐐㐦㏭㏪㐭㑏㑄㑅㐀㑃㑏㑎㐀㑃㑏㑌㑓㐝㐖㐐㐀㑌㑉㑎㑅㑓㐝㐒㐖㏭㏪㐀㏭㏪㐚㐰㑌㑁㑙㏭㏪㐣㐬㐳㏭㏪㐳㑅㑔㐀㐷㐩㐮㐝㏭㏪㐥㑃㑈㑏㐎㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐰㑌㑁㑙㑅㑒㐀㐀㐀㐀㐀㐀㐻㐭㐡㐲㐣㐡㐤㐯㐲㐽㐀㐀㐀㐀㐀㐀㐣㐯㐭㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐅㐰㐯㐩㐮㐴㐳㐅㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐅㐣㐯㐭㐰㐯㐩㐮㐴㐳㐅㏭㏪㐥㑃㑈㑏㐚㐀㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㐿㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㑜㐀㐭㐯㐲㐥㏭㏪㐥㑃㑈㑏㐚㐀㐀㐀㐀㐀㐀㐀㐻㐑㐽㐀㐯㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐻㐒㐽㐀㐃㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐻㐓㐽㐀㐘㐾㐾㐾㐜㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㐀㑜㐀㐭㐯㐲㐥㏭㏪㐥......etc O cifrado con estos otros símbolos: Código: ⟳⟸⠖⠛⠢⟓⠂⟹⟹ O tambíen cifrado así: Código: CHfkr#RII Aténtamente, Elektro. Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Ronxs en 11 Marzo 2024, 14:45 pm Gracias, aunque tengo varias dudas respecto a esto (soy nuevo en este mundo). Creé el archivo .ps1 con todo el código que me pasaste, intenté de varias formas cifrar el archivo bat de pruebas y no me deja. Me aparece este error:
Cypher.ps1 : El término 'Cypher.ps1' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo. En línea: 1 Carácter: 1 + Cypher.ps1 Encrypt -FilePath Coding1.bat -Shift 13280 -Encoding Defau ... + ~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Cypher.ps1:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException Intenté añadiendo el comando a un Batch-Script y me seguía apareciendo el mismo error, intente usar el comando con powershell abierto con permisos de administrador y me apareció el error de arriba. Si puedes ayudarme te lo agradecería. MOD: No citar todo el post para responder. Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Eleкtro en 11 Marzo 2024, 15:29 pm Cypher.ps1 : El término 'Cypher.ps1' no se reconoce como nombre de un cmdlet, función, archivo de script o programa ejecutable. Compruebe si escribió correctamente el nombre o, si incluyó una ruta de acceso, compruebe que dicha ruta es correcta e inténtelo de nuevo. El problema se debe a que el script "Cypher.ps1" lo tienes ubicado en una ruta de archivo que contiene espacios en blanco, como por ejemplo: "C:\ruta con espacios en blanco\Cypher.ps1" Es necesario modificar ligeramente la sintaxis de invocación de PowerShell para asegurarse de encerrar correctamente entre comillas las rutas con espacios en blanco, de la siguiente forma: Código: PowerShell.exe -Command "& 'C:\Ruta\Cypher.ps1'" Encrypt -FilePath 'C:\Ruta\Coding1.bat' -Shift 13280 -Encoding Default También puedes especificar rutas relativas: Código: PowerShell.exe -Command "& '.\Cypher.ps1'" Encrypt -FilePath '.\Coding1.bat' -Shift 13280 -Encoding Default Y, por supuesto, puedes usar variables si lo prefieres: Código: PowerShell.exe -Command "& '%CD%\Cypher.ps1'" Encrypt -FilePath '%CD%\Coding1.bat' -Shift 13280 -Encoding Default Nota: El parámetro "-Encoding" es opcional, lo mostré a modo de ejemplo, pero si en realidad no necesitas especificar un valor distinto a "Default" (que por lo general es la codificación latina 'Windows-1252' en un sistema operativo en Español) entonces no tienes que especificarlo. Saludos. Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Ronxs en 11 Marzo 2024, 15:58 pm Te lo agradezco ya no me aparece el error, ahora me pide que active la ejecución de scripts que esta deshabilitado, pero eso ya lo haré después. Subiré un tutorial y te daré tus respectivos créditos.
MOD: No citar todo el post para responder. Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Ronxs en 12 Marzo 2024, 13:18 pm Hola otra vez Elektro, disculpa la molestia, pero estaba intentando usar el parámetro "excludeChars" y me aparecía este error. Usando este comando:
Código: PowerShell -Command "& 'C:\Users\N1\Desktop\Cypher.ps1'" Encrypt -FilePath 'C:\Users\N1\Desktop\Coding1.bat' -Shift 13280 -Encoding Default -ExcludeChars ([char]10, [char]13) También lo intenté de esta manera y aún así me seguía apareciendo el mismo error. Código: PowerShell -Command "& 'C:\Users\N1\Desktop\Cypher.ps1'" Encrypt -FilePath 'C:\Users\N1\Desktop\Coding1.bat' -Shift 13280 -excludeChars ([char]10, [char]13) Error: C:\Users\N1\Desktop\Cypher.ps1 : Falta un argumento para el parámetro 'excludeChars'. Especifique un parámetro del tipo 'System.Object' e inténtelo de nuevo. En línea: 1 Carácter: 99 + ... -FilePath C:\Users\N1\Desktop\Coding1.bat -Shift 13280 -excludeChars + ~~~~~~~~~~~~~ + CategoryInfo : InvalidArgument: (:) [Cypher.ps1], ParameterBindingException + FullyQualifiedErrorId : MissingArgument,Cypher.ps1 MOD: No citar todo el post para responder. Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Eleкtro en 12 Marzo 2024, 20:36 pm Error: Falta un argumento para el parámetro 'excludeChars'. Especifique un parámetro del tipo 'System.Object' e inténtelo de nuevo. No puedo reproducir el error. ¿Qué versión de Powershell utilizas?. Puede que exista alguna incompatibilidad con el script, o con el modo de uso de la sintaxis de parametización en versiones anteriores a PowerShell 5.1.x (Windows 10). Escribe el siguiente comando en la CMD para averiguar tu versión de PowerShell: Código: PowerShell.exe -command $PSVersionTable En mi caso, tengo la versión 5.1.19041.1682 instalada. De todas formas, puedes realizar dos cambios para intentar evitar el mensaje de error... 1. El primer cambio consiste en definir explicitamente el tipo de Array (char[]) en el script. Reemplaza esta línea de código: Citar Código: $excludeChars = @() Por esta otra: Código: [char[]]$excludeChars = @() Con este cambio debería ser suficiente para que tu versión de PowerShell no se haga líos con arrays de tipo Object. 2. El segundo cambio consiste en probar diferentes sintaxis al asignar el valor del parámetro "ExcludeChars" en tu sistema para asegurar la compatibilidad. Puedes añadir el símbolo del operador (opcional) de Array "@" al especificar el array de caracteres en el parámetro "ExcludeChars": Código: -ExcludeChars @([char]10, [char]13) También puedes probar sin especificar de forma explícita el tipo 'char': Código: -ExcludeChars @(10, 13) y también de forma más simplificada: Código: -ExcludeChars 10,13 Código: -ExcludeChars "`r,`n" Título: Re: ¿Cómo puedo evitó que lean mi código? Publicado por: Conejo Blanco en 13 Marzo 2024, 13:21 pm En su tiempo yo utilizaba obfuscadores de codigo que ofrecian algunas paginas, funcionaban bastante bien, aunque esos codigos que postearon aca se ven bastante interesantes.
|