@

x64 SAI2 调试记录 过保流程

技术类 admin 2025-10-10 21:40:09

******************只仅学习参考使用****切勿非法使用*****



1、painttoolsai.cn 下载最新版本并安装,不出意外应该安装目录 Sai2.exe,这个文件



2、用x64dbg.exe加载sai2.exe ,不出意外x64dbg.exe会停在入门点处



3、按F9继续运行,不出意外会有提示框,不要点OK,回到x64dbg.exe 在下方命令框输入 "bp GetMessageW"回车,不出意外应该会马上断点下来,这时点击TAB中的调用堆栈,选中第3个地址,按回车跟踪到CPU界面



4、在CPU界面代码处,直接按F2下断点,然后再按F9继续运行,接着点击SAI对话框的OK按扭





F9时断点在GetMessageW处停留,按F2去掉断点,再按F9



00007FF888BF2030 <user32.GetMessageW> | FF F3                              | push rbx                                    |



00007FF888BF2032                      | 48 83 EC 20                        | sub rsp,20                                  |



00007FF888BF2036                      | 41 8B C0                           | mov eax,r8d                                 |



00007FF888BF2039                      | 45 8B D1                           | mov r10d,r9d                                |



00007FF888BF203C                      | 48 8B D9                           | mov rbx,rcx                                 |



00007FF888BF203F                      | 41 0B C1                           | or eax,r9d                                  |



。。。。。。



 



5,点完SAI界面的对话框OK按扭后,x64dbg会断点如下





6、回到上层CALL后,向上滚动代码,找到上面的JNE xxx处,找到上面两行的代码如



000000014000AE61                      | E8 1A FE FF FF                     | call <sai2.sub_14000AC80>                   |



000000014000AE66                      | 48 83 3D EA E9 30 00 00            | cmp qword ptr ds:[140319858],0              |



CALL并选中 call <sai2.sub_14000AC80>这一行  选中按回车



 



在跟随在的CPU窗口中滚动代码,找到如下图的代码处,JNE xx 





对比上图的代码处,按右键->二进制->NOP填充,





 



然后按键盘上 退格键前面的“ - ”(减号键),直到按回到下图所示处



 







修改后,关闭汇编提示框



 



7、接下面是保存补丁 文件重新运行调试了

 a、右键CPU代码区->补丁->在弹出框中选“修补文件”,保存文件名为 "sai2_1.exe"



 b、在x64dbg中按 “ALT+F2" 停止调试

 c、在SAI安装目录,重命名 sai2.exe 为 sai2_Srouce.exe



 d、将刚保存的 sai2_1.exe 复制到SAI安装目录 ,并重命名为 sai2.exe



e、回到x64dbg.exe 按 CTRL+F2 ,重启上次调试,接着在入门断点 按F9直接运行,不出意外会弹出提示框





 



8、看见上图提示,说明离成功又近一一步了,直接点OK,在x64dbg中会断点处停留





9、回到上层CALL代码区向上滚动代码,找到如下图所示,3处重要的点





 



10、下面又到细节操作了,



a、选中(1)这一行的call sai2.sub_14010... 按回车 -- 接着 按冒号键(SHIFT+冒号键) 命名为 JIAMICODE (就是设置标签啦),特别注意按F2,设置断点,后面都会有用到的



b、操作完上面的步骤,按 减号键 回到 1,2,3标示处(看上图红色编号处代码)



  选中 2 号处的所有代码, 右键->二进制->NOP填充 (弹出确认框,点确认)



c、选中 3 号 je sai2.14000... 这一行 按空格,将 je 改成 jne 点确定,关闭汇编窗口



不出意外应该是如下图所示





 



11、此时又到细节操作了



右键->补丁->修补文件 保存为 sai2_2.exe ,  按ALT+F2停止调试,接着删除 sai2.exe ,把 sai2_2_.exe 重命名为 sai2.exe , 回到x64dbg 按CTRL+F2重启调试, 入门断点处按F9



会在此处断点  JIAMICODE,按F9继续运行就行,不出意外的话没有提示框直接进软件 了





 



12、此时进入软件 ,可以新键文件,然后绘制点东西,点 文件-》保存-》123.sai2 (此时不能保存成功,还需要分别对,打开,保存,恢复命令做修改代码,改法如 第10,11步类似 )



点了保存后会在 JIAMICODE处断点停留, 依次按 CTRL+F9, F8 回到如下图所示的代码处





 



13、在 如上图的1,2编号 分别修改(类似,10,11步骤改法)



   a、 (1)编号那几处行代码选中 ->右键->二进制->用NOP填充



  b、(2)编号处 jne sai2.14010... 这一行选中 按空格,将 jne 改成 je





 



14、完成上述操作后,按F9继续运行,这时应该保存成功了 123.sai2 ,别急还要修改”打开”命令代码,



 



15、F9继续运行, SAI里面 文件-》打开 ,选中刚才 123.sai2文件 打开,这时应该断点在 JIAMICODE这一行代码处,按CTRL+F9, F8,



然后你会看到如12步骤下面的图片代码,非常相似,改法一样。



 



16、修改上述代码,右键->补丁->修补文件 保存为 sai2_3.exe,保存之后不要结束,选新建个文件,随例画几笔,不要保存,然后在x64dbg中按ALT+F2,强型中止程序(为“恢复”命令创建条件,文件未保存非法退出,下次启动时会提示恢复文件功能)



17、将 sai2_3.exe 重命名为 sai2.exe,在x64dbg中按CTRL+F2, F9,,F9,这时会提示 恢复文件对话框,选择YES, x64dbg停留着JIAMICODE处





点了 YES,如果有断点,按F9继续 ,在弹出框中选中未保存的文件 



 





 



点完 恢复 按扭后,会停在 JIAMICODE代码处,这时细节又来,最后的修改了,CTRL+F9,F8,你会发现 12步骤的图代码,修改这里相信你已经会了,最后再补丁保存文件 sai2_4.exe,再将sai2_4.exe 覆盖sai2.exe后,补丁程序已完全,感谢你已经完成初步自制补丁图文教程了.



 


吐槽 (0)