乐易论坛-乐易网易语言培训教程火山PC视窗中文编程交流论坛

 找回密码
 立即注册

手机号登录

用手机号号登陆

微信登录

微信扫码,快速开始

QQ登录

用QQ账号登陆

办理VIP,定制软件,报名培训联系QQ[重磅]2024年实地培训高清培训目录火山PC版乐易模块使用教程
请牢记揰掵佲的QQ号1615457736 1615457734 其他都是骗子有了火山,易语言是否还有必要学习吗?易语言0基础入门课程
火山PC视窗0基础入门课程易语言外挂0基础入门课程火山PC视窗火山HOOK入门课程
易语言误报处理课程QQ空间POST课程2022年火山PC易语言POST系列课程
Android逆向Jeb动态调试0基础课程QQ邮箱网页POST课程WeChat个微Hook实战课程
百日Js加密分析实战课程(无密下载)QQ群POST课程h5游戏WebSocket逆向视频
JavaScript加密特训课程易语言汇编快速入门课程破解实战系列课程
[2024年]火山PC0基础x64位游戏内存辅助开发教程手游模拟器脚本0基础课程易语言加密防破解0基础入门课程
广告位招租联系QQ1615457736  
查看: 13287|回复: 0

[分析资料] 一种在Android模拟器下安装Xposed的方法

[复制链接]

[分析资料] 一种在Android模拟器下安装Xposed的方法

[复制链接]
已绑定手机
已实名认证
揰掵佲
等级头衔

等級:乐易运营组

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

积分成就
易币
贡献
主题
精华
金钱
积分
34243
注册时间
2014-8-2
最后登录
1970-1-1

勋章墙

2017-3-19 13:51:26 | 显示全部楼层 |阅读模式

据统计90%查看本帖的人,都已经注册本站了哦

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一种在Android模拟器下安装Xposed的方法
一种在Android模拟器下安装Xposed的方法

  本人菜鸟一个,研究androd没多久,最近想在模拟器(4.4版本,ARM)上面安装Xposed,本以为模拟器上面安装和真机一样,想不到遇到了一堆问题:
1、模拟器可以root(我用的是kingroot,显示root成功),但是xposed安装需要root权限的时候获取不到root。而且模拟器重启后kingroot就显示模拟器root失效。猜测可能是模拟器禁止任何程序修改system.img镜像文件。即使可以在/system目录下写文件,这些文件并没有保存在system.img中,模拟器重启之后就恢复到原来的状态。那么Xposed的App_process就无法替换/system/bin/app_process


2、于是我们就需要通过其他方式将app_process写进去。在ubuntu下执行“sudo mount -t ext4 -o loop system.img system/”,将system.img挂载到新建的system文件夹,然后将xposed安装包里面的app_process(通过解压apk获得)替换system/bin/app_process


3、本以为这次应该没有什么问题了,重启模拟器后发现Xposed还是显示没有安装成功。于是去看logcat,发现日志中有一句“ERROR: Could not access Xposed jar '/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar”。于是进入该目录下查看到底有没有这个文件,结果发现文件存在,而且所有用户都可读。思考了半天,猜测可能是app_process启动的时候,需要加载XposedBridge.jar ,但是模拟器还没有挂载userdata-qemu .img文件到/data目录(纯属瞎蒙,不知道对不对)


4、那么我们可以将这个文件放到userdata-qemu .img中试试。在ubuntu下执行“sudo mount -t ext4 -o loop userdata-qemu.img data/”(注意这个userdata-qemu.img是模拟器配置目录下的那个镜像,不是sdk里面那个userdata.img),将 XposedBridge.jar(通过解压apk获得)复制到system/framework/目录下面,注意给所有用户可读权限。同时用ida打开Xposed的app_process文件,将代码里面的路径字符串“/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar”修改为“/system/framework/XposedBridge.jar”(当然也可以通过修改源代码编译生成),将修改过的app_process用第二步的方法放入system.img中


5、 本以为这次应该没有什么问题了,重启模拟器后发现Xposed还是显示没有安装成功。于是去看logcat,发现日志中有一句“Could not move /data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar.newversion to  /system/framework/XposedBridge.jar”。原来app_process启动的时候会检查“/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar.newversion ”是否存在,如果存在就将该文件替换为到/system/framework/XposedBridge.jar(是我第四步修改的路径),是一种XposedBridge.jar更新机制。因为system.img文件无法被修改,那么这个步骤就会报错。XposedBridge.jar.newersion文件是XposedInstaller启动后自动生成的,所以要么改XposedInstaller,要么该app_process,我选择的是将app_process里面的“/data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar.newversion”字符串修改为一个不存在的文件名(用16进制编辑器或者直接源代码编译生成)。


6、本以为这次应该没有什么问题了,重启模拟器后发现Xposed还是显示没有安装成功。 于是去看logcat,发现日志中有一句“java.io.FileNotFoundException: /data/data/de.robv.android.xposed.installer/bin/XposedBridge.jar: open failed: ENOENT (No such file or directory)”,由于是java异常,所以猜测是XposedBridge会获取 XposedBridge.jar文件里面的某些信息,而它默认自己安装在/data/data/de.robv.android.xposed.installer/bin目录下,但是之前我已经将该文件复制到/system/framework下。所以要么修改XposedBrdige.jar源码然后编译,要么复制一份XposedBrdige.jar到/data/data/de.robv.android.xposed.installer/bin目录下,我选择来后者。


7、模拟器重启运行,成功。附件是修改后的app_process
app_process_modifid.zip (10.47 KB, 下载次数: 3)
回复

使用道具 举报

如果懒得打字,请选择右侧内容快捷回复 提醒:以任何方式进行『恶意灌水』的行为,进行封号处理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

热点推荐上一条 /5 下一条

QQ|网站地图|手机版|小黑屋|乐易论坛-乐易网 | 湘ICP备19007035号

拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表乐易立场!

娄底市乐易网络科技有限公司声明:乐易原创培训课程版权均为我公司所有,未经许可,不得擅自翻录,盗版,破解本站课课程,我们将保留法律诉讼的权利

GMT+8, 2024-5-20 05:48 , Processed in 0.054373 second(s), 39 queries .

Powered by Discuz! X3.4

Copyright © Tencent Cloud.

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