解包 ASpack 恶意软件

逆向工程 ollydbg 开箱
2021-07-05 12:49:17

我正在尝试解压缩一个二进制文件,aspack我用 ollydump 工具将它加载到 ollydbg 1.0 中。我在 at 设置硬件断点,ECX然后跳过它,它在以下语句处停止:

MOV DWORD PTR DS:[EDI],EBX
我通过shift+绕过了它,F8但它多次给出访问冲突错误。如何在 UnPacking Binary 中进一步进行。二进制在没有调试器的情况下执行时工作正常。

2个回答

使用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 

所以

  • 您可以将其复制/粘贴/保存在您最喜欢的编辑器中以便稍后加载,或者
  • 将其直接复制/粘贴到x64dbgScript选项卡

详细说明:

假设你有

  • 新加载/重新加载的 ASPacked 调试器,以及
  • 新加载/粘贴/重新加载上述脚本(您可能会在Script选项卡中看到它)。

然后

  1. 按下F9键-只有一次!- 将调试器运行到其入口点。
  2. CPU选项卡中检查您是否看到当前指令的“EntryPoint”注释。
  3. 切换到Script选项卡。
  4. space bar运行脚本。出现第一个消息框。
  5. 单击确定。出现第二个消息框。
  6. 单击确定。脚本现在暂停。space bar继续。
  7. 带有消息“成功找到 OEP!想使用 Scylla 转储目标?”的消息框 出现。
  8. 现在按“否”。(稍后您可以重复此过程并按“是”。)
  9. 消息框“脚本完成!” 出现。单击确定。

该脚本执行了您的 ASPacked 调试器的解包代码,并在第一条指令(注释中的 OEP 表示“原始入口点”)处已在内存中解包的代码处停止。

现在您可以分析您已经解压的调试器。

尝试使用更新版本的 ollydbg 或x64dbg(一种现代的开源 ollydbg 类)以及TitanHideScyllaHide等反调试技巧插件,以避免被打包程序检测到。