Jiahao Chen

Results 10 comments of Jiahao Chen

好的前辈!接口的设计我会后续思考并尝试更新。目前这边接口和结构设计参考的是腾讯游戏安全实验室的结构。 指令修复上参考了elexxh前辈的项目并在使用中遇到如下问题: 我原本测试的目标中短短12bytes内居然出现了bls b连用的情况,并且那个b更骚,跳的范围依然是备份代码里。这时候elexxh前辈的指令修复中无法修复条件跳转BLS,会把条件跳转全都误以为是B,并且会按照绝对地址跳转回了原程序中已经被覆盖为跳转代码的部分。 本项目中把14个条件跳转做了重新修复,并且跳转相关指令都对跳转地址进行了判断,解决了依然跳入备份区域的尴尬。 毕竟比elexxh前辈的项目晚了好几年,前辈的使用习惯就按照自己感觉来吧。学生我会思考接口的改进的~

不是这样滴~ 第一句的作用并不仅仅是求得16byte的栈空间,还需要把R0先暂时保存下来。 之后还有一句pop {r0}是恢复R0。 因此不建议把push {r0, r1, r2, r3}变成sub SP, SP ,#16 ---------------------------------------------------------------------------------------- OK, I understand your question. The first "push {r0, r1, r2, r3}" is not just for 16...

回答bitefoo的问题:默认是thumb模式编译,因此没有“LOCAL_ARM_MODE := arm”的话,就会优先编译成thumb指令集,而本项目中即便是thumb目标的应用,stub和hook_function也需要用arm编译。因此官方默认的thumb优先会影响本项目,所以本项目强制用“LOCAL_ARM_MODE := arm”来保证stub和hook_function部分一定是arm模式。

static bool is_greylisted(const char* name, const soinfo* needed_by) 我把这整个函数直接return true了。 任何可以注入进进程的方法都可以的,不过别的方法可能会影响本库中__attribute__((constructor))自动执行,可能需要自己想办法调用这个so库里的hook功能函数。

都可以的~ 发送自 Windows 10 版邮件应用 发件人: QiYueLengYu 发送时间: 2019年2月27日 10:36 收件人: GToad/Android_Inline_Hook 抄送: GToad; Author 主题: Re: [GToad/Android_Inline_Hook] 《Android Native Hook工具实践》文章中的疑问 (#4) 细节一中在确定thumb2要备份指令大小时,为什么不直接从首地址开始向后确定每条指令的类型来决定备份8 字节,10字节 or 12 字节,而是从后向前判断疑似指令来确定? — You are...

arm64目前还不支持,本人目前正在积极选购arm64测试设备。VA我一直有关注,那个项目中的native hook功能我不怎么用,因为比较麻烦,它是为了VA本身的运行而设计的,不是为了测试app而设计。 我这边的目标app反VA反调试比较凶,所以需要一个比较纯粹的native hook。

本人目前arm32+thumb2用的是两台nexus5安装4.3和6.0进行开发的。 请大佬们推荐合适的arm64易root设备。

关于文章中的疑问,我新开了一个issue,我在那里回答哈,这样也方便我定期从那个issue里找东西更新文章