好友
阅读权限30
听众
最后登录1970-1-1
|
本帖最后由 bester 于 2019-9-11 14:23 编辑
0.前言
从9月1号开始学习了8天的成果,每天码到凌晨2点,从零开始学习PE结构,IAT hook 调试法等等,特地去学来参加动画大赛,视频有两处比较打脸的地方,大家忽略一下,比较紧张字可能说错了,没有讲课经验,容易忘记学过的知识,然后把自己搞懵了
1.简介
大家好,我是Bester,这是我的动画大赛参赛作品,让我们一起来学习hook,如有错误之处请大家谅解~ (屏幕分辨率:2K,条件简陋声音较小请调大音量)
1.什么是hook?
答:你可以理解为你下班开车回家,路上遇到蜀黎查酒驾,如果检查结果显示一切正常,无违规行为,则放行,否则拦截
程序也是如此,我们可以设置一个hook,在程序调用某功能的时候,我们有权让他是否调用,或者改变其返回的值
2.学习hook的条件
答:你需要以下几点:
1.持之以恒的学习心态和耐心 非常重要
2.至少懂得一门Win32编程语言,最好是C/C++,主要原因是方便,API所需要的结构,可以直接声明即可调用
3.OD的基本使用
4.基本的汇编指令,以及栈(先进后出的顺序)和堆
2.大纲
常见的几种hook方式
答:1.SetWindowsHookEx 消息钩子 需要注入器以及DLL才能修改其他进程
缺点:适用于消息类,比如键盘的输入以及鼠标的点击,非此类情况一般无法使用
2.Inline hook 分为 调试器方式(int 3 CC断点,OD就是使用这样的技术)以及 DLL注入(常用在API hook) 调试器方式未放源码,算给大家留个作业,希望大家在看完教程以后根据我讲的思路,自己用自己喜欢的语言重写一份
缺点:调试器方式 容易被壳检测,DLL注入方式注入到其他进程需要注入器以及DLL,比较不方便
3.IAT hook 导入表
缺点:如果是动态获取API调用,无法hook 局限性较大
3.IAT HOOK 必学图
4.指针和小端序
大家一定要记好我举的例子,苹果和箱子的故事,这样你在编程当中才能理解指针到底是什么,时间原因本来是想给大家演示一下指针在内存当中的样子,Pointer在Delphi中是将地址转换成指针 ^是取指针所指向的值,然后各种数据结构你只需要知道他的成员占多大的空间,是什么类型就可以了,小端序在视频中说了就不提了
后续如果有关于视频当中不懂的点,可以留言或者帖子@我,我看到会回答的,在此希望大家都能学会hook技术。
5.作品链接
链接: https://pan.baidu.com/s/1lzQYw6_x5pNNlDQkLJuoSQ 提取码: 2gub
作品、试练相关的程序要求统一加密码( www.52pojie.cn )压缩成Zip或7z格式压缩包,再上传至于百度网盘,在帖子中贴出下载地址,加密码防止百度无故和谐下载。 |
免费评分
-
查看全部评分
本帖被以下淘专辑推荐:
- · 鱼木收集|主题: 2527, 订阅: 2707
- · 学习及教程|主题: 1126, 订阅: 1118
- · 好帖|主题: 549, 订阅: 87
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|