Esteganografía NTFS ADS [BATCH]

Iniciado por Segadorfelix, 7 Abril 2019, 09:18 AM

0 Miembros y 1 Visitante están viendo este tema.

Segadorfelix

Hola!  :)
Comparto un Script que realice para ordenar la información de unos archivos en una carpeta de imágenes. El Script se debe ejecutar en la carpeta donde están las imágenes. Las edita, agregándoles metadatos, Info(Información), Ext(Extensión) y Plus(Adicional).

Los datos quedan ocultos en la imagen, aunque yo realice el Script, más para no tener un archivo "confuso" con los datos que requería, sino que la información estuviera en las imágenes. No por ocultar información, que también es una utilidad valida.

Permite, editar(aquellos archivos que no están en el archivo zegist.txt creado en las primeras ejecuciones, que guarda aquellos archivos ya editados) para agregar los metadatos mencionados. Y leer, los metadatos introducidos.

El Script podría optimizarse, para dar la opción de editar "uno a uno" o por linea de comandos. Pero me sirvió para trabajar con más de 100 imágenes, en las cuales debía introducir la información manualmente. Por eso estas dos opciones no están incluidas.

https://pastebin.com/7rAyN4fs

Las imágenes se explican mejor.

Imágenes de prueba en una carpeta arbitraria (z.bat es el Script):


Ejecutamos:


La clave anti-estupidez es para evitar editar algo por error, por defecto es 0000:


Se edita archivo por archivo, con las etiquetas ya explicadas(se pueden añadir o quitar más manualmente):

En la primera ejecución en la carpeta pedira metadatos de z.txt(archivo temporal, durante la ejecución del Script), z.bat y zegist.txt. Solo lo hara en la primera ejecución. Luego quedan guardados en zegist.txt para no tomarlos en cuenta en próximas ejecuciones.

Archivo de registro de ediciones zegist.txt


Contenido:


Leer:


Código (dos) [Seleccionar]

@echo off
rem Segadorfelix DEMIAN_ABRAXAS
title NTFS ADS IMAGEN
setlocal enabledelayedexpansion
set opc=0
echo Escoge:
echo.
echo 1-Leer
echo 2-Editar
echo.
set /P opc="Elección: "
echo.
If %opc%==1 goto leer
If %opc%==2 goto edit
goto salida

:edit
IF NOT exist zegist.txt (echo.>zegist.txt)
set clave=""
set /P clave="Inserte clave, anti-estupidez: "
IF not %clave%==0000 goto salida
dir /B>z.txt
for /F %%i IN (z.txt) DO (
set ner=0
for /F %%j IN (zegist.txt) DO (
IF %%i==%%j set ner=1
)
IF NOT !ner!==1 (
set var=""
set ver=""
set adi=""
echo Archivo: %%i
set /P var="Escriba lo que necesite c; => "
set /P ver="Extension(1-PNG)(2-JPG)(3-GIF)(4-XCF)(5-BAT)(6-TXT)(7-Carpet): "
set /P adi="Adicional ;) "
echo !var!>>%%i:Info
IF !ver!==1 echo PNG>>%%i:Ext
IF !ver!==2 echo JPG>>%%i:Ext
IF !ver!==3 echo GIF>>%%i:Ext
IF !ver!==4 echo XCF>>%%i:Ext
IF !ver!==5 echo BAT>>%%i:Ext
IF !ver!==6 echo TXT>>%%i:Ext
IF !ver!==7 echo CARPET>>%%i:Ext
echo !adi!>>%%i:Plus
echo.
echo Info:
more<%%i:Info
echo Extensión:
more<%%i:Ext
echo Adicional:
more<%%i:Plus
echo.
)
)

del zegist.txt
ren z.txt zegist.txt
pause
goto salida

:leer
echo ¿Que desea leer?
echo.
echo Formato: [Archivo][Sección]
echo.
echo Sección:(1-Información; 2-Extensión; 3-Adicional)
echo.
set /P ler="Escoja: "
set arch=""
for %%j in (!ler!) do (
if !arch!=="" set arch=%%j
set secc=%%j
)
echo.
if !secc!==1 set secc=Info
if !secc!==2 set secc=Ext
if !secc!==3 set secc=Plus
(type zegist.txt| find "%arch%")>z.txt
for /F %%k IN (z.txt) DO (set arch=%%k
)
del z.txt
more<!arch!:!secc!
echo.
set rpeat==0
set /P rpeat="Leer más?(1-Sí, [ENTER]-Salir)"
if !rpeat!==1 goto leer
echo.

:salida


Me sirvió bastante, espero que sea de utilidad!

dijsktra

Si la depuración es el proceso de eliminar fallos en el software, entonces programar debe ser el proceso de ponerlos dentro. (Edsger Dijsktra)

Segadorfelix