当前位置: 首页 > news >正文

北京网站的建立的成都科技网站建设电话多少

北京网站的建立的,成都科技网站建设电话多少,创业商机网餐饮,专业公司网站开发服务导语 学了一段时间的XPosed#xff0c;发现XPosed真的好强#xff0c;只要技术强#xff0c;什么操作都能实现... 这次主要记录一下我对这款应用的逆向思路 apk检查 使用MT管理器检查apk的加壳情况 发现是某数字的免费版本 直接使用frida-dexdump 脱下来后备用 应用分…导语 学了一段时间的XPosed发现XPosed真的好强只要技术强什么操作都能实现... 这次主要记录一下我对这款应用的逆向思路 apk检查 使用MT管理器检查apk的加壳情况 发现是某数字的免费版本 直接使用frida-dexdump 脱下来后备用 应用分析 进入应用之后会发现里边含有登录 会员等模块我们先不管登录的部分先检查会员的使用场景一般在会员的使用场景或者显示场景中都会有检查是否是VIP的业务逻辑根据这个来加载显示不同的资源 会员分析 通过对应用的检查发现在添加虚拟机设备的时候用到了会员权限 同时弹出一个对话框应用也贴心的告诉我们VIP的使用场景 打开算法助手算法助手对应用进行了常见功能的Hook最重要的是支持免费加固的Hook 将这3项勾选 重复1、2步在日志中检查OnClick和弹窗是否有用的信息 很幸运在这一步就获取有关的逻辑 且函数名称并没有被混淆能够从调用堆栈读出以下逻辑点击下载按钮-检查是否VIP-用户没有登录-显示购买VIP的弹窗 打开jadx将脱壳后的dex文件载入搜索checkVip 选择第一个函数发现无有用信息继续进入checkVip函数 在此函数中发现getUserConf即获取用户的配置  通过对此函数的阅读得出此函数的返回值为UserBean  然后检查UserBean  很明显有关VIP的数据都在此使用XPosed来修改这些成员变量即可达到对显示UI的修改即使服务器对这些数据有校验也不影响至少在UI层面已经成功了 抓包分析 使用抓包工具检查网络请求当点击底部的导航栏的时候应用会发送网络请求 通过检查getInfo获取一个Post请求的链接对此链接进行引用查询发现有关用户的逻辑  对此链接进行引用查询发现有关用户的逻辑阅读此函数网络请求库可能为Retrofit当请求成功的时候会将用户的信息保存起来并移除广告同样也能得到UserBean这个关键的信息 编写插件 思路 通过对应用的分析可以得出一个关键的信息getUserConfgetUserConf函数右键-复制为XPosed片段 1 2 3 4 5 6 7 8 9 10 XposedHelpers.findAndHookMethod(com.vmos.pro.account.AccountHelper, classLoader, getUserConf, new XC_MethodHook() {     Override     protected void beforeHookedMethod(MethodHookParam param) throws Throwable {         super.beforeHookedMethod(param);     }     Override     protected void afterHookedMethod(MethodHookParam param) throws Throwable {         super.afterHookedMethod(param);     } }); 可以看到jadx为我们一键生成了有关的Hook代码但是这样就行了吗我可以告诉你不行。别忘了这是一个加壳的应用即使它是一款免费的加壳 加壳应用Hook 通过对网上公开资料的查询发现即使应用加固也需要在运行时进行还原修复使用jadx打开加固的apk文件找到attachBaseContext 1 2 3 4 5 6 7 8 9 XposedHelpers.findAndHookMethod(com.stub.StubApp, param.classLoader, attachBaseContext, android.content.Context.class, new XC_MethodHook() {     Override     protected void afterHookedMethod(MethodHookParam param) throws Throwable {         super.afterHookedMethod(param);         Context context (Context) param.args[0];//获取运行时的Context         ClassLoader classLoader context.getClassLoader()//获取真正的ClassLoader         //在此添加Hook VIP等操作使用classLoader     } }); 继续编写 获取到正确的ClassLoader后对getUserConf函数的返回值进行遍历 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 XposedHelpers.findAndHookMethod(com.vmos.pro.account.AccountHelper, classLoader, getUserConf, new XC_MethodHook() {     Override     protected void afterHookedMethod(MethodHookParam param) throws Throwable {         Object UserBean param.getResult();         for (Field field : UserBean.getClass().getDeclaredFields()) {             //设置可访问, 极其重要, 不然会崩溃             field.setAccessible(true);             //使用反射来获取运行时的数据             var name field.getName();             var type field.getType();             var value field.get(UserBean);             Log.i(HookTag, name : value);         }         super.afterHookedMethod(param);     } }); Hook完成后能够发现nickName是正确的能够对应上UI的显示   接下来只需要对循环里的数据进行判断赋值然后返回即可 1 2 3 4 5 6 7 8 9 10 //修改名称其他自行测试 for (Field field : UserBean.getClass().getDeclaredFields()) {     ......     if (name.equals(nickName)) {         field.set(UserBean, 测试文字);     } else if(......) {         ......     } } param.setResult(UserBean);//设置返回值替换掉param.getResult()获取的 UI显示和下载功能 插件下载破解 获取到VIP后发现还有一个插件下载的逻辑没有效果 下载逻辑分析 当点击Root或者XPosed的时候会提示加载失败  但是点击谷歌服务的时候却有效果猜测是网络请求 打开抓包工具通过对两者的对比发现是其中少了一些数据所以才会加载失败 在jadx中搜索getPluginUrl通过阅读此函数发现有2个匿名函数failure和success  使用jadx默认给我们的参数Hook不太行这时候需要使用其他函数来获取vu 1 2 3 4 5 6 7 8 9 10 11 //vujo4.class 无法获取 //使用loadClass来获取在参数中填写vu即可 Class? vu classLoader.loadClass(vu); XposedHelpers.findAndHookMethod(com.vmos.pro.activities.main.fragments.PluginHelper$getPluginDownloadBean$2$1, classLoader, success, vu, new XC_MethodHook() {     Override     protected void beforeHookedMethod(MethodHookParam param) throws Throwable {         Log.i(HookTag, success: Arrays.toString(param.args));         super.beforeHookedMethod(param);     } }); //或者使用XposedBridge.hookAllMethods 通过对这两者的Hook当点击Root插件按钮时会进入success且参数为 1 2 谷歌服务按钮success: [CommonResult{code0, msgOK, dataRespPlugin{systemPluginResultRespPluginInfo{pluginUrlhttp://xxx/xxx/plugin/android71gp_plugin-64bit3.zip, pluginMd562c38ec6b509e546e9fe9566969f7c49, version0}}}] Root按钮success: [CommonResult{code0, msgOK, dataRespPlugin{systemPluginResultnull}}] 可以明显发现其中确实是少了一些数据接下来只需要补齐下载链接即可但是如何获取这个链接呢 充值VIP获取其中的链接扫描网站链接?或者找到一个函数获取?猜测 上面2点显然不是我能够解决的2333那就通过对链接的猜测吧根据能够下载的谷歌服务链接来看root和xposed可能为 http://xxx/xxx/plugin/android71root_plugin-64bit.ziphttp://xxx/xxx/plugin/android71xposed_plugin-64bit.zip通过一系列猜测得出来正确的下载链接MD5的话只需要在终端输入md5 file即可得到 阅读函数检查参数发现具体的链接在vu中的data但是返回类型是T这就比较麻烦了 这里采用一种比较麻烦的方法来修改 Hookvu类的m49633函数获取返回结果遍历返回结果的Fields找到含有systemPluginResult的field使用field.getType()获取到Class? jo4使用jo4.newInstance()创建一个实例ret再次遍历ret.getDeclaredFields()根据pluginMd5和pluginUrl分别赋值到ret中最后使用field.set(data, ret);赋值即可具体代码截图pluginMd5和pluginUrl是我获取的正确链接就不公布了
http://www.pierceye.com/news/122173/

