易语言API HooK CreateThread创建线程

511遇见

注入工具无所谓,我们演示了EIP,和远程线程注入工具。

511遇见

511遇见

单个注入文件源码

当我们先hook后,当启动线程时,会调用我们自己的mythread函数。

.版本 2
.支持库 EThread
.支持库 spec
 
.程序集变量 线程句柄, 整数型
.程序集变量 a, 类apihook
 
.子程序 _按钮1_被单击
 
启动线程 (&工作, , 线程句柄)
 
.子程序 工作
 
置随机数种子 ()
.计次循环首 (1000, )
    编辑框1.加入文本 (到文本 (取随机数 (10, 100)) + “ + ” + 到文本 (取随机数 (100, 999)) + “ = ” + #换行符)
    延迟 (300)
.计次循环尾 ()
 
.子程序 _按钮2_被单击
 
强制结束线程 (线程句柄)
 
.子程序 __启动窗口_创建完毕
 
皮肤_加载 (1)
 
.子程序 _按钮3_被单击
 
a.安装Hook (“kernel32.dll”, “CreateThread”, 到整数 (&mythread))
a.开始Hook ()
 
.子程序 mythread
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型
 
信息框 (“被hook成功!!”, 0, , )
运行 (“calc.exe”,, )
 
.子程序 _按钮4_被单击
 
a.停止Hook ()

钩子DLL源码

.版本 2
.子程序 _启动子程序, 整数型, , 请在本子程序中放置动态链接库初始化代码
 
hook ()
_临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
返回 (0)  ' 返回值被忽略。
 
.子程序 _临时子程序
 
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
 
.子程序 hook, , 公开
 
a.安装Hook (“kernel32.dll”, “CreateThread”, 到整数 (&mythread))
a.开始Hook ()
 
.子程序 mythread
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 整数型
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型
 
信息框 (“被hook成功!!”, 0, , )
运行 (“calc.exe”, 假, )

教程获取下载:


发布日期:

所属分类: 易语言 标签: