1.当我们得到密文数据时,应当对目标进程实现挂起操作,(避免内存被释放)
2.1. 将目标进程挂起后,我们可以使用Windows 官方API (MiniDumpWriteDump )命令实现对目标进程内存的转存
2.2. 或者使用API打开进程,依次读取目标进程的内存,写出到文件
2.3. 若你有其他方法也是可以的,总之将目标进程的全部内存保存下来,供我们后续分析
3. 当得到目标进程的内存数据后,我们应当取消对目标进程的挂起操作。
4. 接下来就是对内存文件的分析了
5.1. 要解析出内存中出现的全部字符串,如果直接用的话,字符串肯定太多了,那么肯定要过滤一些字符串的
5.2. 首先我们要知道字符串的一些特征
5.2.1. 比如字符串正常情况下都是以字节0结尾
5.2.2. 如果字符串包含中文大于字节127的肯定是连续2个或3个字节的倍数
5.2.3. 根据这些情况,以及一些你自定义的规则进行过滤,这个过滤步骤相当重要(剩余的字符串数量太多,可能之后推理的时间变长,剩余的太少可能将正确需要的给过滤掉了,导致推理不出来)5.2.4 当过滤完成后,你就可以根据密文猜测是什么类型的算法了,假设密文是16字节(hex之后是32字符)这种密文,大概率是MD5,所以你可以对刚才过滤后的所有字符串进行一次计算MD5,如果结果和你得到的密文一致那就是推理成功了
5.2.5 假设密文是64字节,你可以尝试DES,AES,SHA-512,因为DES加密块是8字节,AES加密块是16字节,而密文长度64又刚好是8和16的整倍数,而SHA-512刚好是64字节的结果,所以都可以尝试
下载链接:
|
举报
举报
举报
举报