学破解论坛

 ★找回密码★
 ★免费注册★

QQ登录

绑定QQ,免密登录

查看: 3882|回复: 116

[原创逆向图文] 【新年礼物】Alps_SuperHook 骨灰级剖析

  [复制链接] |关注本帖

  离线 

签到天数: 58

该用户今日未签到




本帖最后由 Alps 于 2020-2-25 12:51 编辑

定场诗:
道德三皇五帝,功名夏后商周。五霸七雄闹春秋,顷刻兴亡过手。
青史几行名姓,北邙无数荒丘。前人播种后人收,说甚龙争虎斗。

各位看官猜猜看礼物是什么呢?....

3......
2.....
1...

书归正传
Alps_SuperHook(后文简称ASHook)是一个易语言的hook类模块

ASHook(Alps)与Hook4E(BaZzi)、超级Hook(某鬼作坊)的比较:

阿尔卑斯         ASHook          HooK4E          超级Hook
读写寄存器       稳定高效          不支持        BUG多不稳定
Hook JCC           不支持              支持              不支持
Call原函数           支持                支持              不支持
读写方式             汇编                 API                  API
接口hook            支持                支持               不支持                                                                                       
插入汇编代码      支持              不支持              支持


怎么样~ 心动了叭 各位看官请留步,且听我娓娓道来...

ASHook由6个部分组成:第一部分是Start(开始hook)

