吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3995|回复: 5

[C/C++] APIHOOK学习笔记(一)

[复制链接]
李沉舟 发表于 2016-2-28 15:45 | 显示全部楼层 |阅读模式

啥是APIHOOK?说白了APIHOOK就是把一个过程的头部代码改成jmp,跳转到另一个过程,该技术也被广泛应用。
用C++写一个简单的APIHOOK(小弟C++水平不高,代码写的不好请见谅)


#include <iostream>
#include <windows.h>


using namespace std;


void sub1(){cout << "I come from sub1";}
void sub2(){cout << "I come from sub2";}




int main()
{
    int addr = int(&sub2); ///在这里取出sub2的头部地址
    unsigned char code[7] = {184,0,0,0,0,255,224};///mov eax,0000 jmp eax
    ///184是mov eax的机器码,后面跟4个0是它的第二个参数
    unsigned char addrr[4] = {0,0,0,0};///留一个缓冲区,等下把addr转换成unsigned char数组
    memcpy(addrr,&addr,4); ///把int地址转换为char数据,便于赋值,就是把addr拷贝到addrr数组
    ///设置mov eax,的第二个参数,也就是sub2的首地址
    code[1] = addrr[0];
    code[2] = addrr[1];
    code[3] = addrr[2];
    code[4] = addrr[3];
    ///结束设置
    WriteProcessMemory((HANDLE)-1,&sub1,code,7,0); ///把sub1的子程序头改写成mov eax,sub2 jmp eax
    sub1();///调用sub1就相当于调用了sub2
}


评分

参与人数 10HB +21 THX +7 收起 理由
消逝的过去 + 1
创客者V2.0 + 1
VipDongle + 1
agan8888 + 1
hc777 + 5 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
隐s丶 + 1 + 1 分享精神,是最值得尊敬的!
圈瞳 + 1 + 1 分享精神,是最值得尊敬的!
zby03772015 + 1 分享精神,是最值得尊敬的!
Shark恒 + 10 + 1 祝学破解论坛全体成员2016年开心每一天!
niutou20 + 1 + 1 祝学破解论坛全体成员2016年开心每一天!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
揰掵佲 发表于 2016-2-28 16:47 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
834914303 发表于 2016-2-28 21:39 | 显示全部楼层

看看,支持支持
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Shark恒 发表于 2016-2-28 22:28 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
kingone 发表于 2016-2-29 01:17 | 显示全部楼层

api hook是形式  而 头部的inline hook只是手段,例如 导入表 到处表hook 虚表 hook 很多  头部hook有点简化apihook了

评分

参与人数 1HB +2 收起 理由
李沉舟 + 2 谢谢,又涨知识了

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
oysjk 发表于 2017-2-7 11:05 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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