V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
honglei92
V2EX  ›  Android

有没有办法 反编译拿到 apk 的 build.gradle 文件? 我想看你面的库的版本信息

  •  
  •   honglei92 · 2020-02-17 16:25:25 +08:00 · 12066 次点击
    这是一个创建于 1760 天前的主题,其中的信息可能已经有所发展或是发生改变。
    12 条回复    2020-03-17 22:04:21 +08:00
    pursuer
        1
    pursuer  
       2020-02-17 16:38:53 +08:00
    apk 里应该是没有构建用的文件的
    stardust21
        2
    stardust21  
       2020-02-17 17:06:27 +08:00
    直接用 AS 看包名就行了,知名的库很好认出来的
    Resource
        3
    Resource  
       2020-02-17 17:28:15 +08:00
    gradle 脚本反编译肯定是拿不到的
    WebKit
        4
    WebKit  
       2020-02-17 17:29:37 +08:00 via Android
    直接反编译。看包名
    WebKit
        5
    WebKit  
       2020-02-17 17:30:11 +08:00 via Android
    你要看版本信息那是没办法了。apk 里没有 gradle 文件
    wd
        6
    wd  
       2020-02-17 17:37:05 +08:00 via iPhone
    apk 是个 zip
    reactna1ve
        7
    reactna1ve  
       2020-02-17 17:48:23 +08:00
    build.gradle 是打包用的脚本啊,不会打到 apk 里面去的
    cheng6563
        8
    cheng6563  
       2020-02-17 18:42:57 +08:00 via Android
    顶多猜出用了啥依赖,想知道用了哪个版本只能对照源码看方法了
    ywisax
        9
    ywisax  
       2020-02-17 19:05:42 +08:00
    没办法直接查看。
    我以前搞过 android 的一键反编译,遇到类似问题,最后是自己写了一大堆规则来判断版本库。大致是一个库设定 N 条规则,如微信包,必须包含类 A ;然后包含了 B 的是 1.x,包含了 C 的是 1.y。。。现在让我重做,我可能会搞个状态机来管理了
    yongliu
        10
    yongliu  
       2020-02-17 19:28:07 +08:00
    先搞清楚 gradle 是干嘛的吧
    运气好的话也许设置里会留下开源协议,运气不好只能手动反编译找特征,运气再差点,混淆加壳,那就放弃吧。
    SakuraOjosama
        11
    SakuraOjosama  
       2020-02-18 23:43:20 +08:00
    一部分库的版本是写在代码里的,比如某度的语音识别,楼主找找 static 变量,运气好的话能找到版本
    m30102
        12
    m30102  
       2020-03-17 22:04:21 +08:00
    build.gradle 肯定是拿不到, 如楼上所说,库的版本信息如果写在代码中的话,你可以反编译找一找
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   915 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 20:12 · PVG 04:12 · LAX 12:12 · JFK 15:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.