利用人脸识别技术,自己实现对windows 文件的加解锁,原理 exe + 批处理, 语言 c# + shell脚本

先上效果视屏: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 步骤

那个人脸识别程序也是一样,算了,今天不想写了,有需要程序的,底下留言再来跟新了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章