美文网首页安卓逆向
安卓逆向之Hybrid APP混合开发

安卓逆向之Hybrid APP混合开发

作者: 苦海飘摇 | 来源:发表于2020-04-15 13:35 被阅读0次
    移动应用开发的方式,目前主要有三种
    1. Native App: 本地应用程序(原生App)
    2. Web App:网页应用程序(移动web)
    3. Hybrid App:混合应用程序(混合App)
    Hybrid APP混合开发好处
    1. 移动终端web壳(以下简称“壳”):壳是使用操作系统的 API 来创建嵌入式 HTML的渲染引擎。壳主要功能是定义Android应用程序与网页之间的接口,允许网页中的JavaScript调用Android应用程序,提供基于web的应用程序的Android API,将Web嵌入到Android应用程序中。
    2. 前端交互js:包括基础功能js和业务功能js。
    3. 前端适配器:适配不同的终端:Pad、android、ios、wap。
    混合开发层次结构图
    详细介绍请看原文,摘抄自Hybrid APP混合开发的一些经验和总结
    逆向过程
    • 通过搜索mobile、zuid到找不到结果。
    • 既然是网页版的,那么首先在网页上执行登录操作,但是一直登录中没有结果猜测加密在安卓上由js调用安卓内部方法。查看网页源代码有个analyticsEvent方法,在app源码中进行搜索。
    • 继续追踪com.zz.common.a.a.a方法
    • 分析代码后发现k.b方法是Log输出,对其hook结果如下。
    [*] get_a1:==========================jsb loadUrl :javascript:__JavascriptBridge__.javaCallback("1586855536672", {"beforeEncryptedData":"9667243845","methodName":"encrypt","reqId":"1586855536672","encryptedData":"314e73314a394730426c66386d6c4730514f713757347042752f6d79446f6f566b37637a715064535032513d","type":"encrypt","resId":"1586855536672"})
    
    • 猜测其机密方法为encrypt,接着搜索。
    • 继续分析g.a(f.l(), b)方法
    • hook该方法



    • 抓包中的mobile参数和hook的返回值相同,说明猜测是对的,接下来找的hook的第一个参数即f.l(),经分析后,这个f.()返回的是固定值。至此分析结束。

    相关文章

      网友评论

        本文标题:安卓逆向之Hybrid APP混合开发

        本文链接:https://www.haomeiwen.com/subject/rokzmhtx.html