CodeDoctor下载软件截图
CodeDoctor下载软件简介
CodeDoctor会静态分析指令并且跟踪所有的跳转指令。在程序不停地跳来跳去的场合下,这个功能是非常有用的。当它遇到不能跟踪的指令时,它会停止分析,将所有已经分析完毕的指令拷贝到一块指定的内存中去。使用方法软件截图1功能介绍1.反混淆在反汇编窗口中选择并执行这条指令。它会尝试将垃圾指令中转换成为清晰的指令。举例:原始指令:00874372 57 PUSH EDI00874373 BF 352AAF6A MOV EDI,6AAF2A3500874378 81E7 0D152A41 AND EDI,412A150D0087437E 81F7 01002A40 XOR EDI,402A000100874384 01FB ADD EBX,EDI00874386 5F POP EDI反混淆后:00874372 83C3 04 ADD EBX,42.反混淆-单步这条指令的原理同上一条相似,不过它一次只分析一条指令。3.将nop置后将这种形式的代码:00874396 50 PUSH EAX00874397 90 NOP00874398 90 NOP00874399 52 PUSH EDX0087439A BA 3F976B00 MOV EDX,somesoft.006B973F0087439F 90 NOP008743A0 90 NOP008743A1 90 NOP转换为:00874396 50 PUSH EAX00874397 52 PUSH EDX00874398 BA 3F976B00 MOV EDX,somesoft.006B973F0087439D 90 NOP0087439E 90 NOP0087439F 90 NOP008743A0 90 NOP008743A1 90 NOP限制:它会跳出所有跳转指令和call指令4.取消/重新执行取消或再次执行前一条指令5.检索跳转功能它会静态分析指令并且跟踪所有的跳转指令。在程序不停地跳来跳去的场合下,这个功能是非常有用的。当它遇到不能跟踪的指令时,它会停止分析,将所有已经分析完毕的指令拷贝到一块指定的内存中去。在设定中设置这些参数:步过所有的call-如果设置的话,它会步过所有的call。否则它会跟踪它们。步过jcc-dtto(?)反混淆-在遇到Jcc,RET,JMP,CALL指令时,它会反混淆指令。在程序有多分支的时候非常有用。举例:转换前:00874389 /EB 05 JMP SHORT somesoft.008743900087438B |43 INC EBX0087438C |41 INC ECX0087438D |42 INC EDX0087438E |EB 07 JMP SHORT somesoft.0087439700874390 B8 07000000 MOV EAX,700874395 ^ EB F4 JMP SHORT somesoft.0087438B00874397 C3 RET转换后:003B0000 B8 07000000 MOV EAX,7003B0005 43 INC EBX003B0006 41 INC ECX003B0007 42 INC EDX003B0008 C3 RET6.重建资源和重排列此功能在脱壳时有一些限制。它从磁盘上打开被调试的文件。然后找到所有的资源并将它们重建到一块区段(当前它将资源重建到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 主程序