标题: [加密解密] 批处理版Base64编码工具 [打印本页]
作者: 老刘1号 时间: 2017-4-16 10:15 标题: 批处理版Base64编码工具
本帖最后由 老刘1号 于 2021-3-3 21:21 编辑
关联贴:http://www.bathome.net/thread-587-1-1.html
Base64科普:http://baike.baidu.com/link?url=FGO-UZ6dxJoM00BCoq6uTIDJtr2XTQMqCPZVkZMHNRDgM_PzVusq8e7mzBxxtRETKLolYatizD_9G1W9MSDBPa
用法:
Batname <文件路径 或 字符串>
借助外部命令FC,Fsutil,Findstr
已知BUG:受批处理机制影响,当外参为字符串时,英文感叹号和英文双引号会被丢弃。
请将其写入文本文件并将文件路径传参
支持任何文件编码,无视特殊符号
————————————————
%Code BY 老刘%
%转载请注明批处理之家及作者昵称%
@ ECHO off & PUSHD %tmp%
SETlocal ENABLEDELAYEDEXPANSION
SET rand=!ranDOm!
IF not exist "%~1" (
SET/P"=%~1"<nul >$_!rand!
SET FilePATh=$_!rand!
) ELSE SET "FilePATh=%~1"
DEL /F $_!rand!_ 2>nul
FOR %%a IN ("!FilePATh!") DO ^
Fsutil file creATenew $_!rand!_ %%~za >nul
SET Alphabet=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
SET /A Counter=0
DEL /F $_!rand!_$ 2>nul
(FOR /F "Tokens=2" %%. IN (
'Fc /b "!FilePath!" $_!rand!_ ^| Findstr /R /C:"[0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F][0-9A-F]: [0-9A-F][0-9A-F] 00"'
) DO (
SET /A Counter+=1
SET/P"=%%. "
IF !Counter! EQU 3 (
SET /A Counter=0
ECHO.
)
))<nul >$_!rand!_$
DEL /F $_!rand! $_!rand!_ 2>nul
SET Endstr=
(FOR /F "Tokens=1-3" %%A IN ($_!rand!_$) DO (
IF "%%C" EQU "" (
IF "%%B" EQU "" (
SET /A "Bse1=0x%%A>>2,Bse2=(0x%%A&0x3)<<4,Bse3=Bse4=64"
) ELSE SET /A "Bse1=0x%%A>>2,Bse2=((0x%%A&0x3)<<4)|(0x%%B>>4),Bse3=(0x%%B&0xf)<<2,Bse4=64"
) ELSE SET /A "Bse1=0x%%A>>2,Bse2=((0x%%A&0x3)<<4)|(0x%%B>>4),Bse3=((0x%%B&0xf)<<2)|(0x%%C>>6),Bse4=0x%%C&0x3f"
FOR /L %%. IN (1 1 4) DO FOR %%' IN (!Bse%%.!) DO (
IF "!Alphabet:~%%',1!" EQU "=" (
SET "Endstr=!Endstr!="
) ELSE SET/P"=!Alphabet:~%%',1!"
)
))<nul
ECHO.%Endstr%
DEL /F $_!rand!_$ 2>nul
作者: 老刘1号 时间: 2017-4-16 20:38
解码方法:
Win7及以上——- Batname <FilePath|String> >BseCode.txt %编码%
- certutil -decode BseCode.txt Decode.txt %调用系统自带外部程序解码%
- Start Decode.txt %打开解码后的文件%
复制代码
或使用Happy兄的Bse来解码:http://www.bathome.net/thread-42150-1-1.html- Batname <FilePath|String> >BseCode.txt %编码%
- Bse.exe -d BseCode.txt Decode.txt %调用Bse第三方解码%
- Start Decode.txt %打开解码后的文件%
复制代码
作者: happy886rr 时间: 2017-4-16 21:12
回复 2# 老刘1号
位运算,溜到家了。
作者: 老刘1号 时间: 2017-4-23 10:19
回复 3# happy886rr
学汇编之后才发现批的位运算如此好用……
作者: happy886rr 时间: 2017-4-23 10:30
回复 4# 老刘1号
你应该用汇编写一个base编码器,那才有速度。
作者: 老刘1号 时间: 2017-4-23 10:33
回复 5# happy886rr
汇编还没学到终端和端口……
现在处于尴尬境地,
处理一个数据需要知道长度,
处理完还需要用DEBUG显示……
……赶快往深学了
作者: happy886rr 时间: 2017-6-1 19:45
回复 6# 老刘1号
彩色的非常养眼,厉害,这代码效果很赞。
作者: xtwwz 时间: 2021-3-3 17:31
好强大功能,这算法移植的真不错。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |