首页
论坛
课程
招聘
[原创]App免Root加载Xposed模块的工具(换种思路实现Xpatch)
2021-9-3 17:33 7387

[原创]App免Root加载Xposed模块的工具(换种思路实现Xpatch)

2021-9-3 17:33
7387
收藏
点赞2
打赏
分享
最新回复 (43)
雪    币: 230
活跃值: 活跃值 (325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆向小学生 活跃值 2021-9-6 17:25
26
0
tDasm 拿不出东西就抄,这是你的真实写照。你不知道有winhex或10editor?可以直接修改dex文件结构及smali字节码?
你这种人我能想象出来的现状。
1. 自大
2. 看了几篇概念性的东西就觉得自己会了
3. 不动手,其实啥也不会,觉得自己啥也会
4. 看别人东西,看一丢丢,就说自己仔细看了,然后其实啥也没看懂就装懂。  
5. 啥都觉得自己懂,其实你啥也不懂!因为你几乎没动手操作过,就纸上谈兵了
6. 你这样种程序员就是很多人的通病,不动手,不谦虚,永远提升不了。

奉劝你,仔细看看别人的代码,看看别人的精华,你给我发的任何东西,我发现你都没仔细看。然后在这装懂。你连Xpatch如何注入的hook框架源码都不知道,就一个劲的说我只增加了个dex,你去看看最麻烦的是dexlib2修改dex,然后回写
雪    币: 1537
活跃值: 活跃值 (2666)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lhxdiao 活跃值 2021-9-6 20:00
27
0
http://spatch.die.lu
爹撸SPatch
https://typedef.cn
爹撸博客
以前做过类似的工具,实现会更好一些,经过两年的迭代目前对非加固应用支持较好。如需加固应用支持可以使用商业插件。
另有非修改安装包模式,也在应用内有集成,具体使用方法在爹撸网里面有。
雪    币: 1869
活跃值: 活跃值 (2699)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
virjar 活跃值 1 2021-9-6 21:04
28
0
https://github.com/virjarRatel

传说中的平头哥,已经开发三年多了,完全的商业化代码,现在全部开源免费使用。
渣总slogan:让这个行业更卷一点儿
在线文档(完善中):http://ratel-doc.virjar.com/
雪    币: 179
活跃值: 活跃值 (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小白熊 活跃值 2021-9-7 01:14
29
0

apk的资源文件被压缩的话重新打包就会出现无法找到资源文件的问题,可有办法解决呢,xpatch目前也存在这个问题

https://github.com/WindySha/Xpatch/issues/91

最后于 2021-9-7 01:56 被小白熊编辑 ,原因:
雪    币: 8381
活跃值: 活跃值 (1250)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 活跃值 2021-9-7 08:07
30
0
逆向小学生 你这种人我能想象出来的现状。 1. 自大 2. 看了几篇概念性的东西就觉得自己会了 3. 不动手,其实啥也不会,觉得自己啥也会 4. 看别人东西,看一丢丢,就说自己仔细看了,然后其实啥也没看懂 ...
所谓换个思路,原来是抄别人的或者说是偷别人,最后只是自找死路。被别人揭露出来的还理直气壮?还有这么厚颜无耻的人?难怪你在论坛文章里只字不提怎么直接修改dex。这个论坛有几个会看你的垃圾代码?不看你的垃圾代码就是自大?你这是什么逻辑?
通过这些,别人已经看清的你的抄袭无耻的面目,你赶快挖洞钻进去,不要在这里丢人。说什么不能再加固,别人发帖已经证明你的无知。这是引用他的发帖:“以前做过类似的工具,实现会更好一些,经过两年的迭代目前对非加固应用支持较好。如需加固应用支持可以使用商业插件。”来打你的脸!!!!
雪    币: 230
活跃值: 活跃值 (325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆向小学生 活跃值 2021-9-7 08:58
31
0
tDasm 所谓换个思路,原来是抄别人的或者说是偷别人,最后只是自找死路。被别人揭露出来的还理直气壮?还有这么厚颜无耻的人?难怪你在论坛文章里只字不提怎么直接修改dex。这个论坛有几个会看你的垃圾代码?不看你的垃 ...

我只想问你你会什么??
1. 加固应用支持可以使用商业插件,来你讲个原理和思路!
2. 你前面说 `你这个生成新的apk速度快但运行速度会有一点影响而且如果再加固的话影响会更大` 我问你速度和Xpatch比影响是在哪?加固的话影响比Xpatch大在哪?
3. dexlib2 库是干嘛的?
4. Xpatch是怎么注入Hook框架代码的?咋注入的执行代码的?
你就是啥也不懂!就在那一直说些有的没的和你说这个你说那个!  
来回答问题,详细点别光BB,给方案。


是不是被我前面打脸了几次,揭穿了你个啥也不会就乱BB的人,很恼怒呀??哈哈

还有别人做出来是别人的事情,你有啥骄傲的??我说别人搞不出来加固的了?你能搞出来吗?你这么厉害我等你开源

最后于 2021-9-7 09:04 被逆向小学生编辑 ,原因:
雪    币: 1869
活跃值: 活跃值 (2699)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
virjar 活跃值 1 2021-9-7 09:36
32
0
小白熊 apk的资源文件被压缩的话重新打包就会出现无法找到资源文件的问题,可有办法解决呢,xpatch目前也存在这个问题https://github.com/WindySha/Xpatch/issues/91
平头哥很早就解决这个问题了。解决方案见链接: https://github.com/virjarRatel/ratel-core/blob/master/container-runtime-repkg/src/main/java/com/virjar/ratel/runtime/fixer/AssertFixer.java

出现你这个问题的原因:
      //我们需要在io重定向之后,重构assetManager对象,否则app使用重构前的apk文件维护zip索引信息,使用新的文件作为内容体。在asset关闭重开后会数据紊乱
            //否则使用Android自带刷新机制来刷新asset数据,这可能引发application重复加载。android认为apk文件改变,那么应该重新触发application加载
            //但是application的加载代码可能存在副作用,比如往静态空间写入flag等
雪    币: 1869
活跃值: 活跃值 (2699)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
virjar 活跃值 1 2021-9-7 09:42
33
0
virjar 平头哥很早就解决这个问题了。解决方案见链接: https://github.com/virjarRatel/ratel-core/blob/master/container-runtime-repkg ...

哦哦,我看错了。xpatch没有IO重定向机制,他那里出现你这个问题的原因是需要被store的资源他进行了压缩。其实属于他的错误处理。但是从更底层来说,重打包之后涉及到文件指纹发生了变化,所以需要修复文件指纹。文件指纹包括从文件系统获取到的文件数据以及已经打开到并映射到内存的内存数据修正。

最后于 2021-9-7 09:44 被virjar编辑 ,原因:
雪    币: 230
活跃值: 活跃值 (325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆向小学生 活跃值 2021-9-7 10:01
34
0
virjar 平头哥很早就解决这个问题了。解决方案见链接: https://github.com/virjarRatel/ratel-core/blob/master/container-runtime-repkg ...
@tDasm 看看人家 有问题 给解决方案

大佬我看你问题
application的加载代码可能存在副作用,比如往静态空间写入flag等
你是想说静态代码块中有初始化静态变量吗?哪如果我判断了是否存在静态代码块,如果存在将指令插在第一条呢?因为插入的是一条静态指令,也不会影响整个方法的registerCount,这样还有啥坑呢?
雪    币: 30
活跃值: 活跃值 (437)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
twsxtd 活跃值 2021-9-7 10:13
35
0
看得我好尴尬。。。逃(
雪    币: 1869
活跃值: 活跃值 (2699)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
virjar 活跃值 1 2021-9-7 10:29
36
0
逆向小学生 @tDasm 看看人家 有问题 给解决方案 大佬我看你问题 application的加载代码可能存在副作用,比如往静态空间写入flag等 你是想说静态代码块中有初始化静态变量吗?哪如果我判断 ...
说的不是你这个问题,application加载副作用是这样的一个场景。

就是你对app进行重打包,重打包之后其实签名变了,虽然现在可以hook PM过掉签名,但是在底层还是有可以通过自行解析文件的方式获取真实签名。这也是xpatch为啥过不了很多壳的原因。因为在native层很容易就发现不对了

为了解决这个问题,我们需要在native处理文件指纹问题,核心方法就是对文件读写函数进行hook。技术名词叫做“IO重定向”。处理过程就是当app native代码读取apk文件的时候,把这个文件重定向到没有改包之前的原apk文件,这样指纹和app内容都是没有改变的。

但是当IO重定向上了之后,又导致了连带的副作用,如果单纯的io重定向,在IO重定向前后,Android framework层面的表现就是app启动一瞬间,apk文件发生了变化(他看到app刚打开和现在apk的文件修改时间发生了变化)。在Android framework层面来说,由于本身就要支持dex热加载,所以这个时候他认为apk变化了,框架就会重新再反射创建一次application,application的onCreate生命周期会被调用两次。
我这里说说的application加载副作用则是这个场景发生。

所以我们需要处理掉Android framework对于这个副作用的问题,这个时候就是需要重构assetManager,在assetManager中间又会遇到坑。因为在我们的静态代码执行之前,其实apk已经被打开了,有一些apk的数据已经被加载到内存当中,当我们进行io重定向之后,文件系统的文件和内存里面的数据对不上。就各种崩溃
雪    币: 230
活跃值: 活跃值 (325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆向小学生 活跃值 2021-9-7 11:12
37
0
virjar 说的不是你这个问题,application加载副作用是这样的一个场景。 就是你对app进行重打包,重打包之后其实签名变了,虽然现在可以hook PM过掉签名,但是在底层还是有可以通过自行解析文件 ...

好吧 大佬 只看懂了前半部分!!
我还是把你上面那个问题解决下吧!!我刚看了apktool的源码 的确有记录一部分文件不能被压缩  `doNotCompress` 节点下。


还挺麻烦的 不能把它简单的当成个zip处理

最后于 2021-9-7 11:18 被逆向小学生编辑 ,原因:
雪    币: 179
活跃值: 活跃值 (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小白熊 活跃值 2021-9-7 11:26
38
0

好的,谢谢大佬@virjar

最后于 2021-9-7 11:27 被小白熊编辑 ,原因:
雪    币: 1869
活跃值: 活跃值 (2699)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
virjar 活跃值 1 2021-9-7 11:31
39
0
逆向小学生 virjar 说的不是你这个问题,application加载副作用是这样的一个场景。 就是你对app进行重打包,重打包之后其实签名变了,虽然 ...
肯定不是简单的zip,有些资源需要压缩,有些资源需要store,还涉及有些需要对齐。牛逼的是有些app会直接mmap读取apk数据,就算你处理了store和压缩,你没有对齐也能导致app崩溃
雪    币: 179
活跃值: 活跃值 (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小白熊 活跃值 2021-9-7 11:44
40
0
virjar 肯定不是简单的zip,有些资源需要压缩,有些资源需要store,还涉及有些需要对齐。牛逼的是有些app会直接mmap读取apk数据,就算你处理了store和压缩,你没有对齐也能导致app崩溃
太复杂了,看来我是解决不了了,坐等xpatch作者和各位大佬们解决
雪    币: 230
活跃值: 活跃值 (325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆向小学生 活跃值 2021-9-7 13:53
41
0
小白熊 太复杂了,看来我是解决不了了,坐等xpatch作者和各位大佬们解决
帮你解决了!!!
关于大佬的对齐问题还得研究研究!我测试WX 和 你说的没问题了!
雪    币: 179
活跃值: 活跃值 (116)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小白熊 活跃值 2021-9-7 13:57
42
0
逆向小学生 帮你解决了!!! 关于大佬的对齐问题还得研究研究!我测试WX 和 你说的没问题了!
感谢感谢,给你一千万颗❤️
雪    币: 8381
活跃值: 活跃值 (1250)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
tDasm 活跃值 2021-9-30 10:33
43
0
逆向小学生 @tDasm 看看人家 有问题 给解决方案 大佬我看你问题 application的加载代码可能存在副作用,比如往静态空间写入flag等 你是想说静态代码块中有初始化静态变量吗?哪如果我判断 ...
说你是文抄公,说你是偷别人的思路,就要回答你的问题?你这是什么逻辑?脑残了?
雪    币: 230
活跃值: 活跃值 (325)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆向小学生 活跃值 2021-9-30 11:06
44
0
tDasm 说你是文抄公,说你是偷别人的思路,就要回答你的问题?你这是什么逻辑?脑残了?

别骂人呀!有大佬失风度啊!有啥生气的,就是想和你这种人聊聊你这种人的心理。

我建议你看看这个!!你很像 王自如
https://haokan.baidu.com/v?pd=wisenatural&vid=4181455691207763587
说别人这不行那不行,问你为啥,你还说不出个原因。这不是耍流氓吗??

你说我抄,我说我没抄!

我说你看这块代码,你说我不看!

这就是赤裸裸的耍流氓!

最后于 2021-9-30 17:37 被逆向小学生编辑 ,原因: 改错
游客
登录 | 注册 方可回帖
返回