VCdll注入基础教程新手级.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VCdll注入基础教程新手级.pdf

学习各种高级外挂制作技术,马上去百度有哪些信誉好的足球投注网站(魔鬼作坊),点击第一个站进入, 快速成为做挂达人。 首先要明白什么是线程 说到线程就不得不提到进程 SDK文档里是这样描述的 进程是一个正在运行的程序,它拥有自己的地址空间,拥有自己的代码、数据和其他系统资 源。一个进程包含了一个或者多个运行在此进程内的线程。 说白了,其实进程就是一个磁盘上的程序载入内存执行后的东西 打开任务管理器看看,里面有好多进程... 从定义上看出进程一定要有线程,线程是进程内存中的独立实体。 讲了这么多废话 其实就是想说程序运行后就变成了进程,你的代码由线程来执行。 回到正题上,线程插入是什么呢?就是把一个线程弄到别的进程执行 你也许觉得奇怪,自己不是有个进程好好的吗? 其实这个作用大了,先说说开头提到的木马 一来,有些比较由经验的用户有时会打开任务管理器,发现陌生进程?!想想你的木马还能 活吗? 那么插入Explorer等关键进程,你还想用电脑的话最好不要杀那个进程(不信试试) 二来,大家现在都装防火墙了,网络连接经常会被虑掉,木马岂不是没用了? 好,插入IE,防火墙想虑?除非你不想看网页 当然,还有很多用处,比如插入系统级别的进程,哈哈,我们有Ring0权限了,(不要告诉 我你不知道Ring0...就是连物理内存都可以写的超级权限) HookAPI也需要把代码注入别的进程 知道了他的作用想知道怎么实现吧? 别着急,慢慢来 首先,这个应该属于系统编程,系统编程就不能不知道API API是什么?简单点讲就是Windows为我们提供的一些函数,利用他们我们可以做很多事情 Delphi花了很大力气用VCL还有一些乱七八糟的类把让我们可以尽量不要API 所以会编程序但不了解API还是可能的 API被封装在kernel32.dll、user32.dll等动态链接库里,程序使用时候把DLL映射到自 己的内存了 编写的时候我们通常需要从DLL导出这些函数 function Beep; external kernel32.dll name Beep; 这样导出一个beep函数 当然,实际上不要这么麻烦 Delphi已经把这些导出声明写在一些单元里面了(比如windows单元) uses windows后就可以直接用了 (而且建立窗口时候默认就会引用很多单元) 所以实际上我们可以直接用的 这个理解一下就好了 开始讲线程插入了 一般来说线程插入有2种方法 1.DLL注入 2.直接的远程线程插入 DLL注入编写的时候比较简单,方法也多,但有个缺点进程会多出个模块来,可能被发现 远程线程是直接修改对方内存的方法,虽然隐蔽性好,但是不小心可能会出点问题,比如你 让不能有界面的进程弹出个窗口,不能上网的进程开个端口,那就等着系统崩溃吧 今天重点讲DLL注入 首先要知道什么是DLL,dll就是动态链接库,大家应该知道吧? 怎么编写DLL呢? 和写普通程序差不多是一样的 新建一个工程,选DLL Wizard 发现了吧?除了program改成library 剩下几乎是一样的,只是需要程序加载他的入口点 我们先编写个简单的DLL library TestDll; uses Windows;{$R *.res} procedure func_a; begin MessageBox(0,I love delphi,Function form Tset DLL,0); end; procedure func_b(MSG:pchar); begin MessageBox(0,MSG,Function form Tset DLL,0); end; begin func_a; func_b(I like it too!); end. 就是那个testdll.dpr 看得懂吧,弹出2个信息框 好了保存下,F9运行..出错,哈哈,DLL是不能直接运行的 那怎么办?编译下(按过F9就不用了,也会编译好) 看见那个DLL了吧? 我们弄个程序加载它的入口点 新建一个普通程序 加一个按钮 按钮事件只要写一句loadlibrary(testdll.dll); MainShow.dpr 运行,单击按钮,怎么养?弹出东西了吧 当然DLL还可以做函数库,资源库等今天暂不讨论 现在DLL懂得写了吧?就是program改成library而已 你可以写自己的程序了 DLL会写了,现在的问题就是怎么注入了 我们目的只是让对方的程序运行一句loadlibrary(testdll.dll);而已 一切就OK了 通常有

文档评论(0)

docindpp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档