当前位置:首页 » 软件开发
开发技术指南» 文章正文
    引言:
 

 

 ·unix下的缓冲区溢出防御体系    »显示摘要«
    摘要: ★nix下的缓冲区溢出深度防御体系文/ayazero www.ph4nt0m.orgcontact:zhaoyan@nsfocus.comversion:2004/10/05 draft +-----------------------------------------------......
 ·强化windowsserver2003iis服务器    »显示摘要«
    摘要: 概述 本模块集中说明在您的环境中强化 iis 服务器所需的指导和步骤。为了向组织的公司 intranet 中的 web 服务器和应用程序提供全面的安全保护,应该保护每个 microsoft internet 信息服务 (iis) 服务器以及在这些服务器运行的每个 web 站点和应用程序不受可......


进行DLL注入的三种方法

作者:陶冶(无邪) mail:taoy5178@hotmail.com oicq:24149877 from:网络技术 【程序编程相关:快速干掉感染Internet Explo

【推荐阅读:提醒大家注意的Foxmail纰漏

在windows中,每个进程都有自己独立的地址空间,这样一个应用程序就无法进入另一个进程的地址空间而不会破坏另一个进程的运行,这样使得系统更加的稳定.但这样一来,相反的,如果我们要对我们感兴趣的进程进行操作也就变得复杂起来.比如,我们要为另一个进程创建的窗口建立子类或是要想从其中一个感兴趣的进程中取得一些有趣的信息(比如你想得到win2000用户登录的密码).而dll注入技术就是正好可以解决这些问题.dll注入就是将dll插入到其它你指定的进程的地址空间中,使得我们可以对感兴趣的进程进行操作. 【扩展信息:Norton AntiVirus 200

在我们的dll注入到指定的进程空间时,为了可以使我们更清楚地看到它已经成功对注入到了指定的进程空间,所以我们有需要使用一个简单的工具来查看指定的进程空间中所载入的所有模块,以便确定我们的dll是否已经成功注入.如果你系统中装有windows优化大师,那么你可以利用它提供的进程工具来查看,没有也没关系,我用bcb写了一个小工具,虽然不怎么方便,但也可以清楚地看到指定进程空间中的所有载入模块. 该工具的主要代码如下:

//--------------------------------------------------------------------------- void __fastcall tfrmmain::btlookclick(tobject *sender) { dword dwprocessid; bool bret; moduleentry32 hmod = {sizeof(hmod)}; handle hthsnapshot = null; bool bmoremods = false; listview->clear(); if (edit->text == "") return; else dwprocessid = strtoint(edit->text);

// 为进程建立一个快照 hthsnapshot = createtoolhelp32snapshot(th32cs_snapmodule, dwprocessid); if (hthsnapshot == null) { messagebox(handle,("createtoolhelp32snapshot failed with error " + inttostr(getlasterror())).c_str(),"error!", mb_iconinformation + mb_ok); return; } // 获取模块列表中的模块 bmoremods = module32first(hthsnapshot, &hmod); if (bmoremods == false) { messagebox(handle,("module32first failed with error " + inttostr(getlasterror())).c_str(),"error!", mb_iconinformation + mb_ok); return; } for (; bmoremods; bmoremods = module32next(hthsnapshot, &hmod)) { tlistitem *item; item = listview->items->add(); item->caption = string(hmod.szexepath); item->imageindex = 0; } // 关闭句柄 closehandle(hthsnapshot); }

接下来就开始我们的正题吧. dll注入主要有三种方法,即应用hook技术.创建远程线程与特洛伊dll三种.

一.应用hook技术进行dll注入 我原来写过有关hook的介绍,如果你看过了或者是以前写过hook程序,那么你已经会这种dll注入了.它其它就是为系统或某个线程安装一个钩子.这里要说的是,如果是全局钩子,那么你的dll将会在进程调用时载入到任意一个调用的进程的地址空间中,这样是相当浪费资源的.因此我在下载的演示中就只对某一个指定的线程安装线程钩子.
...   下一页
 ·windows2000密码破解不完全指南    »显示摘要«
    摘要: 最近,有不少朋友都向我反映说由于种种原因,他们的win2000系统(或nt、xp系统)管理员密码丢失了,问我该如何找回密码。好朋友嘛,我总不能不帮,于是针不同的情况,分别给于相应的对策,最终帮他们找回了自己的密码。余暇时,稍做整理促成本文,全文以实际破解操作为例......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE