• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >DOS/BAT > certutil - decode/encode BASE64/HEX strings.Print symbols by HEX code

certutil - decode/encode BASE64/HEX strings.Print symbols by HEX code

作者:mdxy-dxy 字体:[增加 减小] 来源:互联网

mdxy-dxy 通过本文主要向大家介绍了certutil - decode/encode BASE64/HEX strings.Print symbols by HEX code等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1. The thing I used this for wad to decode and encode BASE64 strings. (-decode and -encode command switches) .It has two annoying features here - for decode and encode it needs
-----END CERTIFICATE----- and -----BEGIN CERTIFICATE----- at begining and at the of base64 file.And it prints decoded file in lines with max length of 64 symbols.
So here are two very very very simple scripts that use certutil to decode and encode base64 string (and dealing with begin and end tags) (there are no checks for file existence and if the parameters are correct - I rely on certutil error messages):

decode:

@echo off
setlocal
for /f "delims== tokens=1" %%A in ('type %1') do (
	set encoded=%%A
)
rem two additional lines are needed by certutil
echo -----BEGIN CERTIFICATE-----> %2.tmp
echo %encoded%>>%2.tmp
echo -----END CERTIFICATE----->> %2.tmp


certutil /decode %2.tmp %2
del /S /Q %2.tmp
endlocal
</div>

encode:

@echo off
setlocal
certutil /encode %1 %1.encoded
rem create an empty file
break > %2

setlocal ENABLEDELAYEDEXPANSION
(
	for /f "eol=-" %%A in (' type %1.encoded ') do (
		rem this not works - left an empty spaxes after each line from typed file
		rem null< (set /p #=%%A) >>%1.encoded
		
		set result=!result!%%A
	)
)
endlocal & set result=%result%
echo %result%>> %2%
del /S /Q
endlocal
</div>

The bad thing is that the base64 strings are stored in a variable and there's a limitations for it's size.But for a small strings it wokrs.

2. Much more interesting.In the help it shows that there's an -decodehex switch.And I was surprised to find that there's also an undocumentes switch -encodehex (strange - decodehex looks more dangerous , because it can be used to produce binaries). Here's an example structure of encoded file:

0000 73 65 74 20 78 3d 15 0d  0a 73 65 74 20 79 3d 12   set x=...set y=.
0010 0d 0a 65 63 68 6f 20 2a  2a 25 78 25 25 79 25 2a   ..echo **%x%%y%*
0020 2a    
</div>

(just as every hex editor)
This was my attempt to create file that set LF and CR to variables smile - and I still don't know why it was unsuccessful it prints "§↕" (any help here will be welcomed - I don't know what goes wrong).
EDIT: I've set DEC codes instead HEX .Anyway still not works.
In fact the data that is behind the hexes is not necessary - it's only for visualisation .
To decode the sample just use this (if this above is saved in sample.hex) :

certutil -decodehex sample.hex not.working.bat

Any way it works for creation of the famous beep.bat :

0000 65 63 68 6f 20 07
this pattern can be used for creation of bat that echoes a random symbols by hex.Just edit the last character.
and this is a pattern for setting a symbol by hex to %#% variable (just edit the last character):
0000 73 65 74 20 78 3d 15 0d
Anyway there are few more things that I want to try with this smile

here's a how forfiles can be used for hex symbols

</div>

您可能想查找下面的文章:

相关文章

  • 将批处理文件注册成服务在系统启动的时候自动调用
  • CMD CODE PAGE的概念及其设置值使用方法
  • 使用bat批处理来安装和卸载ASP组件
  • Emm386、Lh、Memmaker命令使用说明
  • dos中一些常用命令的errorlevel返回值
  • win2003文件夹权限设置脚本代码
  • 一个“灵异”批处理引发的思考加补充说明
  • dos 创建文件夹 md
  • at计划在指定时间和日期在计算机上运行命令和程序
  • 用bat实现的自动关机的代码

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • DOS下内存的配置
    • 通过批处理修改DNS的代码(推荐)
    • 批处理文件(bat文件)注册dll批量注册dll
    • 用BAT脚本快速编辑host文件的方法例子
    • cacls命令设置文件及其文件夹权限的方法
    • 一键重置mysql的root密码的实现脚本
    • 可以实现系统自动关机的批处理
    • dos中一些常用命令的errorlevel返回值
    • CMD CODE PAGE的概念及其设置值使用方法
    • CMDOW 一个CMD命令行下 隐藏、禁用窗口控制程序

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有