在逆向过程中,自动识别文件中存在的密码算法。原理上只有两条路

1、密码算法中的常量特征(常数、s盒等);

2、特定加密库的独有特征(字符串、指令流等)。

现有工具特点:

1、大多都是根据密码算法的常量特征进行识别,很少包含特定加密库的特征。

2、都是以反汇编工具(IDA/Ghidra)的插件、脚本形式存在。

3、都是基于静态分析,也就是只能识别静态特征。如果特征在运行时动态生成,则无能为力。

findcrypt系列

FindCrypt和FindCrypt2

最初的基础,2006年hex-rays的Ilfak发布。

77个特征,在源码的consts.cpp中,不方便修改,重新编译后才生效。

FindCrypt2使FindCrypt试用大端程序。

FindCrypt – Hex Rays

FindCrypt2 – Hex Rays

findcrypt3

HexRays 的 Ilfak 基于 findcrypt1 和 findcrypt2 开发的。

566个特征。特征库在源码中,不方便修改,重新编译后才生效。

https://github.com/HongThatCong/FindCrypt3

idapython_tools_findcrypt

使用python对findcrypt/findcrypt2的重现。

ida6.8-7.5均运行错误。作者只说了mac上7.x测试通过,具体版本没说。python版本也没说。

https://github.com/you0708/ida/tree/master/idapython_tools/findcrypt

FindCrypt - Ghidra

用java移植的findcrypt。

在findcrypt的77个特征库基础上增加到122个,位于database.d3v文件。格式未知,不好扩展。

https://github.com/d3v1l401/FindCrypt-Ghidra

Ghidra FindCrypt

说是对FindCrypt - Ghidra的重开发,但是比较两者对同一文件的扫描结果。没有FindCrypt - Ghidra扫出来的多。效果不好。

更好地呈现搜索的结果。会进行重命名并增加注释。

只支持9.2以后版本Ghidra。

https://github.com/TorgoTorgo/ghidra-findcrypt

Signsrch系列

IDA Signsrch

dll版本插件,最新2018年发布,只支持到ida7.1。

特征库xml形式。2279条特征。方便扩展。

特征库还包括其它一些字符串,如“IsDebuggerPresent”

GitHub - nihilus/IDA_Signsrch: IDA Signsrch

IDASignsrch

python版本插件,支持最新ida。

特征库真包含IDA Signsrch,多18个特征。

https://github.com/l4ys/idasignsrch

findcrypt-yara系列

findcrypt-yara

python插件。

需要给python安装yara,pip安装yara-python而不是yara,不然不兼容。

ida7.5支持。

特征库为yara,129条,方便扩展。

GitHub - polymorf/findcrypt-yara: IDA pro plugin to find crypto constants (and more)

总结

综上,推荐大家使用三个工具:

  • findcrypt-yara
  • IDASignsrch
  • findcrypt3

最好是这三个工具都用一遍,虽然功能上有重合,但也各有特色,运行时间也都不太长。

———————————————————————————————————————————

欢迎关注我的微博:大雄_RE。专注软件逆向,分享最新的好文章、好工具,追踪行业大佬的研究成果。

