本帖最后由 老刘1号 于 2023-8-4 20:27 编辑
获得二进制表示
注意:当要生成二进制表示的文件本身全部由0x00组成时,此方法无效。复制代码 - for %%i in (1.bin) do set /a size = %%~zi
复制代码
复制代码 复制代码 - del /f "%tmp%\cmp.bin" 2>nul >nul
- fsutil file createNew "%tmp%\cmp.bin" %size%
复制代码
复制代码 - fc /b "%tmp%\cmp.bin" 1.bin
复制代码
- 正在比较文件 D:\TEMP\cmp.bin 和 1.BIN
- 00000000: 00 48
- 00000001: 00 65
- 00000002: 00 6C
- 00000003: 00 6C
- 00000004: 00 6F
- 00000005: 00 2C
- 00000006: 00 20
- 00000007: 00 77
- 00000008: 00 6F
- 00000009: 00 72
- 0000000A: 00 6C
- 0000000B: 00 64
- 0000000C: 00 0D
- 0000000D: 00 0A
复制代码
- for /f "tokens=3 skip=1" %%i in (
- 'fc /b "%tmp%\cmp.bin" 1.bin'
- ) do (
- echo %%i
- )
复制代码
- 48
- 65
- 6C
- 6C
- 6F
- 2C
- 20
- 77
- 6F
- 72
- 6C
- 64
- 0D
- 0A
复制代码 生成新二进制文件
可以使用如下命令:复制代码 - 要求至少 2 个参数,但收到了 0 个
- CertUtil: 找不到参数
-
- 用法:
- CertUtil [选项] -decodehex InFile OutFile [type]
- 解码十六进制编码的文件
- 类型 -- 数值 CRYPT_STRING_* 编码类型
-
- 选项:
- -f -- 强制覆盖
- -Unicode -- 以 Unicode 编写重定向输出
- -gmt -- 将时间显示为 GMT
- -seconds -- 用秒和毫秒显示时间
- -v -- 详细操作
- -privatekey -- 显示密码和私钥数据
- -pin PIN -- 智能卡 PIN
- -sid WELL_KNOWN_SID_TYPE -- 数字 SID
- 22 -- 本地系统
- 23 -- 本地服务
- 24 -- 网络服务
-
- CertUtil -? -- 显示动词列表(命名列表)
- CertUtil -decodehex -? -- 显示 "decodehex" 动词的帮助文本
- CertUtil -v -? -- 显示所有动词的所有帮助文本
复制代码 - (for /f "tokens=3 skip=1" %%i in (
- 'fc /b "%tmp%\cmp.bin" 1.bin'
- ) do (
- echo %%i
- )) > "%tmp%\hex.txt"
复制代码
复制代码 - 48
- 65
- 6C
- 6C
- 6F
- 2C
- 20
- 77
- 6F
- 72
- 6C
- 64
- 0D
- 0A
复制代码
- certutil -decodeHex "%tmp%\hex.txt" "%tmp%\new.bin"
复制代码
- 输入长度 = 56
- 输出长度 = 14
- CertUtil: -decodehex 命令成功完成。
复制代码
复制代码 - 正在比较文件 1.bin 和 D:\TEMP\NEW.BIN
- FC: 找不到差异
复制代码 - fc /b 1.bin "%tmp%\new.bin"
复制代码
- 正在比较文件 1.bin 和 D:\TEMP\NEW.BIN
- FC: 找不到差异
复制代码
其它
本文章由 Jupyter Notebook 以及我魔改的 iBatch kernel 强力驱动。
编写耗时:20分钟 |