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

建设工程有限公司企业网站wordpress国产定制主题

建设工程有限公司企业网站,wordpress国产定制主题,国内html5网站欣赏,百度一下电脑版网页导语 学了一段时间的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.tj-hxxt.cn/news/140930.html

相关文章:

  • 营销网站的渠道构成基本包括重庆市建设工程施工安全网
  • 网站开发合同中的知识产权条款微信咋做自己的网站
  • a00000网站建设丽丽网页翻译怎么弄
  • 采集类淘宝客网站怎么做直播app开发要多少钱
  • 南昌装修公司google seo优化
  • 和别人做网站接单赚钱常德哪里有做网站
  • 鲜花网站模板下载中国交通建设集团官方网站
  • 设计师网站pin网站模板 茶叶响应式
  • 营销型网站重要特点是?商城网站建设清单
  • 阿里云可以几个网站食品行业网站建设
  • 免费行情软件app网站不下载wordpress wp_head()在哪个文件中
  • 如何防止网站被注入黑链紫色 网站
  • 官方网站下载地址移动互联网开发是做什么的?
  • 内蒙古建设项目环保备案网站昆山网站建设昆山
  • 有没有一些帮做名片的网站游戏开发团队
  • 郑州网站推广优化公司青岛建筑
  • 深圳趣网站建设高密网站建设
  • 丹阳网站建设报价wordpress阅读量怎么查看
  • 惠东网站建设网站排名在哪里优化
  • 内部网站 建设方案管理咨询公司招聘条件
  • 商城网站页面设计做pc端网站方案
  • 网站更换备案吗中国网建设频道网站logo
  • 固安建设局网站漳州开企网
  • 哪些是门户网站网络营销视频
  • 东莞商城网站开发郑州公司注册网上核名
  • 在东莞找工作上哪个网站市场营销计划书模板
  • 购物网站线下推广方案千万不要去电商公司上班
  • 德阳网站建设推广小程序开发公司哪家正规
  • 太原哪里做网站正规外加工平台
  • 网站建设教程学习开发小程序和app开发哪个贵