本帖最后由 itcfan 于 2017-9-7 11:26 编辑
【你一直想要的X盘】密码打开、防删除一个更安全的X盘你懂的
https://www.52pojie.cn/thread-641006-1-1.html
【你一直想要的X盘】好多问要源码的,我还是发到这里吧
https://www.52pojie.cn/thread-641650-1-1.html
没错,我是来抢生意的,我最近正好在编个程序,想要简单加密,昨天看到帖子,本想参考一下代码的,结果作者没有开源,就自己弄了一个。
结果现在上来一看,作者开源了~~咳咳~~~~~~~~~~~~emmmmmmmm~~~~~~~~
既然是同类软件,总不能一样,我想我的应该比原作者更强大一些,而且代码更容易看懂,要修改也更简单。
源码你们对比一下就知道了。
增加功能:
1、判断是否管理员启动,非管理员权限会弹出设置。
2、隐藏输入的密码。
3、desktop.ini增加一些属性。
4、增加注释。
5、一些小细节改动。
6、增加“拖放文件(文件夹)移动到X盘.BAT”的批处理。
密码肯定是:52pojie
X盘 V2.0 增强版 By:ITCFAN
本想代码已经够简单明了,还有小白看不懂,我增加注释。
[Asm] 纯文本查看 复制代码
@echo off
::设置颜色:3为背景颜色;F为字体颜色。
color 3F
::窗口大小(cols为宽度,最低14,lineso为行数)
mode con: cols=66 lines=3
::设置窗口标题
title X盘 V2.0 增强版 By:ITCFAN
::判断当前脚本是否是管理员启动
fltmc>nul&&(goto 开始)||(echo init)
:://=========自动添加批处理文件管理员权限=========\\
:init
mode con: cols=66 lines=28
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO ********************************
ECHO 请求 UAC 权限批准……
ECHO ********************************
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B
:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
:://=========自动添加批处理文件管理员权限=========\\
::标记
:开始
::清除屏幕
cls
::空一行
echo.
::设置“密码”
set 密码="52pojie"
::隐藏输入的内容(本来想没必要的)
set "psCommand=powershell -Command "$pword = read-host ' 请输入密码:' -AsSecureString ; ^
$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); ^
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
for /f "usebackq delims=" %%p in (`%psCommand%`) do set 密码=%%p
::判断“输入的内容”是否等于“设置的内容”,然后跳转标记。
if "%密码%" neq "52pojie" goto 开始
mode con: cols=66 lines=28
:菜单
cls
::设置“输入”值为空,这样不会下面不会出现多次按回车重复执行命令。
set 输入=""
echo X盘增强版 By:ITCFAN
::显示日期
echo %date:~0,4%年%date:~5,2%月%date:~8,2%日
echo.
echo ┌───────自定义选项────────┐
echo │ │
echo │ 1.创建隐藏文件夹 2.恢复隐藏文件夹 │
echo │ 3.创建防删除文件夹 4.删除防删除文件夹 │
echo │ 5.打开访问权限 6.关闭访问权限 │
echo │ 7.打开隐藏磁盘 8.卸载隐藏磁盘 │
echo │ │
echo └────────────────────┘
echo ┌──懒人模式──┐ ┌──慎重操作──┐
echo │ │ │ │
echo │ 0.一键生成模式 │ │ del.删除全部 │
echo │ │ │ │
echo └────────┘ └────────┘
echo ┌─日常操作─┐
echo │ │
echo │ k.打开加密 │
echo │ q.退出加密 │
echo │ │
echo └──────┘
echo.
set /p 输入=请选择输入:
if "%输入%"=="0" goto 0
if "%输入%"=="1" goto 1
if "%输入%"=="2" goto 2
if "%输入%"=="3" goto 3
if "%输入%"=="4" goto 4
if "%输入%"=="5" goto 5
if "%输入%"=="6" goto 6
if "%输入%"=="7" goto 7
if "%输入%"=="8" goto 8
if "%输入%"=="k" goto k
if "%输入%"=="q" goto q
if "%输入%"=="del" goto del
echo.
::显示没有找到“输入的内容”的提示
echo 输入有误,请重新输入!
::空一行并提示回车
echo. & pause
::跳转标记
goto 菜单
:0
cls
::创建文件夹(建议把“测试”改成“回收站”,在WINRAR查看下会显示文件名)
md "D:\$RECYCLE.BIN\测试"
::创建特殊文件夹
md "D:\$RECYCLE.BIN\测试\防删除..\"
::创建并写入内容到TXT文件
echo 可删除此文件! > D:\$RECYCLE.BIN\测试\防删除~1\加密磁盘已打开.txt
::创建并写入内容到TXT文件
echo [.ShellClassInfo] > D:\$RECYCLE.BIN\测试\desktop.ini
::赋予回收站的CLSID,打开文件夹跳转到真实回收站。
echo CLSID={645FF040-5081-101B-9F08-00AA002F954E} >> D:\$RECYCLE.BIN\测试\desktop.ini
::文件夹显示“回收站”的图标
echo IconResource=C:\Windows\system32\SHELL32.dll,31 >> D:\$RECYCLE.BIN\测试\desktop.ini
::文件夹显示“回收站”的名字
echo LocalizedResourceName=回收站 >> D:\$RECYCLE.BIN\测试\desktop.ini
::设置ini文件属性
attrib D:\$RECYCLE.BIN\测试\desktop.ini +r +s +h
::设置文件夹权限,这样写法是为了不需输入Y确定。(EVEryone为所有用户,F为打开;N为关闭)
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:F >nul
::创建虚拟驱动器
subst X: D:\$RECYCLE.BIN\测试\防删除~1
::打开虚拟驱动器
start X:\
echo. & echo 操作完成!
echo. & pause
goto 菜单
:1
cls
md "D:\$RECYCLE.BIN\测试"
echo [.ShellClassInfo] > D:\$RECYCLE.BIN\测试\desktop.ini
echo CLSID={645FF040-5081-101B-9F08-00AA002F954E} >> D:\$RECYCLE.BIN\测试\desktop.ini
echo IconResource=C:\Windows\system32\SHELL32.dll,31 >> D:\$RECYCLE.BIN\测试\desktop.ini
echo LocalizedResourceName=回收站 >> D:\$RECYCLE.BIN\测试\desktop.ini
attrib D:\$RECYCLE.BIN\测试 +r +s +h
attrib D:\$RECYCLE.BIN\测试\desktop.ini +r +s +h
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:N >nul
echo. & echo 操作完成!
echo. & pause
goto 菜单
:2
cls
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:F >nul
attrib D:\$RECYCLE.BIN\测试 /d /s +a -s -h -r
echo. & echo 操作完成!
echo. & pause
goto 菜单
:3
cls
md "D:\$RECYCLE.BIN\测试\防删除..\"
echo. & echo 操作完成!
echo. & pause
goto 菜单
:4
cls
rd /s /q "D:\$RECYCLE.BIN\测试\防删除..\"
echo. & echo 操作完成!
echo. & pause
goto 菜单
:5
cls
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:F >nul
echo. & echo 操作完成!
echo. & pause
goto 菜单
:6
cls
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:N >nul
echo. & echo 操作完成!
echo. & pause
goto 菜单
:7
cls
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:F >nul
subst X: D:\$RECYCLE.BIN\测试\防删除~1
start X:\
echo. & echo 操作完成!
echo. & pause
goto 菜单
:8
cls
subst X: /D
attrib D:\$RECYCLE.BIN\测试 +r +s +h
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:N >nul
echo. & echo 操作完成!
echo. & pause
goto 菜单
:k
cls
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:F >nul
subst X: D:\$RECYCLE.BIN\测试\防删除~1
start X:\
echo. & echo 操作完成!
echo. & pause
goto 菜单
:q
cls
subst X: /D
attrib D:\$RECYCLE.BIN\测试 +r +s +h
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:N >nul
echo. & echo 操作完成!
echo. & pause
goto 菜单
:del
cls
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:F >nul
attrib D:\$RECYCLE.BIN\测试 /d /s +a -s -h -r
::删除整个文件夹(包含子目录的所有文件)
rd /q /s D:\$RECYCLE.BIN\测试
echo. & echo 操作完成!
echo. & pause
goto 菜单
拖放文件(文件夹)移动到X盘 By:ITCFAN
[Asm] 纯文本查看 复制代码
@echo off
color 3F
mode con: cols=66 lines=3
title 拖放文件(文件夹)移动到X盘 By:ITCFAN
::把要移动的文件(文件夹)直接拖放到这个批处理文件就可以了。
::版权:http://www.bathome.net/thread-7504-3-1.html 32楼
:://——————去掉这段拖动就移动了——————\\
:开始
cls
echo.
set 密码="52pojie"
set "psCommand=powershell -Command "$pword = read-host ' 请输入密码:' -AsSecureString ; ^
$BSTR=[System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($pword); ^
[System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)""
for /f "usebackq delims=" %%p in (`%psCommand%`) do set 密码=%%p
if "%密码%" neq "52pojie" goto 开始
:://——————去掉这段拖动就移动了——————\\
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:F >nul
set 路径="D:\$RECYCLE.BIN\测试\防删除~1\"
md %路径% 2>nul
set str=%*
set "str=%str:"=%"
set "str= %str%"
call set "str=%%str: %~d1=" "%~d1%%"
for %%i in ("%str%") do (
move /y "%%~i" %路径% 2>nul||(
xcopy /e /s /k /o /q /y "%%~i" "%路径%%%~nxi\" 2>nul&&rd /q /s "%%~i"
)
)
@echo Y|cacls D:\$RECYCLE.BIN\测试 /p EVEryone:N >nul
cls
mode con: cols=66 lines=4
echo.
echo 操作完成!
pause
exit
就这样了~~你们不用感谢我,我也是网上半抄半原创的。
安全性对小白足够了~~(当然,要是找到文件夹,右键:使用360强力删除,那肯定可以干掉)
对系统熟悉来的人说,要破解难度不会太大。
X盘 V2.0 增强版+拖放移动到X盘.zip
(3.29 KB, 下载次数: 563)
|