首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[求助]代码注入中的函数地址和函数长度
发表于: 2011-1-7 11:42
4046
[求助]代码注入中的函数地址和函数长度
AntBean
9
2011-1-7 11:42
4046
在代码注入中,通常使用以下方法得出函数长度
void FUNC()
{
XXXXX
}
void FUNC_END()
{
}
则FUNC()的长度为
DWORD dwLen = (char*)FUNC - (char*)FUNC_END;
通过
WriteProcessMemory()将FUNC()的代码写到目标进程中。
我现在的问题是,
FUNC_END()函数被编译器生成后,不在FUNC()的紧接着的后面
而是跑到FUNC()前面去了。
我使用的编译器是VS2010。
已经禁止代码优化
结果还是这样
使用Debug版会有这个问题,Release版没有这个问题。
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
2
)
摆个poss
雪 币:
64
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
36
粉丝
0
关注
私信
摆个poss
2
楼
那就别用DEBUG版。
2011-1-7 12:39
0
achillis
雪 币:
7651
活跃值:
(523)
能力值:
( LV9,RANK:610 )
在线值:
发帖
32
回帖
2032
粉丝
47
关注
私信
achillis
15
3
楼
那是因为DEBUG版的通常使用跳转表,就像这样:
00401004 CC int3
00401005 $ E9 86000000 jmp testXXX.FUN
0040100A $ E9 11000000 jmp testXXX.main
0040100F CC int3
00401010 CC int3
要注入的代码如果比较复杂,还是用shellcode式的代码吧
2011-1-7 19:32
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
AntBean
9
34
发帖
139
回帖
390
RANK
关注
私信
他的文章
[翻译]TDI概述
15926
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部