首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
软件逆向
发新帖
0
0
[求助]在写内存补丁时想到的一个问题。
发表于: 2005-1-22 11:53
3946
[求助]在写内存补丁时想到的一个问题。
Vegeta
13
2005-1-22 11:53
3946
目标进程:A
给A打内存补丁的程序:B
假如B要对A的大部分代码进行动态修改,即:进行写内存操作。这里要注意的是:有大量的代码需要写入进程A,并且A时刻在运行该部分代码!
如果在B还没有把所有的代码进入A之前,CPU就执行了A进程,那岂不是要乱套?!
是不是得先挂起目标进程或进行一些特殊的操作……
是我对操作系统的理解有误还是?请指教,谢谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
4
)
larblue
雪 币:
176
活跃值:
(117)
能力值:
( LV6,RANK:90 )
在线值:
发帖
8
回帖
162
粉丝
0
关注
私信
larblue
2
2
楼
你可以在A中找到关键的跳转或者call
修改这一部分到你要修改的代码B
然后再跳回A执行
有点SMC的意思
即使程序在不断的运行A处代码
但是每次执行到关键跳转处都会跳到你修改的代码处执行
不用担心CPU执行A还是执行B的问题
你只要让一个C先于A执行修改A处关键跳转到B就可以
C只执行一次就可以了
希望对你有所帮助
2005-1-22 12:12
0
Vegeta
雪 币:
431
活跃值:
(442)
能力值:
( LV12,RANK:530 )
在线值:
发帖
37
回帖
238
粉丝
1
关注
私信
Vegeta
13
3
楼
我明白你的意思:是先写那大部分代码然后再跳过去执行(只需要一个JMP指令)。
我的意思是:假设程序文件不能修改,只能以内存补丁的形式进行修改,而且没有任何空白区,你只能在原有的基础上进行修改。那样的话你就没有地方写你本要执行的代码了,所以:我担心在尚未写完我们的代码时,CPU就去执行目标程序了。这样的话就麻烦了……
2005-1-22 12:24
0
larblue
雪 币:
176
活跃值:
(117)
能力值:
( LV6,RANK:90 )
在线值:
发帖
8
回帖
162
粉丝
0
关注
私信
larblue
2
4
楼
这样的话只能挂起程序了
2005-1-22 12:30
0
prince
雪 币:
603
活跃值:
(617)
能力值:
( LV12,RANK:660 )
在线值:
发帖
51
回帖
1874
粉丝
8
关注
私信
prince
16
5
楼
可以试试:
copy 程序A到另外一块内存,修改->写磁盘。
2005-1-22 12:45
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
Vegeta
13
37
发帖
238
回帖
530
RANK
关注
私信
他的文章
[求助]企业内控网接入层控制有何方案?
6721
[建议]QQ群没人审批?
3503
[讨论]除了透明加密,还有什么技术能实现脱离内控网后的文档无法解密?
5594
语句“mov eax, A57EB503”,A57EB503是常量吗?
5554
[求助]关于计算机犯罪的法律问题,我是否该停止开发?
7031
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部