首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
编程技术
发新帖
1
0
[求助]函数堆溢出保护
发表于: 2014-1-1 19:36
4251
[求助]函数堆溢出保护
wxjgeorge
1
2014-1-1 19:36
4251
最近在做一个函数,在函数外new一个buffer,然后传递buffer的地址和长度到函数内,函数读取外部的脚本执行对buffer的加密,因为脚本提交用户较多,很难实现脚本全部审核,问题是执行脚本的时候怕脚本控制的这个函数更改了指定buffer以外的内存数据或指令,有什么方案可以控制函数只允许针对指定内存区域进行操作吗?或者检测到操作地址非法直接返回错误。
函数内要求可以对指针进行strcpy...之类的指令操作,以及mov [lpBuffer],eax之类的汇编指令操作。所以可能HOOK无法满足要求。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
3
)
whnet
雪 币:
185
活跃值:
(25)
能力值:
( LV2,RANK:10 )
在线值:
发帖
22
回帖
1029
粉丝
0
关注
私信
whnet
2
楼
用户提交的这个脚本是怎么一个形式。 是可以直接访问内存的吗?
如果是你定义的脚本,那么你可以规定他的内存访问操作。对每次内存访问进行限制?
这样效率会降的厉害。
2014-1-1 21:13
0
SupRole
雪 币:
148
活跃值:
(59)
能力值:
( LV3,RANK:30 )
在线值:
发帖
14
回帖
118
粉丝
3
关注
私信
SupRole
3
楼
申请buffer时大小设置4096(页大小,此值可动态查询)的整数倍,如果溢出,就会立刻触发读写异常,然后加个seh来捕获。
假如你申请4000大小,如果溢出了1个字节,release版时是不会有异常的(debug版释放时会有异常),因为实际分配的buffer是页大小。所以buffer要申请页大小整数倍。
不知道说的对不对,等大牛回答
2014-1-1 23:45
0
wxjgeorge
雪 币:
123
活跃值:
(95)
能力值:
( LV5,RANK:60 )
在线值:
发帖
30
回帖
140
粉丝
1
关注
私信
wxjgeorge
1
4
楼
脚本里面可以使用lpBuffer+offset这种当时指定地址,原本准备限制offset的值必须小于buffer长度,但是就如2楼说的效率下降太多了,有空验证下3楼的异常方式。
2014-1-2 07:55
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
wxjgeorge
1
30
发帖
140
回帖
60
RANK
关注
私信
他的文章
[求助]如何开发类似PP助手之类的Windows环境下IPHONE管理软件
9131
[求助]CRC32内存检验出现问题,多次运行时出现不同结果,请帮忙看下错在哪了
3979
[求助]函数堆溢出保护
4252
[求助]StretchBlt在Dialog上显示图片出现无法多次显示的问题
3686
[求助]PEBundle脱壳后IAT修复出现无效指针,求指导
8717
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部