本课对API(Createthread)进行了Hook,首先我们在测试程序里启动一个线程,可以使用易语言的启动线程 (&工作, , 线程句柄)也可以直接调用API(Createthread)我们这里分了两种情况测试,第一,钩子写到测试文件里,第二,单独写一个钩子DLL,通过注入现行hook。我们hook的动作是调用系统的calc,你的系统如果是WIN10要确定是否安装了计算器。当然我们可以下任何钩子。实际应用是这样的,我们首先确定所注入进程是否调用了CreateThread这个API,其次我们应当写一个注入的钩子DLL。

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

单个注入文件源码

当我们先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”, 假, )

参考源码:http://www.511yj.com/eyuyan-hook-76.html

易语言API HooK CreateThread创建线程相关推荐

  1. 易语言api hook CreateProcessA 创建进程

    CreateProcessA我们非常熟悉,就是创建一个进程,这个API的函数hook非常实用,本课我们可以通过CreateProcessA来运行系统的计算器,或者记事本等等. CreateProces ...

  2. 511遇见易语言API模块进程创建CreateProcess

    封装进程创建的原因主要是易语言自带的运行和执行命令不能启动游戏,当我们写一键启动,批量启动游戏时,便用到了进程_创建的命令.易语言里的运行(),执行()有时候并不能直接运行一些游戏,而采用进程创建才可 ...

  3. 易语言取java路径模块,511遇见易语言API模块进程创建CreateProcess

    封装进程创建的原因主要是易语言自带的运行和执行命令不能启动游戏,当我们写一键启动,批量启动游戏时,便用到了进程_创建的命令.易语言里的运行(),执行()有时候并不能直接运行一些游戏,而采用进程创建才可 ...

  4. 易语言API Hook SetWindowTextA

    我们知道SetWindowTextA这个API的作用是设置窗口标题,当我们调用这个接口的时候,换成我们的函数,本课没有做注入DLL调用,而是在一个测试文件里做了演示. SetWindowTextA . ...

  5. 易语言api hook CreateFileA

    当调用CreateFileA创建文件时,我们劫持它,hook成我们自己的东西,易语言里的写到文件就是API(CreateFileA ) hook 说明 1.未hook前会生成一个111.txt,内容是 ...

  6. 易语言API hook MessageBoxA

    windows中三个最重要的动态链接库,Kenerl32.dll, User32.dll, GDI32.dll.HOOK API截获的是应用程序对系统API的调用,它在应用程序对系统API的调用之前截 ...

  7. 易语言API hook 实现动态类名

    我们知道易语言程序默认的类名是WTWindow,如果想改变这个类名,那么就需要API HOOK ,本课我们是实现的动态类名,也就是说,每次启动程序,它的类名都不一样. 生成动态类名我们采用了文本_取随 ...

  8. 易语言api hook ShellExecuteA 执行程序

    ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件.打开一个目录.打印一个文件等等),并对外部程序有一定的控制,和CreateProcessA比起来没有太复杂,可以简单理解为 ...

  9. 易语言API hook CreateWindowExA

    CreateWindowExA是创建窗口的一个API,我们本课对这个API进行HOOK.我们仍热采用前几课封装的APIhook类模块.两种方式,一个是在一个程序里通过载入新窗口继续hook,一个是通过 ...

  10. 易语言api hook GetAdaptersAddresses 劫持网卡物理地址

    GetAdaptersAddresses是获取物理网卡的MAC,这里我们通过HOOK,随机的改变它,效果如下图,获取本节MAC可以采用精易模块的MAC_取本机MAC (1) GetAdaptersAd ...

最新文章

  1. css3价格斜切_CSS3倾斜skew()方法_CSS3教程_绿叶学习网
  2. classin安卓手机安装条件_Classin在线学习平台安装指引——从这里打开知识的大门与北京四中网校名师面对面交流学习!...
  3. Python 学习笔记(1)
  4. 表单验证的初步实现和省市级联
  5. 《Windows PowerShell实战指南(第2版)》——1.4 搭建自己的实验环境
  6. π型滤波频率计算_一文看懂π型滤波电路原理
  7. github android
  8. java基础的第二轮快速学习!day10
  9. esp8266接入小爱同学,通过mqtt
  10. 表单格式化插件jquery.serializeJSON
  11. 模仿QQ音乐wap端
  12. 根据首字母排序英文名c语言,英文名按首字母排序的问题
  13. Python3,1行代码,制作GUI图形界面,果然被种草了。
  14. 你的论文题目确定了吗
  15. 一年白干!程序员赵某仿制老东家 APP,获取服务器数据,被判 4 年 6 个月
  16. 开源一个简单的RTS游戏(Unity)
  17. day01:爬取**网视频:
  18. CNN FPGA加速器实现(小型)CNN FPGA加速器实现(小型)
  19. Windows Server 系统怎么显示桌面图标“这台电脑”。
  20. i2s 与pdma fifo 配合笔记

热门文章

  1. python继电器控制
  2. SQL Server数据库应用技术
  3. python爬去微博签到数据_GitHub - fs6/weiboSpider: 新浪微博爬虫,用python爬取新浪微博数据...
  4. 矢量地图自定义切片样式
  5. 如何写一首悲伤的原创歌曲?
  6. CAD编辑指南2:五大CAD查看器的功能盘点
  7. ts250服务器开启虚拟,ts250服务器恢复系统
  8. 小程序图片src本地服务器路径,微信小程序 图片加载(本地,网路)实例详解...
  9. Reflector dll反编译工具
  10. FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay