Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 批处理十六进制到ASCIC使字符串无用?_Windows_Batch File_Cmd - Fatal编程技术网

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

我相信我找到了一种很好的方法,可以同时向多个批处理窗口发送命令行,下面是我的看法:

  • 使用Set with/p允许用户输入一个字符串,并将其另存为消息
  • 使用“Echo set command=%message%>command.bat”将其导出到自己的bat文件
  • 使用echo键入ftp信息,然后使用“ftp-s:upload.txt ftp.example.com”运行它
  • 这会上传到我的webhotel,在那里我会使用bitadmin.exe下载文件
  • 然后运行command.bat并确保字符串%command%在运行命令之前不相同
  • 这一切都很好,但我觉得我的ftp名称/密码太暴露给任何有IQ的人,以至于“右键单击,编辑”并检查代码。我已经到了只通过查看批处理文件就很难真正获得它的地步

    到目前为止,我将密码转换为十六进制,并使用一个奇特的批处理文件将其从我调用的批处理文件转换回字符串,然后将其与ftp连接文件一起导出。它一直工作到批处理读取ftp连接文件并被困在“需要密码”上,即使当我检查我的ftp连接文件时,密码输入正确的位置,没有额外的空格或奇怪的东西。但直到我删除了这行并在我自己的电脑里打出来,它才起作用。(另一种方式,我正在考虑使用批处理到exe程序,但只运行临时文件夹中的批处理文件,每个人都知道)我在这里使用的十六进制密码只是“密码”

    迄今为止的代码:

    @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的东西。该拼贴不在列表中,但听起来很有趣;)总之,批处理文件背后的原始想法是有效的。我只想让密码更难找到。