吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4555|回复: 2
收起左侧

[其他原创] 批处理版Base64编码工具

  [复制链接]
老刘 发表于 2017-11-12 14:01
本帖最后由 老刘 于 2017-11-12 14:06 编辑

某天楼主发现fc这个命令可以读取文件二进制数据,于是就突发灵感(并且批处理的位运算确实挺好用),写出了这个~
可能大家会吐槽,不是有certutil -encode嘛~

纯属娱乐,纯属娱乐,表在意这些~
只需要一个批处理,就可以轻松EncodeBase64(其实个人感觉比certutil的命令好用很多,可以直接encode字符串而不用塞到文本里面)~
欢迎大家反馈不足,不喜勿喷,谢谢~
还可以在批处理之家看:http://www.bathome.net/thread-43845-1-1.html

用法:
Batname <文件路径 或 字符串>
借助外部命令FC,Fsutil,Findstr
已知BUG:受批处理机制影响,当外参为字符串时,英文感叹号和英文双引号会被丢弃。
请将其写入文本文件并将文件路径传参
支持任何文件编码,无视特殊符号

自己简单写了一个高亮脚本,效果辣鸡,大家暂且将就着看看


————————————————
%老刘原创%
%如有雷同,纯属巧合%
%转载请注明作者昵称%

@ 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

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

A羽飞 发表于 2017-11-12 14:08
谢谢分享。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 08:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表