如何改写一个EXE让其不能被注入DLL?

tonydong 2007-08-12 10:15:54
请各位高手给点提示 ... -3- 谢谢

或者注入个怎么类型的 DLL 让他来拦截 ?
...全文
354 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hxfjb 2007-08-17
同意 feimingbiao()。
补充几种注入的方法:
1 QueueUserApc;
2 Native API HOOK;
回复
feimingbiao 2007-08-17
没有什么特别好的办法。

Hook和Code Injection的方法很多,没有简单的方法可以有效并且安全的防止所有方法。比如楼上一些建议都是基于一种特殊Hook方法,比如Detour,IAT,CreateRemoteThread等等。枚举DLL就更不可靠了,很多DLL是执行到某个功能才能加载进来。 即使你能在Kernel Level防范,下Hook也可以把你的Hook摘掉,然后你还得写防止别人Hook摘掉你的Hook的Hook。。。

从实际角度也没什么必要,你的程序正常运行的假设是一个正常的操作系统层。这个系统层是不是被修改,不是你的程序关心的事情。当然技术讨论是另外一回事情。
回复
aj3423 2007-08-16
程序开始运行 枚举当前读了哪些dll,然后创建一个线程,每隔5秒枚举一次 有不同的就exit(0)
呵呵 土方法
回复
简单的办法,让其他进程无法得到你的进程句柄,和窗口句柄。
HOOK这些相关的函数。
回复
linuxpgy 2007-08-16
楼主的问题提的很好, 我这里有2种DLL注入方式的代码,看你能不能给破解掉:
http://waxb.blog.com.cn/archives/2007/APIHook2.shtml

两种方法各自使用的关键函数:

1.SetWindowsHookEx
2.CreateRemoteThread
回复
taianmonkey 2007-08-15
通过文件过滤驱动最彻底!也可使用hook CreateRemoteThread的方式
回复
yjgx007 2007-08-13
http://www.vckbase.com/document/viewdoc/?id=1694
回复
wltg2001 2007-08-13
注入是系统的事,应该没办法.
回复
绝世痞子 2007-08-13
如果只改写EXE,基本上,没可能。
回复
zhaoyu_me 2007-08-13
API Hook就可以
回复
相关推荐
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2007-08-12 10:15
社区公告
暂无公告