7}FGGN4A6VCT[$ZTF2YSC@7.png
Hook_Addr:提供被hook的地址
例如:
0040101A    8945 FC         mov dword ptr ss:[ebp-0x4],eax0040101A是十六进制 把它转换成十进制 等于 4198426  所以地址这里填写 4198426

CallBack:提供子程序指针,当程序走到被hook的地址后,会调用这个你用来打补丁的子程序。
例如:
0040101A    8945 FC         mov dword ptr ss:[ebp-0x4],eax
当程序运行到0040101A的时候,想让他调用自己的子程序来执行补丁代码,这里就写你打补丁对应的子程序


Hook_Len:被占用的汇编代码的字节长度,这一点跟超级hook是一样的。
例如:
004C4B35    8915 D84B5600   mov dword ptr ds:[0x564BD8],edx
89 15 D8  4B 56 00
1   2   3    4    5   6
在004C4B35这个地址hook, 此时长度应该填写6 因为mov dword ptr ds:[0x564BD8],edx有6个字节

0040101A    8945 FC         mov dword ptr ss:[ebp-0x4],eax
0040101D    BB 06000000     mov ebx,0x6
89 45 FC BB 06 00 00 00
1   2   3   4   5   6   7   8
在0040101A这个地址hook, 此时长度应该填写8
因为0040101A    8945 FC         mov dword ptr ss:[ebp-0x4],eax 不足5个字节

一个长的jmp占用5个字节 所以要占用两行代码  这两行代码有8个字节

Hook_Index:这个序号对应的是寄存器的数组序号,用来读写对应的寄存器。
例如:
第一个hook 这里填1,第二个填2...后面读写寄存器 会用到这个序号 AsHook.ReadValue (1)
HookData [1].Reg.EAX = 1
AsHook.WriteValue (1)

Mode:ASHook提供两种模式的hook 0是插入式,1是转接式。
区别:
0插入式:JMP进入中转站,中转站保存寄存器值,中转站Call CallBack,执行完CallBack恢复寄存器,执行被占用的汇编代码,JMP出中转站.
模式0.png

1转接式:JMP进入中转站,中转站保存寄存器值,中转站JMP CallBack.

模式1.png

补丁写法为:

登录补丁代码.png

InjectCode:模式0:在调用完Call Back后 被hook占用的代码之前,插入一段可以自定义的汇编代码。
例如:
当程序走到被hook的地址时,给EAX赋值为1
AsHook.Start (4198785, &修改登录结果2_模式0, 6, 2, 0, { 184, 1, 0, 0, 0 })  ' { 184, 1, 0, 0, 0 } = mov eax,1

InjectCode.png

模式1:Call原函数的时候,会先执行InjectCode,然后再执行原函数。

模式1JnjectCode.png


第二部分是Stop(停止hook)
恢复被hook占用的字节,不再继续hook。AsHook.Stop (1)  这里的1 是Hook_Index 也就是前面Start设置的序号。


第三部分是Continue(继续hook)
之前Stop停止的hook 可以调用Continue 直接继续hook。AsHook.Continue (1)  这里的1 是Hook_Index 也就是前面Start设置的序号。


第四部分是ReadValue(读寄存器值)
不论是要读或者写 寄存器 都要先调用该函数。
AsHook.ReadValue (1)
然后可以用HookData [1].Reg.XXX 来获取对应寄存器的值
这里的1 同样是Hook_Index


第五部分是WriteValue(写寄存器值)
需要先调用AsHook.ReadValue (1)
HookData [1].Reg.XXX = XXX   // 对寄存器赋值
然后调用AsHook.WriteValue (1)



第六部分是Call原函数

用处在很多地方都能体现,例如抓某某验证的返回数据,找到他函数头,用模式1hook,然后调用它原函数,你就可以获取到他的参数和返回值了。


.子程序 接管登录子程序2_模式1, 逻辑型
.参数 登录密码, 文本型
.局部变量 ret, 整数型

ret = Alps_Call (HookData [4].FuncAddr, 取变量地址 (登录密码))
信息框 (“原函数执行结果:” + 到文本 (ret) + “获取到登录密码:” + 登录密码, 0, , )
返回 (真)



下载地址:
游客,当前主题有一部分内容已经设置隐藏,需要回复才能查看全部内容。

评分


每日系统赠送“免费评分”
评分不仅是免费的,还能提升你自己账号的活跃度。既感谢了楼主,又提升了自己。可谓一箭双雕!何乐而不为?评分安排上!

参与人数 22威望 +1 HB +83 THX +22 收起 理由
FleTime + 1 + 1 [快捷评语]--你将受到所有人的崇拜!
M赵山河W + 1 + 1 调用了stop,申请地址没有释放。。
残渣小翁 + 6 + 1 阿尔卑斯牛逼
何夕 + 1 + 1
ttcctt + 1 + 1 [快捷评语]--你将受到所有人的崇拜!
hao11242536 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
叩瞳白蓝 + 4 + 1 好用一批
FrankBoy + 4 + 1 [快捷评语]--你将受到所有人的崇拜!
50311048 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
892644330 + 4 + 1 [快捷评语]--你将受到所有人的崇拜!
macolma + 1 + 1 [快捷评语]--积极评分,从我做起。感谢分享!
wxfhf520 + 1 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
海东 + 5 + 1 小虫来评分
【By】岁月无痕 + 10 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!
蜜蜂. + 2 + 1 tql
萌萌的小短腿 + 2 + 1 [快捷评语]--你将受到所有人的崇拜!
难顶。 + 1 + 1 [快捷评语]--你将受到所有人的崇拜!
梨花压海棠丶 + 5 + 1 [快捷评语]--你将受到所有人的崇拜!
HlccFu + 5 + 1 [快捷评语]--你将受到所有人的崇拜!
Shark恒 + 1 + 20 + 1 [快捷评语]--你将受到所有人的崇拜!
Jewel + 4 + 1 [快捷评语]--你将受到所有人的崇拜!
FFFFFFFF + 3 + 1 太强了

查看评分详情

学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 58

该用户今日未签到




本帖最后由 Alps 于 2020-2-25 04:18 编辑

欢迎提出建议
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 31

该用户今日未签到




就等你的下载地址了
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 104

该用户今日未签到




Alps大佬牛批,小弟来占楼了
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 104

该用户今日未签到




阿尔卑斯大佬把下载地址也补上吧
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  在线 

签到天数: 258

该用户今日未签到




支持64位程序hookapi不?
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 216

该用户今日未签到




我想要汉化版
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 59

该用户今日未签到




这贴精华顶了
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 141

该用户今日未签到




阿尔卑斯大佬牛批!!!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!

  离线 

签到天数: 11

该用户今日未签到




你将受到所有人的崇拜!
学破解论坛关注PC软件安全与移动软件安全领域。学习破解方法,使软件开发者能够更好的弥补软件缺陷,修复软件漏洞,提升软件安全,将损失降为最低。大量的软件加密解密教程,使软件开发者与代码逆向分析爱好者受益颇多,因此被连连称赞。保护开发者的利益与版权是我们持之以恒的动力!学破解论坛将竭尽全力为软件安全领域献出微薄之力!
您需要登录后才可以回帖 登录 | 立即注册

获得更多积分,阅读本版加分规则

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者其他任何非法用途!否则,一切后果请用户自负!

站长邮箱:SharkHeng#iCloud.com


站长微信号:SharkHeng|联系Email|鲨鱼逆向|无图版|手机版|小黑屋|FAQ|VIP破解教程|学破解论坛 ( 京公网安备 11011502002737号 | 京ICP备14042738号 )

GMT+8, 2020-10-28 01:14

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