2019年11月

最近研究大数据营销系统,就是所谓的采集客户资料,方便销售团队进行电话销售的软件,有一款APP支持不少的采集网站,就想看看它的采集功能是直接在APP中实现的,还是在云端采集再下载,解答一些自己的疑问,心想研究APP总比研究WINFORM方便,该APP的界面感觉像是APICLOUD+AUI来做的,解包APK果然发现了widgt目录里的网页文件,但代码还是加密了,之前也研究过APICLOUD的解密,受限于自己的理解、技术能力,没能成功。

这次又更加仔细的阅读了APICloud解密本地资源到逆向APP算法到通用资源解密这篇文章,作者大神先后用到了UI Automator Viewer查看界面结构、远程调试,JEB逆向分析APP代码,Xposed Hook拦截出数据,获取解密后的代码。作者提供了一个通用的解密方法并提供了一个APK,这次终于明白这是一个Xposed的模块,所以要先在手机安装Xposed,但该神器需要手机root权限,所以想到用模拟器来实验下,一系列操作后成功的获取了源码。

本人记忆力特别差,写作是对抗记忆与岁月的有力工具,将过程详细记录,以备后需。

  1. 安装夜神模拟器
  2. 开启模拟器,并安装下载的Xposed installer
  3. APICLOUD解密的xposed模块安装,在Xposed中激活模块,重启模拟器(我是直接用重新安装xposed的方式重启)
  4. 安装要破解的APP并运行,从手机文件管理器查看/sdcard/uzmap_dump目录,将导出的文件复制到主机电脑(需不需要点击解密模块中的RUN按钮,我也没搞明白)

微信图片_20191103083638.jpg
微信图片_20191103083706.jpg

要破解的APP要先输入邀请码,模拟器中无法输入的问题,安装了一个讯飞输入法可以了
看到解密后的HTML和JS文件,分析之,代码逻辑还是比较难懂,用FIDDER代理模拟器的请求,截获HTTP访问
有从云端下载采集规则代码的程序,接口有验证机制,访问到的BASE64代码解密后还是乱码,是直接append追加到body中的,难道也是用的apicloud的加密方式,从开发者自己服务器返回的数据不太可能用apicloud的加密,应该是自己实现的,从破解的代码里并没有找到这个解密,代码实在太乱只看到有不少读本地存储的代码,于是找APP的本地LocalStorage的存储位置,终于在
/data/data/com.xxx.xxx/shared_prefs\UzLocalStorage.xml 和 /data/data/com.xxx.xxx/databases/appdb中通过搜索相关的请求网址关键字,看到如下代码(需要先html解码并格式化):
11.png
再写段js,将之前的加密数据代入这个解密过程,成功获取到了云端的加密规则,看来是如我所想没有API获取数据方式的采集,是通过云端来获取页面的采集规则,直接对页面上的内容进行解析获取数据。

本人兼职的公司网站需要进行改版,设计小徐同志出了平面图,很漂亮,不过本人以前都是偷懒,也是出于成本考虑,基本都是采用修改模板与仿站的方式来制作网站,好久没有从无到有的切图做网站了,回想起以前切图从TABLE到div+css,很是享受 配合zen coding,是段美好的回忆...

没有经历响应式网站的从无到有编码,还是有很多的未知,响应式实现,全屏滚动,滚屏动画,需要在编码中逐一突破解决。

预备知识的学习,阅读bulma.css框架文档手册,深入了解flex布局,全屏滚动插件fullpage.js,动画实现原理,开始编码

几点收获、经验记录与分享

  1. 导航的实现,汉堡菜单实现,需要配合JS实现
  2. 注意自写CSS的干扰性,影响框架和插件的实现
  3. 页面设计尺寸,字体大小
  4. bulma.css框架的经验技巧 类名还是很容易记
  5. 设计注意事项,响应式细节调整
  6. 灵活运用CSS属性实现各种排版 定位技巧及负数的应用
  7. flex布局的技巧
  8. 纯CSS动画及交互动作的实现
  9. fullpage及WOW的应用

需要不断的突破自己的未知,多编码多尝试,才能有更多的经验收获,才能更好的理解技术概念、活学活用