注册
登录
论坛
搜索
插件
默认风格
默认风格_6hOY
D Dark
greenwall
jeans
fashion
私人消息 (0)
公共消息 (0)
论坛任务 (0)
系统消息 (0)
好友消息 (0)
帖子消息 (0)
【3.A.S.T】网络安全爱好者
»
技术交流
» [讨论]有个反调试软件制作过程中遇到的问题
返回列表
发帖
valen886
发短消息
加为好友
valen886
当前离线
UID
1225
帖子
310
精华
0
积分
810
威望
1302
金钱
1010
阅读权限
90
在线时间
2 小时
注册时间
2008-7-16
最后登录
2009-2-13
3.A.S.T中校
帖子
310
积分
810
威望
1302
金钱
1010
在线时间
2 小时
1
楼
跳转到
»
倒序看帖
打印
字体大小:
t
T
发表于 2008-7-20 23:21
|
只看该作者
[讨论]有个反调试软件制作过程中遇到的问题
软件
,
调试
,
制作
,
讨论
[讨论]有个反调试软件制作过程中遇到的问题
信息来源:邪恶八进制信息安全团队(
www.eviloctal.com
)
议题作者:dhbellwyc
大家好!首先我可以说,相比于PEDIY,可能这里更适合我一点,呵呵。
我打算编一款反调试软件,在软件的编写过程中有几个问题可否请教一下各位:
1. 在WINDOWS操作系统中,如果一个程序,不管是用户级还是内核级只要不是操作系统本身,在不接触进程句柄的情况下,如果能够读取进程数据。我这款反调试软件就是通过阻止得到进程句柄来达到反调试甚至反破解目的的。
2. 有关操作系统内核的未公开函数的挂钩问题,由于是未分页的,所以可能不能用SSDT的方式实现,我现在得知一种方法,就是通过查找该未公开函数的特征代码,然后在系统内存中,以得到该函数的入口地址,再修改该地址以跳转到我自己的函数来实现挂钩,不过这种方法我觉得是不是有些危险啊,有没有其它的方法啊?
帖子5 精华
0
积分9 阅读权限40 在线时间0 小时 注册时间2007-10-20 最后登录2008-6-13
查看详细资料
引用
报告
回复
TOP
少女暴富的隐秘(图)
zhuwg
运维管理组
收藏
分享
Peter仔
发短消息
加为好友
Peter仔
当前离线
UID
327
帖子
22
精华
0
积分
57
威望
91
金钱
49
阅读权限
10
在线时间
0 小时
注册时间
2008-7-14
最后登录
2009-2-17
3.A.S.T士兵
帖子
22
积分
57
威望
91
金钱
49
在线时间
0 小时
2
楼
发表于 2008-7-20 23:21
|
只看该作者
1. 据我所知 不能
偶可以完全不经过任何进程句柄相关函数
来读取或者修改任何进程的数据 最简单的就是读写物理内存了
另外 偶在内核中自己枚举句柄链表 您有啥方法阻止?
或者高端内存暴力进程也行的
2.有关操作系统内核的未公开函数的挂钩问题
很安全 没有任何危险
只要你的代码写的漂亮 hook很安全和稳定
TOP
喂食猫
发短消息
加为好友
喂食猫
当前离线
UID
494
帖子
18
精华
0
积分
27
威望
36
金钱
34
阅读权限
10
在线时间
0 小时
注册时间
2008-7-14
最后登录
2008-8-4
3.A.S.T士兵
帖子
18
积分
27
威望
36
金钱
34
在线时间
0 小时
3
楼
发表于 2008-7-20 23:21
|
只看该作者
谢谢楼上对第二个问题的回复,不过就第一个问题来说,我要的是能够在不接触句柄的情况下访问进程,而不是不接触进程句柄相关函数,也就是说你自己的函数不能使用任何句柄。这样可以吗?
我现在确保的一点是,你只要使用了句柄,就会被我检测到。那在不使用句柄的情况下,如何访问到一个进程,还要调试它呢?尤其是当内核调试器被禁用的时候,禁用内核调试器应该就是把KiDebuggerRotine改写一下就行了吧!
TOP
粟米
发短消息
加为好友
粟米
当前离线
UID
671
帖子
27
精华
0
积分
41
威望
54
金钱
54
阅读权限
10
在线时间
0 小时
注册时间
2008-7-16
最后登录
2008-7-29
3.A.S.T士兵
帖子
27
积分
41
威望
54
金钱
54
在线时间
0 小时
4
楼
发表于 2008-7-20 23:21
|
只看该作者
句柄到了最后就是内核中的一大堆数据结构,表层上可以理解为object。对象。
不通过句柄,取对象很容易,所以不要死死盯着句柄不放。没什么太大意义
WINDOWS内核疯狂爱好者
帖子239 精华
6
积分5535 阅读权限150 性别男 在线时间1112 小时 注册时间2007-1-10 最后登录2008-7-20
查看个人网站
查看详细资料
引用
报告
回复
TOP
dhbellwyc
晶莹剔透§烈日灼然
TOP
珠海汽车网
发短消息
加为好友
珠海汽车网
当前离线
UID
374
帖子
14
精华
0
积分
21
威望
28
金钱
26
阅读权限
10
在线时间
0 小时
注册时间
2008-7-14
最后登录
2008-7-30
3.A.S.T士兵
帖子
14
积分
21
威望
28
金钱
26
在线时间
0 小时
5
楼
发表于 2008-7-20 23:21
|
只看该作者
楼上的话我也知道,不过我感觉WINDOWS主要是通过句柄来引用对象的,除此之外路就比较少了,就算是有编程起来也会很麻烦,可不可以举几个不通过句柄来得到对象的例子啊!谢谢了。我自己先举两个,钩住WINDOWS内核的进程相关函数,获得参数中的EPROCESS。以及遍历进程块链表来取得EPROCESS。还有没有其它的啊?
另外,虽然我知道用句柄的方法不能治本,但好歹目前几乎市场上所有的标准的调试器产品都有用到句柄的,我这一招几乎可以是通吃了。
TOP
返回列表
【 新 手 入 门 】
初入江湖
有问必答
软件交流
程序设计
黑客播报
操作系统
Windows专区
Unix 专区
【 技 术 交 流 】
原创专区
QQ技巧
反黑知识
网站建设
教程发布
技术交流
免杀技术
0day发布
专题归类
私服技术
【 论 坛 水 区 】
被黑站点
激情灌水
极品贴图
开心乐园
影音专区
广告专区
【 论 坛 管 理 】
新人报到
论坛管理
勋章申请
[收藏此主题]
[关注此主题的新回复]
[通过 QQ、MSN 分享给朋友]
全国地图
@@@ 加入本站会员 一个月月赚1200+的秘密@@@
@@@ 加入本站会员 一个月月赚1200+的秘密@@@