易语言dll劫持注入写法

易语言dll劫持注入写法,第1张

1、首先这不是注入DLL,这是导入DLL函数进PE文件,这个过程需要一个工具LordPE,网上都有可以自己去下载。

2我们知道一旦DLL函数被导入EXE文件的输入表,则EXE文件启动时会自动执行一遍该DLL的_启动子程序 函数,

3、所以我们可以把需要执行的指令放在该函数里面,然后记得在该函数的 公开 选项打上勾,然后编译。

4、接下来,我们打开LordPE,如下图

然后在d出的对话框中选择要导入DLL函数的程序然后点击新d出的窗口的目录,如下图

5、然后点 输入表 右边的 标题是 ...的按钮(截不了图了)

然后随便选择一项数据,右键,如下图

在d出的窗口中填写DLL名,及API名(填_启动子程序)就可以了,然后点一下 + 按钮

6、如果d出一个信息框,点 是 就可以,添加完成之后点 确定 ,然后一路保存就可以了,不过发布程序的时候记得带上那个DLL

相关资源:易语言DLL永久注入EXE_易语言dll注入exe并且运行-其它代码类资源...

首先在DLL里新建一个窗口

然后在DLL里声明一个公开的函数

函数内容如下

_____________________________________________

.版本 2

.子程序 载入_某某窗口, 整数型, 公开, 成功返回被调用窗口的句柄

载入 (某某窗口, , 假)

.如果真 (是否已创建 (某某窗口))

返回 (某某窗口.取窗口句柄 ())

.如果真结束

返回 (0)

_____________________________________________

现在说说为什么要这样,个人愚见

首先如果你想调用DLL里面的窗口,则必须通过其公布的函数,且由于DLL是编译后的程序,

不能支持窗口类的 *** 作。

改文件我觉得不如dll注入来的优雅。

VirtualAllocEx申请内存,

WriteProcessMemory将你的装载dll的shellcode写过去,

CreateRemoteThread创建线程,指向你的shellcode。

简单愉快,完全不需要改OEP,更不用搜索00。

如果你那么固执要用你的静态补丁方法,

其实我觉得你也不需要用什么易语言了,直接把你用OD修改的DLL,保存并替代原文件,

就可以了,何须那么麻烦,当然除非你这个DLL还是EXE有什么特殊的地方不能这样。

易语言用汇编比较蛋疼,而且我对易语言也不太了解,

如果你那么固执要用编程来解决,我就大概提一下思路。

一、搜00,找个足够大的空的地方

二、通过读PE结构获取OEP,不懂的话请自行百度PE结构。

三、OEP改成你步骤一找到的空地,

这一块涉及到文件虚拟地址对齐问题(好像是这么叫的),比较复杂,而且我也不太清楚,

交给你自己解决。

四、空地里写入你的shellcode。你的shellcode有个问题,call LoadLibrary用的是相对偏移跳转,当你这句汇编的位置483AFE,那么你就会call到别的地方去了,可以改成如下代码:

mov eax,LoadLibrary地址

call eax

五、shellcode末尾jmp回原OEP,同样涉及对齐问题,自行研究吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11818145.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存