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
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
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
(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
此函数调用numpy.char.decode()使用指定的编解码器解码给定的字符串。 import numpy as np a = np.char.encode('hello', 'cp500') print a print np.char.decode(a,'cp500') 其输出如下 - hello
Decode String 描述 Given an encoded string, return its decoded string. The encoding rule is: k[encoded_string], where the encoded_string inside the square brackets is being repeated exactly k times. Not
Decode Ways 描述 A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message containing digits, determine the
After encode by this script, you can decode it with PHP, and vice versa. Support Unicode library. This code was collected from the network, I just rewrite it as the plugin of jQuery, the copyright bel
主要内容:Python encode()方法,Python decode()方法前面章节在介绍 bytes 类型时,已经对 encode() 和 decode() 方法的使用做了简单的介绍,本节将对这 2 个方法做详细地说明。 我们知道,最早的字符串编码是 ASCII 编码,它仅仅对 10 个数字、26 个大小写英文字母以及一些特殊字符进行了编码。ASCII 码做多只能表示 256 个符号,每个字符只需要占用 1 个字节。 随着信息技术的发展,各国的文字都需要进行编码,于是相
描述 (Description) 方法decode()使用为编码注册的编解码器对字符串进行解码。 它默认为默认字符串编码。 语法 (Syntax) Str.decode(encoding='UTF-8',errors='strict') 参数 (Parameters) encoding - 这是要使用的编码。 有关所有编码方案的列表,请访问: 标准编码。 errors - 可以设置不同的错误处理