好友
阅读权限10
听众
最后登录1970-1-1
|
唔,老师让我把这个插件发出来,看看对大家是否有用。
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, 下载次数: 158)
|
|