IDA密码算法自动化识别插件、脚本汇总相关推荐

  1. 基于LLVM编译器的IDA自动结构体分析插件

    引用 这篇文章旨在介绍一款对基于LLVM的retdec开源反编译器工具进行二次开发的IDA自动结构体识别插件实现原理分析 文章目录 引用 简介 源码分析 LLVM编译器简介 Retdec源码分析 Kl ...

  2. python商用_python实现sm2和sm4国密(国家商用密码)算法的示例

    GMSSL模块介绍 GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法.项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用. 安 ...

  3. windows平台上的密码算法识别工具

    2011-04-11 21:00:00|  分类: 网络与信息安全|举报|字号 订阅      下载LOFTER我的照片书  | 今天在看雪上面看到几个windows平台上的密码算法识别工具,我对它们 ...

  4. ISO/IEC国际标准组织收入的国产密码算法汇总

    我国SM2和SM9数字签名算法正式成为ISO/IEC国际标准 发布日期:2017-11-17来源:国家密码管理局 11月3日,在第55次ISO/IEC联合技术委员会信息安全技术分委员会(SC27)德国 ...

  5. 基于PaddleOCR开发Auto.js Pro文字识别插件

    目录 目的 准备工作 插件开发 1.项目结构对比 2.插件SDK集成 3.调整assets资源 4.删除无用的Activity文件 5.修改AndroidManifest.xml 6.修改Predic ...

  6. Vue 所有实用插件集合汇总

    Vue 所有实用插件集合汇总 框架 element - 饿了么出品的Vue2的web UI工具套件 mint-ui - Vue 2的移动UI元素 iview - 基于 Vuejs 的开源 UI 组件库 ...

  7. OrionX Panel for Mac(ps摄影自动化工作流插件)支持ps2021 big sur11 汉化版

    为大家分享最新汉化的OrionX Panel for Mac,这是一款ps摄影自动化工作流插件,小编亲测,适用于Photoshop 2021最新版,OrionX汉化版提供了蒙版.夜景.风光.极坐标鱼眼 ...

  8. 蓝奏云数值验证码识别,python调用虹鱼图灵识别插件,超高正确率

    识别验证码一直是本人想要做的事情,一直在接触按键精灵,了解到有一个虹鱼图灵识别插件专门做验证码和图像识别,原理就是图片处理和制作字库识别,制作字库我一直觉得很麻烦,工程量太大.不管怎样,它能用能达到我 ...

  9. python自动化办公 51cto_利用python实现批量自动化运维脚本案例

    本文为通过密码或密钥实现python批量自动化运维脚本案例分享,是老男孩linux培训 python课程教学案例内容,后续会分享多线程并发执行这个脚本的更高级的功能(http://oldboy.blo ...

最新文章

  1. (数据结构)前缀,后缀以及中缀表达式
  2. 一台微型计算机性能的主要参数及其意义,微型计算机的主要性能指标.ppt
  3. 转载:tcpdump抓包和Wireshark解包
  4. git status清空_本地删除文件后,git status会显示红色的那个文件。
  5. eclipse aop连接点joinpoint方法点不出来_(面试必备)你必须要懂的Spring-Aop
  6. TurboMail邮件服务器 V4.2.0 正式发布
  7. 声音存储空间计算公式_声音图像视频容量计算公式
  8. PHP祝福语,日常祝福语
  9. tp810c桥接_TP-Link双无线路由器开启WDS桥接设置步骤
  10. 蓝凌oa任意文件读取,RCE
  11. 用Python写个「倒计时」软件
  12. 提高RM-MEDA局部学习(IRM-MEDA)
  13. 分类任务中的类别不平衡问题
  14. 输入某学生的考试成绩,输出对应等级A、B 、C、 D、E
  15. 四、在Xilinx FPGA上使用Cortex M1 软核——固化Cortex-M1程序
  16. 自定义圆环形进度条实现
  17. 用了十年竟然都不对,Java、Rust、Go主流编程语言的哈希表比较
  18. JQuery测手速小游戏-遁地龙卷风
  19. Swagger2常用注解说明
  20. 蒙氏数学素材---乘法板及作业纸

热门文章

  1. 什么是PPC?为什么你会用到它?
  2. 读书笔记之《设计原本》
  3. 你应该知道的前端9种图片格式基础知识
  4. CRNN—(端到端)的OCR文本识别 paper
  5. web前端-HTML-表格
  6. 谋略的原则——经商就是讲谋略的交易
  7. 无意中看到一个很强的贴,简直一群机关枪阿
  8. 爬虫学习_selenium自动填写验证码
  9. iPhone 4s完美越狱 iOS 5.1 完美越狱 苹果越狱
  10. 软件测试工程师的一次思考