易语言实地培训长期招生 QQ1615457736

乐易论坛

 找回密码
 立即注册

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

导航
导航
培训
培训
产品
产品
易歪歪客服聊天助手——永久免费阿里云服务器最高¥1888云产品通用代金券我要租广告易歪歪客服聊天助手——永久免费
阿里云服务器低至10元/月我要租广告易歪歪客服聊天助手——永久免费最高2000云产品通用代金券
查看: 8574|回复: 9
收起左侧

[个人原创] 【浅谈注入】1.线程EIP注入

[复制链接]
  • TA的每日心情

    2018-11-22 12:36
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    发表于 2017-8-23 22:50:41 | 显示全部楼层 |阅读模式

    乐易编程网免费注册!抓住机会哦!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 尘。 于 2017-8-23 22:55 编辑

    写在最前:
    DLL注入也并非什么前沿话题了,不过基于易语言对各种注入的分析还是相对较少的
    最近也不是太忙,闲下心来也计划写几篇关于注入的文章,简单的谈谈各种注入
    本人也只是初学者,文章内仅仅是个人对于该知识点的认知,并不能保证所有内容都完全正确,请结合网上的其他资料一同阅读
    也希望大神不吝赐教。在此谢过

    一.线程EIP注入
    我们知道进程仅仅作为容器,真正执行代码的是线程,我们可以通过修改线程的执行,来让线程执行我们加载DLL的代码
    设置线程的上下文我们可以通过Get/SetThreadContext实现.
    函数原型如下:
    BOOL WINAPI GetThreadContext(  _In_    HANDLE    hThread,   //线程句柄  _Inout_ LPCONTEXT lpContext  //Context结构);以下是函数及参数的易语言声明代码:
    SetThreadContext.png
    GetThreadContext.png
    CONTEXT.png
    FLOATING_SAVE_AREA.png
    更多资料可以参阅 https://msdn.microsoft.com/en-us/library/windows/desktop/ms679362(v=vs.85).aspx有办法修改线程的执行了,那可以开始写加载DLL的代码并且写入到游戏内存了我们知道push xxxxxxxx retn可以实现jmp xxxxxxxx的效果,那我们可以写出如下的
    loadCodepush 0x1fffffff      //返回地址
    pushfd               //保护寄存器
    pushadpush 0x2fffffff      //DLL路径
    mov eax,0x3fffffff   //loadlibrary地址
    call eax             //调用loadlibrary
    popad                //恢复寄存器
    popfdretn
    转换过来的字节集就是{104,255,255,255,31,156,96,104,255,255,255,47,184,255,255,255,63,255,208,97,157,195}
    我们需要先执行loadLibrary的代码然后再跳回原来的代码去执行.
    那么我们需要获取线程当前EIP.loadLibrary的代码,以及写DLL路径到游戏中,并且把loadCode的代码需要寻址的地方重新计算好如图:


    loadCode计算.png
    接下来我们通过VirtualAllocEx在目标进程中开辟一片新的内存空间并且用WriteProcessMemory把这段代码写入内存空间中代码如图:
    shellCode写入.png
    接下来我们只要把线程的EIP设置成我们shellCode的地址就可以了,可以通过我们上述的SetThreadContext函数然后再恢复被我们挂起的线程,那么我们的DLL就可以被加载到我们的目标进程去了如图:
    FF(8R}KZ[2C1A4QDISQU$B9.png
    总结:线程EIP注入的步骤1.获取要注入的线程ID,进程ID
    2.打开线程和进程,获得线程和进程句柄
    3.把DLL路径写入游戏内存中
    4.获取LoadLibary的地址
    5.挂起线程
    6.获取线程EIP
    7.计算LoadCode
    8.把LoadCode写入目标进程的内存中
    9.设置线程EIP为LoadCode的地址
    10.恢复线程运行
    11.等待执行结束
    12.释放内存并且关闭句柄
    源码我就不发了,只要理解了方法实现起来不是难事

    至于其他注入,后面的文章可能会谈到,如果有其他兴趣的也可以站内我


    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复

    使用道具 举报

  • TA的每日心情

    2018-11-22 12:36
  • 签到天数: 14 天

    [LV.3]偶尔看看II

     楼主| 发表于 2017-8-23 22:53:33 | 显示全部楼层
    吐槽一下,编辑的时候排版是整齐的,一发布出来排版全是乱的,蛋疼
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2019-3-26 06:49
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2017-9-28 22:49:30 | 显示全部楼层
    最好可以提供一份源码     百度网盘
    学习性更高
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 721 天

    [LV.9]以坛为家II

    发表于 2017-10-2 22:14:57 | 显示全部楼层
    不错,不错
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复

    使用道具 举报

    该用户从未签到

    发表于 2017-11-26 21:28:12 | 显示全部楼层
    看看了,支持下
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2018-2-12 10:18:49 | 显示全部楼层
    学习中,谢谢楼主
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-8-19 08:51
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2018-6-8 15:58:18 | 显示全部楼层
    学学个人原创] 【浅谈注入】1.线程EIP注入
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-8-19 08:51
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2018-6-8 16:00:45 | 显示全部楼层
    打开线程和进程,获得线程和进程句柄
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2018-8-19 08:51
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    发表于 2018-6-8 16:19:04 | 显示全部楼层
    至于其他注入,后面的文章可能会谈到,如果有其他兴趣的也可以站内我
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2018-9-16 21:11
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2018-8-2 06:15:46 | 显示全部楼层
    支持你,看好你,试试看?
    欢迎加入乐易论坛VIP,报名联系QQ 43989835
    VIP介绍和课程安排
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    乐易推荐上一条 /6 下一条

    QQ|网站地图|Archiver|手机版|小黑屋|乐易论坛 ( 湘ICP备19007035号-2 )

    GMT+8, 2019-10-16 09:56 , Processed in 0.116544 second(s), 90 queries .

    Powered by Discuz! X3.4 Licensed

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表