Windows 批处理十六进制到ASCIC使字符串无用?
我相信我找到了一种很好的方法,可以同时向多个批处理窗口发送命令行,下面是我的看法:Windows 批处理十六进制到ASCIC使字符串无用?,windows,batch-file,cmd,Windows,Batch File,Cmd,我相信我找到了一种很好的方法,可以同时向多个批处理窗口发送命令行,下面是我的看法: 使用Set with/p允许用户输入一个字符串,并将其另存为消息 使用“Echo set command=%message%>command.bat”将其导出到自己的bat文件 使用echo键入ftp信息,然后使用“ftp-s:upload.txt ftp.example.com”运行它 这会上传到我的webhotel,在那里我会使用bitadmin.exe下载文件 然后运行command.bat并确保字符串%c
@Echo Off
:Start
Rem (1)Set/(2)Export Message
Rem (1)
Set /p message=
Rem (2)
Echo set run=%message% >command.bat
Rem (1)Decode Hex/(2)Running hex output/(3)Acces FTP service
Rem (1)
Start HEX.bat 70617373776f7264
Rem (2)
Call CODE.bat
Del /Q CODE.bat
Rem (3)
Echo darkrock> upload.txt
Echo %code%>> upload.txt
Echo asc>>upload.txt
Echo put command.bat>> upload.txt
Echo quit >> upload.txt
Ftp -s:upload.txt ftp.example.com
Goto :Start
十六进制转换器出现在这里:
@echo off
setlocal DisableDelayedExpansion
set Caret=^^
set ControlChar={SOH} {STX} {ETX} {EOT} {ENQ} {ACK} {BEL} {BS} {HT} {LF} {VT} {FF} {CR} {SO} {SI} {DLE} {XON}
set ControlChar=%ControlChar% {DC2} {XOFF} {DC4} {NAK} {SYN} {ETB} {CAN} {EM} {SUB} {ESC} {FS} {GS} {RS} {US}
set AsciiChar= !"#$%%&'()*+,-./0123456789:;<=>?
setlocal EnableDelayedExpansion
set AsciiChar=!AsciiChar!@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]!Caret!_`abcdefghijklmnopqrstuvwxyz{^|}~
set AsciiChar=!AsciiChar!€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿
set AsciiChar=!AsciiChar!ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ
set HexCode=%1
call :Conversion
echo Hex: %1
echo Dec: %DecimalCode%
echo Ascii: !AsciiCode!
echo Bin: %BinaryCode%
cls
goto :EOF
:Conversion
set DecimalCode=
set AsciiCode=
set BinaryCode=
:ConvertHex
set /A Decimal=0x%HexCode:~0,2%, DecChar=Decimal-32
set DecimalCode=%DecimalCode%%Decimal%,
if %Decimal% lss 32 (
if %Decimal% equ 0 (
set AsciiCode=!AsciiCode!{NUL}
) else (
for /F "tokens=%Decimal%" %%c in ("%ControlChar%") do set AsciiCode=!AsciiCode!%%c
)
) else (
set AsciiCode=!AsciiCode!!AsciiChar:~%DecChar%,1!
)
call :DecToBin
set BinaryCode=%BinaryCode%%Binary%,
set HexCode=%HexCode:~2%
if defined HexCode goto ConvertHex
exit /B
:DecToBin
set Binary=
for /L %%i in (1,1,8) do (
set /A "Bit=Decimal&1, Decimal>>=1"
set Binary=!Bit!!Binary!
)
echo set code=%AsciiCode% >Code.bat
exit /B
@echo关闭
setlocal DisableDelayedExpansion
插入符号=^^
集合ControlChar={SOH}{STX}{ETX}{EOT}{ENQ}{ACK}{BEL}{BS}{HT}{LF}{FF}{CR}{SO}{SI}{DLE}{XON}
set ControlChar=%ControlChar%{DC2}{XOFF}{DC4}{NAK}{SYN}{ETB}{CAN}{EM}{SUB}{ESC}{FS}{GS}{RS}{US}
设置ascihar=!"#$%%&'()*+,-./0123456789:;?
setlocal EnableDelayedExpansion
设置ascichar=!ascichar!@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]!插入符号!{^ abcdefghijklmnopqrstuvxyz}~
设置AsciiChar=!AsciiChar!“”††‡710‰èŒŽ“”“”•–-™š›œžŸ ¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿
集阿西卡=!阿西卡!阿西卡
设置HexCode=%1
电话:转换
回音十六进制:%1
echo Dec:%DecimalCode%
回声Ascii:!ascicode!
回送站:%BinaryCode%
cls
后藤:EOF
:换算
集合小数码=
集电=
设置二进制代码=
:ConvertHex
set/A Decimal=0x%HexCode:~0,2%,DecChar=Decimal-32
设置小数代码=%DecimalCode%%Decimal%,
如果%Decimal%lss 32(
如果%Decimal%等于0(
设置ASCICODE=!ASCICODE!{NUL}
)否则(
对于“%ControlChar%”中的/F“令牌=%Decimal%”%%c,请设置asciCode=!asciCode!%%c
)
)其他(
设置AsciiCode=!AsciiCode!!AsciiChar:~%DecChar%,1!
)
电话:德克托宾
设置BinaryCode=%BinaryCode%%Binary%,
设置HexCode=%HexCode:~2%
如果定义了HexCode,则转到ConvertHex
退出/B
:DecToBin
集二进制=
对于(1,1,8)do中的/L%%i(
设置/A“位=十进制&1,十进制>>=1”
设置二进制=!位!!二进制!
)
回声集代码=%ascicode%>code.bat
退出/B
Thx提前!:)可能是我遗漏了代码中的某些内容,但我相信,与忙于拼贴相比,过去两天我已经尽了最大努力。你检查过问题了吗?十六进制转换是一种魅力,我不认为这是问题所在。你在制作什么样的拼贴?通过混淆实现的安全性并不是真正的安全性。有些东西像sftp可能是需要的。这个拼贴不在列表上,但听起来很有趣;)而且批处理文件背后的所有原始想法都是有效的。我想要的是让密码更难找到。你检查过问题了吗?十六进制转换是一种魅力,我不认为这是问题。你在制作什么样的拼贴?模糊的安全性阳离子不是真正的安全性。可能需要类似sftp的东西。该拼贴不在列表中,但听起来很有趣;)总之,批处理文件背后的原始想法是有效的。我只想让密码更难找到。