KeyDecoder 项目开源教程
1. 项目介绍
KeyDecoder 是一个移动应用程序,专为渗透测试人员和安全爱好者设计。该程序可以从钥匙的照片中轻松测量其齿形。KeyDecoder 由 Maxime BEASSE 和 Quentin CLEMENT 开发,与 FrenchKey 和 CNS 合作,是 ESIEA 的一部分。该项目使用了 Flutter (3.13.6) 和 OpenCV (4.3.0) 构建。
2. 项目快速启动
安装
为了安装 Flutter,推荐使用 fvm(Flutter 版本管理工具)。你也可以使用官方的 Flutter 安装指南。
构建项目
-
下载 OpenCV-Android-SDK v4.3.0 并解压到你选择的目录(例如:
C:\SDK\OpenCV-android-sdk
)。 -
在
android/
目录下创建local.properties
文件,配置以下设置:flutter.sdk=<Flutter SDK 路径> flutter.buildMode=release flutter.versionName=1.0.0 flutter.versionCode=1 opencv.sdk=<OpenCV Android SDK 路径>
-
将
C:\...\OpenCV-android-sdk\sdk\native\libs
目录下的子目录复制到C:\...\keydecoder\android\app\src\main\jniLibs
。 -
使用
fvm flutter build apk
命令构建项目。
使用
- 拍摄钥匙的照片,确保钥匙从钥匙环上取下,并放置在 ISO/CEI 7810 ID-1 尺寸的卡片中央(如信用卡、名片等)。
- 使用绿色线条裁剪图片,仅保留卡片部分。
- 使用红色线条对齐钥匙的背部。
- 使用蓝色线条对齐钥匙的肩部。
- 在钥匙的每个切割点中央放置点,然后验证并可在项目页面获取测量结果。
3. 应用案例和最佳实践
KeyDecoder 应用程序主要用于安全专业人员,如渗透测试人员,他们在进行安全审计时使用该应用程序来解释犯罪分子如何轻易复制钥匙。该应用程序也适用于安全爱好者,用于评估自己的安全级别和发现仅使用照片制作钥匙的难度。
最佳实践:
- 不要将应用程序用于非法复制钥匙。
- 像对待信用卡和密码一样对待你的钥匙:不要借出,不要让它们无人看管。
4. 典型生态项目
目前,KeyDecoder 主要用于 Android 平台,iOS 支持尚未提供。该项目可以作为一个示例,展示如何结合 Flutter 和 OpenCV 进行跨平台移动应用开发。社区中可能会有类似的项目,专注于不同的安全或辅助功能,但 KeyDecoder 提供了一个独特的角度来处理物理钥匙的安全问题。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考