flexlm 发表于 2022-2-13 22:56

使用 Baymax Patch Tools x64 修改指令中【全局变量】的数值

本帖最后由 flexlm 于 2022-2-13 22:59 编辑

工具:Baymax Patch Tools v2.9.5.4/x64 v2.5.4(20年6月8号更新)

操作系统:windows 10 (x64位)
目标程序:xflex.exe

.text:0000000140020D0B 03 05 8F 34 1D 00                           add   eax, cs:dword_1401F41A0
1401F41A0这里本来是0x7D,我测试改成0x69

(1)运行Baymax64.exe,加载xflex.exe
(2)读取内存数据
(3)修改内存数据
(4)创建劫持补丁

最后测试失败了,不知道错在哪里了。。


启用注入模式后的日志信息:

2022-02-13 22:58:07:265: : PYG.DLL ver: 3.0.1.1035 模块加载
2022-02-13 22:58:07:265: : Process Attach:H:\xxflex.exe
2022-02-13 22:58:07:265: : Not Find Baymax IniFile
2022-02-13 22:58:07:265: : Proc xxflex.exe Module xxflex.exe Name xxflex.exe
2022-02-13 22:58:07:265: : Proc xxflex.exe Module xxflex.exe Name xxflex.exe
2022-02-13 22:58:07:265: : 设置断点补丁条目
2022-02-13 22:58:07:265: : 非 NS_TYPE_SETRVABREAK 类型 0
2022-02-13 22:58:07:265: : 断点补丁地址 00007FF777200D0B 补丁数据 SD::S,ID_SAVENAME_1,G,Q
2022-02-13 22:58:07:265: : 设置断点
2022-02-13 22:58:07:265: : 解析异常断点数据成功 ThreadId: 4792
2022-02-13 22:58:07:265: : 设置硬件断点 00007FF777200D0B Type DR0 DR7 1
2022-02-13 22:58:07:265: : 获取线程硬件断点成功 00007FF777200D0B
2022-02-13 22:58:07:265: : 设置硬件断点成功 DR0
2022-02-13 22:58:07:265: : 断点补丁地址 00007FF777200D0B 补丁数据 SA,0::U,ID_SAVENAME_1,I,D,69
2022-02-13 22:58:07:265: : 设置断点
2022-02-13 22:58:07:265: : 解析异常断点数据成功 ThreadId: 4792
2022-02-13 22:58:07:265: : 设置硬件断点 00007FF777200D0B Type DR0 DR7 401
2022-02-13 22:58:07:265: : 获取线程硬件断点成功 00007FF777200D0B
2022-02-13 22:58:07:265: : 设置硬件断点成功 DR0
2022-02-13 22:58:07:265: : 初始化完成 ...
2022-02-13 22:58:07:265: : End StartHook()
2022-02-13 22:58:07:265: : 补丁设置初始化完成,若有HOOK或下断点操作,将会在下方进行打印输出。
2022-02-13 22:58:07:265: : 找到 DrX 对应的 2 处断点记录
2022-02-13 22:58:07:265: : 触发硬件断点 ThreadId 4792,4792 BreakType: 0, DrxType 0 RetType -1
2022-02-13 22:58:07:265: : 当前断点符合触发条件并进行处理 00007FF777200D0B
2022-02-13 22:58:07:265: : NsFixThreadContext Type 5
2022-02-13 22:58:07:265: : Get Global Addr
2022-02-13 22:58:07:265: : Save Global Address 00007FF7773D41A0Type 7
2022-02-13 22:58:07:265: : Set SavedMap 1 Name ID_SAVENAME_1 Type 7
2022-02-13 22:58:07:265: : 触发硬件断点 ThreadId 4792,4792 BreakType: 0, DrxType 0 RetType -1
2022-02-13 22:58:07:265: : 当前断点符合触发条件并进行处理 00007FF777200D0B
2022-02-13 22:58:07:265: : NsFixThreadContext Type 6
2022-02-13 22:58:07:265: : NS_BREAK_MEMORY 类型 ... 00007FF777200D0B
2022-02-13 22:58:07:265: : 修改数据的内存地址: 00007FF7773D41A0
2022-02-13 22:58:07:265: : 内存补丁 src 0000008E0000007D 类型 0
2022-02-13 22:58:07:265: : 内存补丁 fix 0000008E00000069 Get 1
2022-02-13 22:58:07:265: : 已处理该异常 00007FF777200D0B
2022-02-13 22:58:07:265: : 进入循环断点设置 ThreadId: 4792 DR0 0000000000000000 DR1 0000000000000000 DR2 0000000000000000 DR3 0000000000000000 DR7 0000000000000401
2022-02-13 22:58:07:265: : Proc xxflex.exe Module xxflex.exe Name xxflex.exe
2022-02-13 22:58:07:265: : 断点条目已添加过该线程 4792
2022-02-13 22:58:07:265: : 断点条目已添加过该线程 4792
2022-02-13 22:58:07:265: : 断点条目已添加过该线程 4792
2022-02-13 22:58:07:265: : 断点条目已添加过该线程 4792
2022-02-13 22:58:07:265: : 离开断点设置 ThreadId: 4792 DR0 0000000000000000 DR1 0000000000000000 DR2 0000000000000000 DR3 0000000000000000 DR7 0000000000000401

flexlm 发表于 2022-2-13 23:03

本帖最后由 flexlm 于 2022-2-14 08:45 编辑

64位的win10和win7都提示未找到任何可用的劫持dll
页: [1]
查看完整版本: 使用 Baymax Patch Tools x64 修改指令中【全局变量】的数值