Board logo

标题: [工具合集] Ascii字符串生成器 [打印本页]

作者: cmd1152    时间: 2021-8-22 10:39     标题: Ascii字符串生成器

这次不加壳了,方便我的合作伙伴Hope2021
  1. @Echo off
  2. if .%1.==./?. goto :Help
  3. if "%2"=="" goto :help
  4. set a=%1
  5. set a=%a:~2%
  6. echo;%a%>%2
  7. Certutil -DecodeHex -F %2 %2>nul
  8. Exit /b
  9. :Help
  10. echo;返回一个Ascii字符串
  11. echo;
  12. echo;Ascii [16进制代码] [存储文件]
  13. echo;
  14. echo;[16进制代码]  像0x00、0x01、0x02这一种。
  15. echo;
  16. echo;[存储文件]    字符串放到的文件
  17. exit /b
复制代码

作者: HOPE2021    时间: 2021-8-22 18:50

回复 1# cmd1152
2.0版本
  1. @Echo off
  2. ::--------输入检测----------------------------------------------
  3. for %%i in (- / \ [ ] { } ` ~ , . @ # ; = + _) do (
  4. if /i '%1'=='%%iF' @Goto :File
  5. )
  6. for %%i in (- / \ [ ] { } ` ~ , . @ # ; = + _) do (
  7. if /i '%1'=='%%iV' @Goto :Variate
  8. )
  9. for %%i in (- / \ [ ] { } ` ~ , . @ # ; = + _) do (
  10. if /i '%1'=='%%iI' @Goto :Installs
  11. )
  12. if /i '%1'=='/?' @Goto :Help
  13. if /i '%1'=='' @Goto :Help
  14. if /i '%1'=='help' @Goto :Help
  15. if /i '%1'=='-h' @Goto :Help
  16. if /i '%2'=='' @Goto :Help
  17. Echo.命令语句不正确.
  18. @Exit /b
  19. ::--------文件操作----------------------------------------------
  20. :File
  21. Set $Asc=%3
  22. For %%i in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
  23. For %%j in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
  24. if /i '%$Asc%'=='%%i%%j' @Goto :File_2
  25. if /i '%$Asc%'=='0x%%i%%j' @Goto :File_3
  26. )
  27. )
  28. Echo.无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。
  29. Set "$Asc="
  30. @Exit /b
  31. :File_2
  32. Echo.%$Asc% > "%~2"
  33. Certutil -DecodeHex -F "%~2" "%~2" > Nul
  34. Set "$Asc="
  35. @Exit /b
  36. :File_3
  37. Set "$Asc=%$Asc:~2%"
  38. Echo.%$Asc% > "%~2"
  39. Certutil -DecodeHex -F "%~2" "%~2" > Nul
  40. Set "$Asc="
  41. @Exit /b
  42. ::--------变量操作----------------------------------------------
  43. :Variate
  44. Set $Asc=%4
  45. For %%i in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
  46. For %%j in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
  47. if /i '%$Asc%'=='%%i%%j' @Goto :Variate_2
  48. if /i '%$Asc%'=='0x%%i%%j' @Goto :Variate_3
  49. )
  50. )
  51. Echo.无效数字。数字常数只能是十进制(17),十六位进制(0x11)或八进制(021)。
  52. Set "$Asc="
  53. @Exit /b
  54. :Variate_2
  55. Echo.%$Asc% > "%~2"
  56. Certutil -DecodeHex -F "%~2" "%~2" > Nul
  57. Set "$Asc="
  58. Set /p %~3=0<"%~2"
  59. if exist "%~2" del "%~2"
  60. @Exit /b
  61. :Variate_3
  62. Set "$Asc=%$Asc:~2%"
  63. Echo.%$Asc% > "%~2"
  64. Certutil -DecodeHex -F "%~2" "%~2" > Nul
  65. Set "$Asc="
  66. Set /p %~3=0<"%~2"
  67. if exist "%~2" del "%~2"
  68. @Exit /b
  69. ::--------安装Ascii---------------------------------------------
  70. :Installs
  71. Md "%~2" >nul 2>nul
  72. For %%i in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
  73. For %%j in (0 1 2 3 4 5 6 7 8 9 a b c d e f) do (
  74. Echo.%%i%%j > "%~2\0x%%i%%j%~3"
  75. Certutil -DecodeHex -F "%~2\0x%%i%%j%~3" "%~2\0x%%i%%j%~3" > Nul
  76. )
  77. )
  78. Set "$Asc="
  79. @Exit /b
  80. ::--------函数--------------------------------------------------
  81. ::--------帮助信息----------------------------------------------
  82. :Help
  83. Echo.
  84. Echo.Ascii [Version 1.0.0002]
  85. Echo.
  86. Echo.(C) Copyright 2021-2021 Hope ^& Cmd1152 Corp.
  87. Echo.
  88. Echo.对Ascii字符进行存取和处理.
  89. Echo.
  90. Echo.如果启用命令扩展,则会支持下列 Ascii 命令的其他格式:
  91. Echo.
  92. Echo.Ascii -F "FileName" HexCode
  93. Echo.
  94. Echo.  FileName              存储 Ascii 码的文件名.
  95. Echo.  HexCode               十六进制数字,使用此数字来获取 Ascii 码的字符.
  96. Echo.                        HexCode可以带有前缀0x.
  97. Echo.
  98. Echo.  以下范例可能有帮助:
  99. Echo.
  100. Echo.  Ascii -F "Hope.ini" 0xff
  101. Echo.  Ascii -F "Hope.ini" ff
  102. Echo.
  103. Echo.    会获取 Ascii 码为 0xff 的字符,并将其存储到 Hope.ini 中.
  104. Echo.
  105. Echo.Ascii -V "TempName" "VariateName" HexCode
  106. Echo.
  107. Echo.  TempName              临时文件名,使用完毕后将会自动删除.
  108. Echo.  VariateName           存储 Ascii 码的变量名.
  109. Echo.  HexCode               十六进制数字,使用此数字来获取 Ascii 码的字符.
  110. Echo.                        HexCode可以带有前缀0x.
  111. Echo.
  112. Echo.  以下范例可能有帮助:
  113. Echo.
  114. Echo.  Ascii -V "Hope.ini" "Temp" 0xff
  115. Echo.  Ascii -V "Hope.ini" "Temp" ff
  116. Echo.
  117. Echo.    会获取 Ascii 码为 0xff 的字符,并将其存储到 Temp 中,且初始化 Hope.ini 文件.
  118. Echo.
  119. Echo.Ascii -I "DirectoryName" "Filename Extension"
  120. Echo.
  121. Echo.  DirectoryName         存储所有标准Ascii码文件的目录.
  122. Echo.  Filename Extension    存储 Ascii 码的文件的拓展名.
  123. Echo.
  124. Echo.  以下范例可能有帮助:
  125. Echo.
  126. Echo.  Ascii -I "Hope" ".Chr"
  127. Echo.
  128. Echo.    会获取所有 Ascii 码的字符,并将其存储到 Hope 目录中,生成0x00-0xff.Chr文件.
  129. Echo.
  130. Echo.注意:
  131. Echo.
  132. Echo.以上所有命令都会初始化$Ascii、$AscMap以及$Asc变量,请勿在您的批处理中使用它们.
  133. @Exit /b
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2