首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从ghidra的相应指令中破解x64dbg?

如何从ghidra的相应指令中破解x64dbg?
EN

Stack Overflow用户
提问于 2021-01-18 03:16:02
回答 2查看 2K关注 0票数 2

我让x64dbg和ghidra通过ret-同步同步。我在ghidra发现了一个有趣的观点:

代码语言:javascript
复制
1800382b1   4d 8b e0      MOV              R12,rebitData
1800382b4   48 63 f2      MOVSXD           packetSize_,packetSize

在清单视图中,文件my.dll从180000000开始。因此,在x64dbg中,我为my.dll添加了一个dll中断,当我在其中时,我进入带有ctrl+shift+g的文件偏移量,并输入328 b4,但最后在(第一行):

代码语言:javascript
复制
00007FF8B2FB32B4 | 06                       | ???             
00007FF8B2FB32B5 | E9 80000000              | jmp my.7FF8B2FB333A    
00007FF8B2FB32BA | 45:8BC6                  | mov r8d,r14d        
00007FF8B2FB32BD | EB 7B                    | jmp my.7FF8B2FB333A   
00007FF8B2FB32BF | 3BFB                     | cmp edi,ebx 
00007FF8B2FB32C1 | 73 22                    | jae my.7FF8B2FB32E5 
00007FF8B2FB32C3 | 41:3BDB                  | cmp ebx,r11d 
00007FF8B2FB32C6 | 76 18                    | jbe my.7FF8B2FB32E0 

在x64dbg中,文件从:00007FF8B2F81000 (CPU选项卡、模块my.dll、主线程X、PID Y)开始。

很明显,说明是不一样的。(我相信我做对了)

我怎样才能使通讯员吉德拉-> x64dbg和闯入x64dbg在“同一个地方”,即相同的指示?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-24 17:39:38

但是,这并不适用于在发行版中构建的ret-sync,只适用于调试版本.这是个小虫子

  • 对于手动rebase+jump,可以从x64dbg中在x64dbg计算器中的expression中输入偏移量(当前偏移量-基偏移量),并要求follow in disassembler直接跳转到偏移量。我们可以计算一个表达式,它执行重基或更复杂的函数(例如,偏移+X*N的大小)。
  • 如果最终偏移量已知,则在x64dbg中跳转到所需偏移量的另一种方法是ctrl+shift+g (go to file offset),如果所需模块位于CPU反汇编中。如果不是,您需要转到符号,并遵循在CPU反汇编中感兴趣的模块,然后是go to file offset
票数 4
EN

Stack Overflow用户

发布于 2021-01-19 09:06:33

你说你想去328b4,但是你的第二个片段在...32B4上,看起来你在指令的中间。我希望正确的地址是0x00007FF8B2F81000 + 0x328b4 = 0x7ff8b2fb38b4。

我不知道ret-sync支持设置断点,但是您可以通过悬停获得相对偏移量来更容易地完成地址转换。

来源:https://twitter.com/dev747368/status/1347360276476293125

然后将x64dbg偏移量00007FF8B2F81000添加到偏移量(屏幕截图中的2008h,在您的例子中是328b4h )

或者,您可以通过在shell中运行currentAddress.subtract(currentProgram.imageBase)来获得当前地址的相对偏移量(在您的示例中同样是328b4h ),然后添加x64dbg偏移量来编写脚本。因此,完整的命令是:currentAddress.subtract(currentProgram.imageBase).add(0x00007FF8B2F81000)在Python中运行这个命令,并得到当前地址的正确x64dbg地址。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65768385

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档