再论软件标题修改暨如何自己撸一发补丁
https://www.52hb.com/thread-38852-1-1.html↑原来的悬赏帖子地址在这里↑
0.前言
对于补丁打法,我以前发过一些地址,可能值得一阅。
VEH补丁写法,算是对JMP_4E模块的一点补充
https://www.52hb.com/thread-31939-1-1.html
(出处: 吾爱汇编论坛)
懒人逆向豪迪QQ群发的方法
https://www.52hb.com/thread-32013-1-1.html
(出处: 吾爱汇编论坛)
Shy的帖子
补丁打不上的原因?你需要进来看!
https://www.52hb.com/thread-26866-1-1.html
(出处: 吾爱汇编论坛)
1.分析问题
补丁打上去没有效果,而在调试器里面确实可以在指定位置进行修改,是啥原因呢?
配张图。
首先应该在补丁后,附加看一下程序,看看补丁数据是不是确实被写入了。
如果写入了,再考虑一下,补丁的时机对不对呢?会不会有程序执行完代码后,我才把它补丁的情况?
2.解决问题
0094C07B|.68 00C19400 push HttpAnal.0094C100 ; (Unregistered Version)
以上是题主给出的关键点。而题主是用的樱花补丁。
具体我已经没必要多说了,@Shy 在他的帖子里面已经写的很好了。我这里只简单给出一段实现思路。
.686
.model flat,stdcall
option casemap:none
include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib
.data
szFile db '.\HttpAnalyzerStdV7.exe',0
szError db '请将待补丁的程序置于同一目录下',0
szTitle db '提示',0
szPatch db 'XuePoJie',0
.code
_Main proc
LOCAL @stStartInfo:STARTUPINFO
LOCAL @stProcessInfo:PROCESS_INFORMATION
invoke RtlZeroMemory,addr @stStartInfo,sizeof @stStartInfo
invoke RtlZeroMemory,addr @stProcessInfo,sizeof @stProcessInfo
lea eax,@stStartInfo
lea ecx,@stProcessInfo
invoke CreateProcess,offset szFile,NULL,NULL,NULL,FALSE,CREATE_SUSPENDED,NULL,NULL,eax,ecx
.if !eax
invoke MessageBox,NULL,offset szError,offset szTitle,MB_OK or MB_ICONINFORMATION
ret
.endif
invoke WriteProcessMemory,@stProcessInfo.hProcess,0094C100H,offset szPatch,sizeof szPatch,NULL
invoke ResumeThread,@stProcessInfo.hThread
ret
_Main endp
_START:
invoke _Main
invoke ExitProcess,0
end _START
一休哥,都来驻场了{:5_117:} 大哥,这个是c语言吗看不懂啊,有没有易语言的。 支持一下{:5_191:} 感谢分享。 感谢分享,学习一下 积极评分,从我做起。感谢分享! 感谢,正好有需要,非常感谢~ 正需要,过来学习内容!
页:
[1]