竹笋

首页 » 问答 » 灌水 » FridainlineHook原理分析
TUhjnbcbe - 2022/7/21 10:15:00

本文为看雪论坛出色文章看雪论坛做家ID:abucs

近期忽然发觉64位APP分化需求激增,但是手边好用的inlineHook惟有Frida一款,以是筹算微小探索下Frida的思绪,以做鉴戒,尔后写一款满意简捷私用需求的AArch64inlineHook用具。

FridainlineHook思绪分化遵循以前开采AArch3inlineHook框架的阅历,归纳inlineHook框架开采的几个关键点大概以下:

动态更换需求Hook的指令片断为一段过程揣度的跳板指令,即trampoline,宗旨为咱们揣度好的一段shellCode

在内存中揣度并生成一段shellCode,这是咱们的可控shellCode,在该shellCode中需求完结Hook的性能函数(即打印/更换-参数/成效)

shellCode的揣度准则是坚持Hook先后的栈均衡,并爱护存放器形态(即Hook竣事后,坚持与Hook开端前一致的栈布局与存放器形态)

在shellCode中告竣原函数的实行做事,被更换的掉的指令中若包括揣度PC-relativeaddress(如Branch指令),需求对其准确分化实行

对我来讲一个简捷的用具只需满意前3点就充满了,第4点待后续优化的时刻从新完备,以是咱们接下来看看Frida是怎样告竣以上这几点的。Step1:首先咱们简捷编写一个
1
查看完整版本: FridainlineHook原理分析