CodeDoctor 0.90 - OllyDbg Plugin by hnedka (11.11.2009)
---------------------------------
安装使用:
复制 CodeDoctor.dll 和 CodeDoctor.ini 到 OllyDbg/Plugins文件夹内
________________________________________________________________________________
历史:
0.90 (11.11.2009) - 公开发布
________________________________________________________________________________
*********************以下的说明是引用某大大的翻译,由于复制的时候忘记名字,在此表示歉意及感谢***********************
功能:
1.反混淆
在反汇编窗口中选择并执行这条指令。它会尝试将垃圾指令中转换成为清晰的指令。
举例:
原始指令:
00874372 57 PUSH EDI
00874373 BF 352AAF6A MOV EDI,6AAF2A35
00874378 81E7 0D152A41 AND EDI,412A150D
0087437E 81F7 01002A40 XOR EDI,402A0001
00874384 01FB ADD EBX,EDI
00874386 5F POP EDI
反混淆后:
00874372 83C3 04 ADD EBX,4
2.反混淆-单步
这条指令的原理同上一条相似,不过它一次只分析一条指令。
3.将nop置后
将这种形式的代码:
00874396 50 PUSH EAX
00874397 90 NOP
00874398 90 NOP
00874399 52 PUSH EDX
0087439A BA 3F976B00 MOV EDX,somesoft.006B973F
0087439F 90 NOP
008743A0 90 NOP
008743A1 90 NOP
转换为:
00874396 50 PUSH EAX
00874397 52 PUSH EDX
00874398 BA 3F976B00 MOV EDX,somesoft.006B973F
0087439D 90 NOP
0087439E 90 NOP
0087439F 90 NOP
008743A0 90 NOP
008743A1 90 NOP
限制:它会跳出所有跳转指令和call指令
4.取消/重新执行
取消或再次执行前一条指令
5.检索跳转功能
它会静态分析指令并且跟踪所有的跳转指令。在程序不停地跳来跳去的场合下,这个功能是非常有用的。当它遇到不能跟踪的指令时,它会停止分析,将所有已经分析完毕的指令拷贝到一块指定的内存中去。
在设定中设置这些参数:
步过所有的call-如果设置的话,它会步过所有的call。否则它会跟踪它们。
步过jcc-dtto(?)
反混淆-在遇到Jcc,RET,JMP,CALL指令时,它会反混淆指令。在程序有多分支的时候非常有用。
举例:
转换前:
00874389 /EB 05 JMP SHORT somesoft.00874390
0087438B |43 INC EBX
0087438C |41 INC ECX
0087438D |42 INC EDX
0087438E |EB 07 JMP SHORT somesoft.00874397
00874390 \B8 07000000 MOV EAX,7
00874395 ^ EB F4 JMP SHORT somesoft.0087438B
00874397 C3 RET
转换后:
003B0000 B8 07000000 MOV EAX,7
003B0005 43 INC EBX
003B0006 41 INC ECX
003B0007 42 INC EDX
003B0008 C3 RET
6.重建资源和重排列
此功能在脱壳时有一些限制。它从磁盘上打开被调试的文件。然后找到所有的资源并将它们重建到一块区段(当前它将资源重建到exe中的原始区段中)。然后它重新排列文件,以一个新的名字来保存文件。
什么时候此功能是有用的?举例来说,在脱apack/asprotect或者其他一些壳的事后。这些壳会从原始区段中窃取一些资源,并且将它们放置到自己的区段中。由此会增加文件的大小,并且防止你去除壳的区段。同时它也防止了通过一些资源黑客软件看到这些资源。
我确信会有比这个插件更好的工具,不过将它整合进来有时候是十分方便的。
7.AsProctect脱壳
此功能可以脱那些被asprotect加上壳的文件并且修复它们,导出asprotect.dll,将信息输出到txt文件中去。当此功能失败的时候,请提交目标文件给我。
限制:
1.无法找到和修复SDK 1.x版本的函数(你需要手动寻找它们)
此处有两种情况。一种是在OEP之前被调用的函数。它们进行一系列的初始化功能。如果它们不被执行,程序可能会提示失效。找到它们并执行它们:-)
第二种是在OEP之后执行的,通过特殊的参数隐藏在GetprocAddress之后,这些函数AsProtect将它们重新转向到了自己的代码中。你需要手动分析这些代码。
2.在2.30-2.51中,有两种方式的窃取方式-一种为PolyOEP方式,还有一种是虚拟化。此功能只能修复前者。
3.不能找到CRC校验或者外壳检查。不过此功能可以防止一种类型的外壳检查:在跳转到API的指令中寻找E8。
4.它不会解密被加密的部分或者区段。
5.它不会找到序列号,修补试用版等等。
6.如果有附加数据的话,在脱壳后可能会破损。
Bugs:
不能工作在在一些特定的1.10版本下,有时间我会修复的。
注意:
在脱被Asprotect 2.X保护的文件时,你可能需要aspr_ide.dll。从aspack.com上获得它们,如果需要的话,进行修改。
××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
文件说明:
CodeDoctor.dll 主程序






















大小: 96.3M

Advanced PDF Password Recovery Pro5.0.5 汉化纯净安装版
winrar密码破解(RAR Password Recovery Magic)v6.1.1.263 中文绿色版
RAR Password UnlockerV5.0.0.0 特别版
PDF Password Remover(所有者密码清除)v3.1 汉化绿色版
zip密码破解(ZIP Password Recovery Magic)v6.1.1.175 中文绿色版
BIOS密码清除器绿色版
DVD decrypter(DVD解密软件)v3.5.4.0中文绿色版
office系列软件密码恢复(Office Password Recovery Magic)v6.1.1 简体中文绿色版
SDisk个人密盘V6.0绿色中文特别版
异或加解密工具特别版
RAR Password Enumerator(解加密的RAR文件的工具)V1.3.4.2中文绿色免费版
著名开源数据加密工具发布TrueCryptv7.0 多语绿色版
Facebook帐户密码取回工具(FacebookPasswordDecryptor)1.6 绿色版
PGP Desktop Professionalv9.9
Ashampoo Magical Security 2V2.02 中文注册版
中原文件夹加密v3.1 绿色特别版
小小Access密码查看器V1.1简体中文绿色免费版