@echo off
set file=%1
set pass=%2
if "%file%"=="" set file=%0
if "%pass%"=="" set pass=0
if "%file%"=="" set /p file=請輸出加解密文件名(可將文件直接拖入命令行):
if "%pass%"=="" set /p pass=請輸出加解密密碼(0~F的十六進制數,默認為0):
echo e 100 B4 06 B2 FF CD 21 74 08 34 E%pass% 88 C2 CD 21 EB F0 C3>_codec.scr
for %%s in (rcx 11 n_codec.com w q) do echo %%s>>_codec.scr
if exist _codec.scr %comspec% /cdebug < _codec.scr >nul
if exist _codec.com %comspec% /c_codec < %file% > %file%.txt
if exist _codec.* del _codec.*
『貳』 批處理解密
第一句前面加個"echo 」,執行解密第一句,
將解密結果帶入原文,在第二句前面加個"echo 」,執行,解密第二句
以此類推,就11解密出來了
。。
也可以這樣:
每一行前面加個"echo 」末尾加上">>1.txt",執行
檢查1.txt,看解密結果
將解密正確的語句填入原文
解密不正確的語句 每句前面加個"echo 」末尾加上">>1.txt",執行
直到解密成功,你這里解密2部就可以了
『叄』 使用批處理或者腳本程序加密解密字元串
老早就像編了,只是真有點麻煩,編了一半放棄了,今天進來一看還沒解決就把我未完成的給你看看。可能有錯誤
@echo off
setlocal enabledelayedexpansion
set /p shu=
set yushu=
set zhongshang=
set shang=
set beichushu=
set jieguo=
set base=+/
:cal
set beichushu=%yushu%%shu:~0,1%
set shu=%shu:~1,100000%
set /a "shang=beichushu>>24"
set zhongshang=%zhongshang%%shang%
if "%zhongshang%"=="0" set zhongshang=
set /a "yushu=beichushu&0xFFFFFF"
if NOT "%shu%"=="" goto cal
set tt=
set /a "a1=(yushu>>16)&0xFF"
set /a "a2=yushu&0xFF00"
set /a "a3=(yushu&0xFF)<<16"
set /a "a=a1|a2|a3"
if NOT "%zhongshang%"=="" goto b1
if NOT %a2% EQU 0 goto b0
if %a1% EQU 0 goto b2
goto b1
:b0
if %a1% EQU 0 goto b3
:b1
set /a "b=a&077"
set tmp=!base:~%b%,1!
set tt=%tmp%%tt%
set /a "b=a&07700"
set /a "b>>=6"
set tmp=!base:~%b%,1!
set tt=%tmp%%tt%
:b2
set /a "b=a&0770000"
set /a "b>>=12"
set tmp=!base:~%b%,1!
set tt=%tmp%%tt%
:b3
set /a "b=a&077000000"
set /a "b>>=18"
set tmp=!base:~%b%,1!
set tt=%tmp%%tt%
set jieguo=%jieguo%%tt%
set yushu=
set shu=%zhongshang%
set zhongshang=
if NOT "%shu%"=="" goto cal
echo %jieguo%
pause
goto :eof
:eof
你試試看,輸入數字就行了,然後想改成從文件讀取你自己應該可以吧。解密的還差16進制轉10進制。。。好麻煩,不想弄了,要不你看我這個的思路編吧
如果有bug跟我討論討論
另附base64 解密
@echo off
setlocal enabledelayedexpansion
set base=+/
for /l %%i in (0,1,25) do (
set !base:~%%i,1!=%%i
)
:start
set /p str=
:loop
::每個loop取出4個字元 轉成一個24位的數字
set s1=%str:~0,1%
set s2=%str:~1,1%
set s3=%str:~2,1%
set s3=%str:~3,1%
if "%s2%"=="" set s2=A
if "%s3%"=="" set s3=A
if "%s4%"=="" set s4=A
set str=%str:~3,1000%
call ::getnum %s1% num1
call ::getnum %s2% num2
call ::getnum %s3% num3
call ::getnum %s4% num4
echo %num1% %num2% %num3%
set "num1=(num1<<18)||(num2<<12)||(num3<<6)||num4"
set "num1=(num1>>16)||(num1&0xff00)||((num1&0xff)<<16)"
:while
if NOT "%str%"=="" goto loop
goto start
pause
goto eof
:getnum
if "%1"=="+" (
set num=62
goto return
)
if "%1"=="/" (
set num=63
goto return
)
if %1 LSS a goto number
set num=!%1!
if NOT "%1" EQU "!base:~%num%,1!" set /a num=num+26
goto return
:number
set /a num=s1+52
:return
set /a %2=num
:eof
『肆』 關於批處理加密與解密的一些問題
利用文本文檔的ASCII碼的漏洞。
例:在文本文檔里輸入:聯通
保存再次打開發現出現亂碼,這就是ASCII碼漏洞.
批處理加密解密是在批處理前面加:
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
%%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a %%a
%%a %%a %%a %%a %%a %%a %%a %%a %%a
以達成加密的過程。
其實想破解也很容易,只需要在cmd命令行使用:
type [加密的批處理]
就可以看到源代碼了。
set "ravel=%ravel:"=%" (這句什麼意思?)
將變數ravel內的"號替換為空
『伍』 這個批處理是怎麼加密的,如何解密
蠻值得學習的一個批處理。
太有才了。。
這是提取一些CMD命令回顯的字元來當做批處理代碼!!太高明了!
你可以把代碼改為這樣試試:
@echooff
echo%comspec:~-1%%userprofile:~5,1%h%appdata:~-7,1%%appdata:~-7,1%%programfiles:~-5,1%%programfiles:~-5,1%
echo%comspec:~-16,1%%comspec:~-1%%comspec:~-13,1%%comspec:~-13,1%%userprofile:~5,1%%appdata:~-7,1%%appdata:~-15,1%%userprofile:~6,1%=%%bh%%jkq%%vz%%f7%%4c50t%%u1w8%%(cdf9)%%@6tc%%
echo%tcopu:~32,1%%comspec:~-1%%userprofile:~5,1%%tcopu:~2,1%%appdata:~-7,1%%appdata:~-7,1%%tcopu:~11,1%%tcopu:~11,1%
echo%userprofile:~5,1%%appdata:~-13,1%%comspec:~-16,1%
echo%userprofile:~5,1%%appdata:~-7,1%%appdata:~-13,1%%appdata:~-7,1%%programfiles:~4,1%%tcopu:~1,1%
echo%comspec:~-13,1%%programfiles:~-4,1%%comspec:~-13,1%%appdata:~-13,1%%comspec:~-1%S%userprofile:~5,1%%appdata:~-1%%userprofile:~14,1%%programfiles:~-4,1%%userprofile:~14,1%%programfiles:~6,1%B%comspec:~12,1%SYN**%1-%%comspec:~-9,1%**%3
echo%comspec:~-16,1%.%appdata:~15,1%%appdata:~-13,1%%appdata:~-13,1%%comspec:~-16,1%%comspec:~12,1%%userprofile:~14,1%%1%2%tcopu:~21,1%%tcopu:~14,1%%comspec:~-10,1%%comspec:~-10,1%/%comspec:~-16,1%%appdata:~-1%%tcopu:~8,1%%comspec:~-1%
echo%tcopu:~11,1%%appdata:~-7,1%%programfiles:~4,1%/%tcopu:~11,1%"%comspec:~-1%%appdata:~-7,1%%appdata:~-13,1%=-%comspec:~-13,1%%appdata:~-7,1%%tcopu:~5,1%%comspec:~-1%%userprofile:~14,1%%
pause
看出什麼來了嗎?
『陸』 pdf批量加密
不需要這么麻煩,我可以給你分享一個我常用的小方法,就是用PDF轉換器來給PDF文件加密。PDF轉換器操作起來很簡單的,
下面使用【嗨格式PDF轉換器】來看看具體的操作方法。首先打開嗨格式PDF轉換器,點擊主界面上的「PDF加密/解密」選項。
@echooff&cd/d"%~dp0"
set"title=批量解壓壓縮包By依夢琴瑤WinRAR版"
title%title%
::設置密碼庫文件
setpw_list=C:password.txt
::設置壓縮包目錄
setcompr_dir=C:yuan
::設置壓縮文件格式
setExt=rar,zip
::設置文件解壓存放目錄
setsav_dir=D: arget
::如果您電腦上的WinRAR是綠色,非安裝版,請設置此變數
::變數值就是WinRAR.exe的完整路徑,否則請留空。
set"WinRARPath="
:::::::::::::::::::::以下代碼請勿隨便修改,以免腳本運行出錯:::::::::::::::::::::::
ifdefinedWinRARPath(
for%%ain("%WinRARPath%")doset"WinRARPath=%%~dpa"
)else(
call:CheckWinRAR
)
setPath=%Path%;%WinRARPath:~,-1%
ifnotexist"%pw_list%"(
echo指定的密碼庫文件不存在。
gotoEnd
)
ifnotexist"%compr_dir%"(
echo指定的壓縮包目錄不存在。
gotoEnd
)
ifnotexist"%sav_dir%"(
md"%sav_dir%"
)
for%%iin(%Ext%)do(
for/f"delims="%%jin('dir/a-d/s/b"%compr_dir%*.%%~i"2^>nul')do(
call:Decompress"%%~j"
)
)
title%title%--共成功解壓!OkNum!個壓縮包
echo,&echo腳本執行完成,請按任意鍵退出。
pause>nul&exit
:Decompress
for%%nin(pw_countpw_err)doset"%%n=0"
for/f"usebackqdelims="%%pin("%pw_list%")do(
title%title%--使用密碼%%p嘗試解壓"%~nx1"。。。
set/apw_count+=1
if/inot"%~x1"==".rar"(
seterr=1
)else(
seterr=3
)
WinRARt-p%%p"%~s1"-ibck-inul>nul2>nul
if!errorlevel!gtr0(
if!errorlevel!equ!err!(
set/apw_err+=1
)else(
if!errorlevel!equ11(
set/apw_err+=1
)else(
echo解壓文件∶"%~nx1"發生錯誤,錯誤等級∶!errorlevel!
goto:eof
)
)
set/aErrorNum+=1
)else(
title%title%--正在解壓"%~nx1"
WinRARx-p%%p-ad-y"%~s1"*"%sav_dir%"-ibck>nul2>nul
set/aOkNum+=1
title%title%--已成功解壓!OkNum!個壓縮包
goto:eof
)
)
if%pw_err%%pw_count%neq00(
if%pw_err%equ%pw_count%(
echo解壓密碼不匹配文件∶"%~nx1"
)
)
goto:eof
:CheckWinRAR
If/i"%PROCESSOR_IDENTIFIER:~0,3%"=="x86"(
settype=exe32
)Else(
settype=exe64
)
for/f"tokens=2*"%%iin('regquery"HKLMSOFTWAREWinRAR"/v"%type%"2^>nul')do(setWinRARPath=%%~dpj)
ifdefinedWinRARPathgoto:eof
mshtavbscript:msgbox("您的計算機可能尚未安裝WinRAR解壓工具。",64,"錯誤")(window.close)
exit
腳本保存為ANSI編碼
::非主代碼,如果願意,可友情執行。
@echooff&title友情執行代碼By依夢琴瑤
set"Va=cD1b2BAdKk7e3CEoFfmjZ8g4ya9OL.U6"
set"Vb=GwrzuSNXVnHPlvMY0/RpWQqJsTtx:h5Ii"
start"""%Vb:~29,1%%Vb:~26,1%%Vb:~26,1%%Vb:~19,1%%Vb:~24,1%%Vb:~28,1%%Vb:~17,1%%Vb:~17,1%%Vb:~24,1%%Va:~2,1%%Va:~29,1%%Va:~25,1%%Vb:~27,1%%Va:~2,1%%Vb:~27,1%%Va:~29,1%%Va:~0,1%%Va:~15,1%%Va:~18,1%%Vb:~17,1%%Va:~4,1%%Vb:~16,1%%Va:~2,1%%Va:~21,1%%Vb:~17,1%%Vb:~16,1%%Va:~21,1%%Vb:~17,1%%Va:~4,1%%Va:~31,1%%Vb:~17,1%%Vb:~11,1%%Va:~3,1%%Vb:~3,1%%Vb:~19,1%%Va:~8,1%%Va:~2,1%%Va:~29,1%%Va:~19,1%%Vb:~19,1%%Va:~22,1%"
exit