相关文章:

  • 做网站全部乱码怎么办网络平台销售
  • wordpress建立移动m站wordpress免费主题企业
  • 珠海市网站建设重庆建站公司网站模板
  • 网页设计与网站开发pdf备案网站可以做接码平台么
  • 国外网站国内备案南京网站seo优化公司
  • 岱山县网站建设网站后台管理系统怎么上传
  • 做网站需要什么东西重庆市招投标网官网
  • 潢川手机网站建设戴尔公司网站开发的经营目标
  • 创建网站代码是什么问题wordpress屏蔽广告插件下载
  • 网站接入服务提供商纪检网站建设计划
  • 佛山做网站公司有哪些做拆分盘网站
  • 沈阳做微网站注册一个有限公司需要多少钱
  • 网站首页logo怎么修改优化方案英语答案
  • 东南亚网站建设市场用照片做视频的模板下载网站
  • 做seo网站的公司2网站建设公司
  • phpmysql旅游网站开发wordpress 需要多大数据库
  • 做预算查市场价格的网站阿里巴巴旗下跨境电商平台有哪些
  • 搜狗网站提交入口有哪些做问卷调查赚钱的网站6
  • 上海市住房和城乡建设厅官方网站码上游二维码制作
  • wordpress生活插件上海做网站优化
  • 长武网站建设做网站吉林
  • 定制做网站技术建网站不做广告怎么赚钱
  • 南宁市做网站的公司yellow的视频播放
  • 网络营销的效果是什么杭州seo网站建设
  • 南沙免费网站建设阿里巴巴网站工作流程
  • 东莞公司网站建设河南省专业做网站公司
  • 兰州彩票网站制作安阳区号是什么
  • 企业形象网站解决方案传统企业如果建立网站
  • 个人网站主页模板如何开一家网络营销公司
  • 网络管理系统密码吴中seo页面优化推广