CALL注入--扫雷辅助(二)

Call注入简介

差不多有一周的时间,完成了扫雷辅助的项目
项目地址
(感觉好玩的东西, 多有不足,还请各位交流指正)
过程中遇到相当多的问题与麻烦, 逐个解决.难得闲暇,
就记录过程中的一些 point

核心代码


CONST LPWORD offsetFnClick = (LPWORD)0x01003512;        //选方格的函数地址

BOOL Click(DWORD x, DWORD y)
{
    _asm {
        //这里压入参数
        push x       
        push y       
        call offsetFnClick  //调用选方格函数
    }
    return 0;
}

上面的代码片 就是实现了在雷区的点击 , 点击(x,y)这个方格
实现这个功能的核心代码很简单, 一看就懂 , 压参数, 然后直接call地址
这里记录的原因,算是学习了一种新的途径吧

常规思路是在Local 的应用里面 , 发送鼠标消息, 来模拟 鼠标的点击, 和移位. 简约简单 ,但是感觉一点都不professional.
这种直接 call remote 的内部函数,显然显得高效 , 舒服

实现过程

实现过程并不复杂 , 这段代码是存在与DLL 文件中的, 我们用常规方法
把 该dll 注入到 remote 的内存空间 , 这样 就可以控制 ,使其 CALL 点击函数

  1. 打开远程线程
  2. 使用VirtualAllocEx函数在远程进程内存地址空间分配DLL文件名缓冲区
  3. 在远程进程中写缓冲区
  4. 取得 loadlibrary 地址
  5. 创建远程线程

上面也是流程
具体远程线程注入过程见远程线程注入

关键点,在于后面的 offsetFnClick
这个是 扫雷程序里面点击的 函数地址 , 照这个函数 , 基本是od 单步下来的
(其实早该看栈回溯的…)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值