先上效果視屏:https://www.bilibili.com/video/av39199104 視屏聲音太小,前面我想表達的是加密文件不只是隱藏那麼簡單
東西有點多,我想慢慢的,有時間就寫一點。哦,這個是我大三上學期c#課的大作業,現在大三下暑假,好像做了不久,但已經很久了,我都快把c#忘光了。。。寫這個博客來回顧一下,呸~~~~~~那當然是來裝X用。
解鎖時:
可以看出原理是內置了幾張自己的照片,然後利用筆記本拍照然後進行對比得出每張程序的相似度。
最後對比結果會有 0~1 的相似度,我設置的比較寬,>0.5的相似度就算是本人了。
具體邏輯: 利用shell 腳本,根據exe程序返回值,串聯起一套處理文件的邏輯
這個exe程序有兩個:拍照程序+人臉識別程序。
shell 腳本 -- face.bat 文件
cls
@ECHO OFF
title Folder Private
if EXIST "HTG Locker" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo 你確定要加密隱藏Private文件夾嗎?(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "HTG Locker"
attrib +h +s "HTG Locker"
echo Folder locked
goto End
:UNLOCK
C:\MyApplications\shut.exe
if %ERRORLEVEL%==0 goto wee
echo failed shut picture
goto End
:wee
echo succesful shut!
C:\MyApplications\ArcSoftFace.exe
if NOT %ERRORLEVEL%==0 goto FAIL
attrib -h -s "HTG Locker"
ren "HTG Locker" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto End
:MDLOCKER
md Private
echo Private created successfully
goto End
:End
懂得shell腳本里 dos 命令的人可以看到,其功能爲 1、如果當前目錄沒有private 文件夾 ,就新建一個文件夾
2、如果當前目錄有private文件夾,則調用C:\MyApplications\shut.exe 即拍攝程序,等拍攝成功後調用C:\MyApplications\ArcSoftFace.exe 程序(這個程序的原型gitlib上可以下載,我是改裝過的使用的是虹軟人臉識別2.0sdk )
3、其中夾雜對文件屬性的修改操作 attrib +h +s '文件名' 其中 +h 表示將文件變成windows系統文件,就不可見了
-h 對應就是去掉該屬性了
+-s 是什麼我忘了,改名? 哈哈
如果自己開發人臉識別程序,各種參數還是會很煩的,不過前人種樹後人乘涼嘛~~~
- 對於exe的返回值是什麼?,學過c語言的同學,你們覺得
int main(){
return 0;
} 這個return 0 你們是不是從沒用過?這個return值是有用的!!! c# 也是一樣,一個main函數的返回值,就是這個return x;用 vs把winform程序打包成exe 之後 在shell腳本里調用,並可以接收返回值。
C:\MyApplications\shut.exe
if %ERRORLEVEL%==0 goto wee
echo failed shut picture
goto End
比如,上面盜用 shut.exe 程序,程序返回值爲0 的話,表明拍攝成功,那就執行wee 步驟,否則,執行End 步驟
那個人臉識別程序也是一樣,算了,今天不想寫了,有需要程序的,底下留言再來跟新了。