我正在尝试解压缩一个二进制文件,aspack我用 ollydump 工具将它加载到 ollydbg 1.0 中。我在 at 设置硬件断点,ECX然后跳过它,它在以下语句处停止:
MOV DWORD PTR DS:[EDI],EBX我通过shift+绕过了它,F8但它多次给出访问冲突错误。如何在 UnPacking Binary 中进一步进行。二进制在没有调试器的情况下执行时工作正常。
我正在尝试解压缩一个二进制文件,aspack我用 ollydump 工具将它加载到 ollydbg 1.0 中。我在 at 设置硬件断点,ECX然后跳过它,它在以下语句处停止:
MOV DWORD PTR DS:[EDI],EBX我通过shift+绕过了它,F8但它多次给出访问冲突错误。如何在 UnPacking Binary 中进一步进行。二进制在没有调试器的情况下执行时工作正常。
使用ASPack 2.xx.txt从脚本x64dbg脚本收集。
或者,我在这里复制了这个脚本文件的内容:
//////////////////////////////////////////////////
// FileName : ASPack 2.xx.txt
// Comment : OEP Find For ASPack 2.xx
// Author : _pusher_
// Date : 2015-07-08
//////////////////////////////////////////////////
//start
msg "ASPack 2.xx OEP Finder"
msg "make sure you're at the entry point of the program before you continue"
pause
//clear breakpoints
bc
bphwc
//find oep jump
find cip,"617508B801000000C20C0068" //some pattern
log "found: {0}", $result
cmp $result,0
je error
//go there
bp $result
erun
bc
$dw = 4:[cip+c]
log "OEP: {0}", $dw
//Go to OEP
bp $dw
erun
//clear breakpoints
bc
cmt cip,"OEP"
TimeToDump:
msgyn "Successfully found OEP! Wanna use Scylla to dump the target?"
cmp 0,$result
je finishScript
scylla
finishScript:
//finish script
ret
error:
msg "didn't find oep jump"
ret
所以
假设你有
然后
该脚本执行了您的 ASPacked 调试器的解包代码,并在第一条指令(注释中的 OEP 表示“原始入口点”)处已在内存中解包的代码处停止。
现在您可以分析您已经解压的调试器。
尝试使用更新版本的 ollydbg 或x64dbg(一种现代的开源 ollydbg 类)以及TitanHide或ScyllaHide等反调试技巧插件,以避免被打包程序检测到。