CryptoAnalyser 算法分析插件[beta]

  
  唔,老师让我把这个插件发出来,看看对大家是否有用。
  Crypto Analyser 是一个OD插件,用于分析程序所采用的算法。程序旨在方便分析人员在动态调试过程中快速地定位算法签名,并且可以轻松地在需要的地方设置断点。
此外插件是在程序运行时的内存中查找签名,也算是一种优势吧。插件还有一个Mark功能,可以在Disassemble窗口定位到选中算法的子程序入口,并添加相应标签和注释。

使用说明
-------------------------------
  Hopefully it's easy to use.

搜索:
  本插件是基于对话框的窗口程序,主界面有两个表格,其中,上面的List_Cry表格显示搜索到的算法,下面的List_Sig表格显示对应的签名集合以及虚地址。当于List_Cry表格
双击算法名时,在List_Sig表中将会显示对应的签名信息。

定位:
  插件的定位功能通过Follow Group-box实现。如两个按钮上分别可以定位到反汇编窗口以及数据窗口。

断点:
  插件可以在签名所在虚地址设置内存断点以及硬件断点。两者都是在对指定VA的dword数据访问时触发。

查找子程序:
  点击MARK按钮,插件会尝试查找引用签名或签名的所在的子程序,并定位到其起始位置,然后设置标记。

-------------------------------

支持的算法
-------------------------------
  SHA-1,SHA256,MD5,MD4,MD2,CRC32,BASE64
  RC5_RC6,HAVAL,TEA,RC2
  
  除已上述已有算法,分析人员也可以通过修改“CryptoAnalyserDB.txt”,来增加新的匹配算法。

特征值库扩充:

  可以通过在“CryptoAnalyserDB.txt”中附加内容来扩充特征值库。格式如下:

["agorithm": "CRC32", "arraysize": 255, "enumsize": 4]
{
    0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
    ... ...  
    0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d,
};

["agorithm": ""BASE64", "arraysize": 62, "enumsize": 1]
{
    0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
    ... ...
    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39,
};

  其中agorithm指明算法名; arraysize指明特征值数目,需要与{};中的特征值数目一致。enumsize指明特征值类型,4(DWORD)或者 1(byte table)。对byte table类型,插件会匹配
整个{};中的内容,而对DOWRD类型主条目匹配。所有DWORD条目需要十六进制数,且以"0x"开头。对于byte table则可以为十进制数。如下:

["agorithm": "RC2", "arraysize": 256, "enumsize": 1]
{
    217,120,249,196, 25,221,181,237, 40,233,253,121, 74,160,216
    ... ...
    243,219, 71,229,165,156,119, 10,166, 32,104,254,127,193,173
};

CryptoAnalyserDB.txt文件应和CryptoAnalyser.dll放在相同目录下
  
-------------------------------

CryptoAnalyser.rar

(64.72 KB, 下载次数: 0)

2019-7-22 11:48 上传
点击文件名下载附件

THE END
喜欢就支持以下吧
点赞0
分享
评论 抢沙发
  • 管埋员的头像-小北的自留地

    昵称

  • 取消
    昵称