blackdarks 发表于 2024-4-17 15:41

X64dbg调试问题

场景:用X64dbg调试A.dll文件,B.dll文件如果启用会影响改变A.dll内的某些字段。现在想通过联动B.dll查看A.DLL并保存信息,与不加载B.dll时的A.dll进行比对,看做了哪些改动?

请教大佬该如何实现,萌新。

我的爱是你 发表于 2024-4-17 15:54

不太明白既然 B.dll 启动会修改 A.dll ,那么直接把 A dll 复制一份改名 A02 .dll 。
随后 启动 B 让它修改 A 。等修改完 直接用 WinHex 这种工具对比 A02 与 A 软件上面会直接把不同的地方标出来。

满不懂 发表于 2024-4-17 16:31

使用X64DBG调试,启用B.dll后进行dump操作,将修改后的A.dll代码dump下来,然后和原始A.dll对比即可。

blackdarks 发表于 2024-4-17 18:16

满不懂 发表于 2024-4-17 16:31
使用X64DBG调试,启用B.dll后进行dump操作,将修改后的A.dll代码dump下来,然后和原始A.dll对比即可。

大佬你好,请问如何X64启用B.DLL,如何dump?稍微具体一些

moriv4 发表于 2024-4-17 18:40

“B.dll文件如果启用会影响改变A.dll内的某些字段” 这句话怎么理解?
还有,A和B模块是什么关系?你是否想表达:“A模块判断B模块所在路径是否存在,如果存在则动态加载(LoadLibrary)B,以此表现不同的行为” ?

分几种情况:
1. B改变A的代码段。这是一种入侵行为,一般用于内存补丁。
2. B改变A的数据段。模块中的全局变量可以在不同进程中共享。

nanaqilin 发表于 2024-4-18 08:49

blackdarks 发表于 2024-4-17 18:16
大佬你好,请问如何X64启用B.DLL,如何dump?稍微具体一些

自带的Scylla插件里有dump点一下就行了

blackdarks 发表于 2024-4-18 09:30

nanaqilin 发表于 2024-4-18 08:49
自带的Scylla插件里有dump点一下就行了

好的,另外请教下如何调试A.DLL的时候,让B.DLL生效呢

nanaqilin 发表于 2024-4-18 09:33

blackdarks 发表于 2024-4-18 09:30
好的,另外请教下如何调试A.DLL的时候,让B.DLL生效呢

手动注入一下B.DLL行不行呢

blackdarks 发表于 2024-4-18 11:35

比如我让程序运行调度A.DLL和B.DLL,然后这时用X64打开A.DLL可行吗?
页: [1]
查看完整版本: X64dbg调试问题