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

网站正在备案中展开网站建设

网站正在备案中,展开网站建设,如何上传wordpress,Wordpress不显示功能导语 学了一段时间的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.w-s-a.com/news/798346/

相关文章:

  • 汽车行业做网站福建省第二电力建设公司网站
  • delphi做网站开发商城网站建设价位
  • 网站宣传片3 阐述网站建设的步骤过程 9分
  • 公司网站怎么做站外链接哪里有做胎儿dna亲子鉴定
  • 潍坊做电商的网站建设wordpress 特效主题
  • 做网站和app哪个难公司网上注册系统
  • 关于网站建设外文文献系部网站建设
  • 高端设计网站都有哪些月付网站空间提供商
  • 家政 东莞网站建设优化设计官方电子版
  • 做网站如何使用网页插件上海造价信息网
  • 承德网站制作加盟天津做优化的网站有多少家
  • 北京市保障性住建设投资中心网站首页专业做网站联系电话
  • 镇江网站建设方式优化单页面网站教程
  • 做手机网站公司北京网页设计公司兴田德润实惠
  • 域名申请好了 要怎么做网站百度推广开户渠道
  • 电商网站建设 数商云焦作黄河交通学院
  • 做一个网站成本多少太原网站维护
  • 网站建设制作设计优化怎么制作网页步骤
  • 花都区pc端网站建设画册设计多少钱一页
  • 国外买域名的网站廊坊网站制作网页
  • 抚顺市城市建设档案馆网站制作网页时经常用的一种动态位图格式是
  • 公司网站站群是什么运营网站
  • 昆明网站建设大全安徽教育机构网站建设
  • 广州网站排名怎么优化中华衣柜网
  • 怎样围绕网站专题发展来做ppt城乡住建局官网
  • 安卓手机app制作关键词优化公司
  • 江苏固茗建设有限公司网站深圳网站建设深圳网
  • 高性能网站建设指南北京城乡建设官方网站
  • 企业网站找谁做做淘宝相关网站
  • 商业网站网站建设wordpress关闭前端公共库