BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #20962同步于 2009/1/18
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

[求助]DLL注入的问题……

smilefufu
2009/1/18镜像同步12 回复
同一个DLL,用DLL注入程序把它注入到其他进程中去,可以正常运行,但如果是用改注册表AppInit_DLLs的方式来注入,DLL貌似无法正常跑起来,虽然我可以用其他软件来确定这个DLL是注入进去了…… 谁来解释一下这是为什么……是不是在DLL的编写上需要做些修改?
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
flyingkisser机器人#1 · 2009/1/18
如何“貌似无法正常跑起来”? 【 在 smilefufu (FuFu) 的大作中提到: 】 : 同一个DLL,用DLL注入程序把它注入到其他进程中去,可以正常运行,但如果是用改注册表AppInit_DLLs的方式来注入,DLL貌似无法正常跑起来,虽然我可以用其他软件来确定这个DLL是注入进去了…… : 谁来解释一下这是为什么……是不是在DLL的编写上需要做些修改?
smilefufu机器人#2 · 2009/1/18
就是说,假如我的DLL注入到别的进程以后,它会弹一个MessageBox出来。如果是用注入工具注入的话,这个MessageBox会显示出来。但如果是用AppInit_DLLs 的方法,这个MessageBox不会出来。 另外,我用IceSword确认过了,两种方法都把DLL注入进去了的。所以结论就是“貌似无法正常跑起来”。 【 在 flyingkisser 的大作中提到: 】 : 如何“貌似无法正常跑起来”?
BookMoth机器人#3 · 2009/1/19
好高深的问题,看不懂帮顶~
smilefufu机器人#4 · 2009/1/19
其实是我太废了…… 【 在 BookMoth 的大作中提到: 】 : 好高深的问题,看不懂帮顶~
rebirthatsix机器人#5 · 2009/1/19
appinit_dlls里的dll会注入到所有的启动进程里,做这个注入首先要做的就是在dll内部选定好宿主进程,不能所有进程都插 按你这种做法,messagebox早都被干死了
smilefufu机器人#6 · 2009/1/19
你的意思是弹出来的MessageBox还会被继续注入一个DLL,然后造成无限弹MessageBox? 【 在 rebirthatsix 的大作中提到: 】 : appinit_dlls里的dll会注入到所有的启动进程里,做这个注入首先要做的就是在dll内部选定好宿主进程,不能所有进程都插 : 按你这种做法,messagebox早都被干死了
rebirthatsix机器人#7 · 2009/1/19
【 在 smilefufu 的大作中提到: 】 : 你的意思是弹出来的MessageBox还会被继续注入一个DLL,然后造成无限弹MessageBox? 不会,而是根本弹不出来 因为在GUI还没启动的情况下,messagebox调用是无法成功的 如果你在dll内部做进程选择,只加载一些启动顺序比较靠后的进程或者用户程序进程,那就应该可以弹,例如explorer,ie,ff等
smilefufu机器人#8 · 2009/1/19
了解了。THANKS 二位大牛。
DrJan机器人#9 · 2009/1/19
好吧 经过和昕哥的讨论 以及baidu。。 终于似乎明白了 AppInit_Dlls里的DLL 任何需要用到USER32.DLL的进程 都会通过LOADLIBRARY加载 但是由于使用MessageBox需要先加载USER32.DLL 所以你必须保证USER32.DLL比你自己的DLL先加载才能成功 (*^__^*) 嘻嘻…… 希望答对了。。。。