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

关于系统不支持 32 位 APP 问题,能否反编译 32 位然后转成 64 位?

  •  
  •   Vesc · 3 天前 · 4541 次点击
    给家里长辈买了个三星 S25 U 事先没了解到三星已经不支持 32 位 APP 了,有个内部使用的 app 是 32 位的无法安装,却必须使用,目前是用备用机扫码的。
    尝试过使用光速虚拟机,把 32 app 装在虚拟机里面,但是无法正常调用相机扫码
    75 条回复    2025-06-11 17:16:09 +08:00
    duanxianze
        1
    duanxianze  
       3 天前
    有这折腾的功夫都不如花几百块买个好点的备用机了
    proxytoworld
        2
    proxytoworld  
       3 天前
    如果使用了一些 jni 库,你反编译也没用。。
    Lockroach
        3
    Lockroach  
       3 天前
    反馈给开发运维人员让他们增加 64 位支持比较合适吧
    luojianxhlxt
        4
    luojianxhlxt  
       3 天前
    找开发吧?好多手机不支持 32 位了
    xtreme1
        5
    xtreme1  
       3 天前
    应该不止架构不一致
    iv8d
        6
    iv8d  
       3 天前 via Android
    好家伙,找你这么说,你应该能反编译 windows xp 了
    maxmax4max
        7
    maxmax4max  
       3 天前
    @Lockroach 看清楚吧,是不支持 32 位
    nkidgm
        8
    nkidgm  
       3 天前
    咸鱼,买旧手机。
    fsq
        9
    fsq  
       3 天前
    @maxmax4max 没毛病啊,手机不支持 32 位了,让开发支持 64 位
    v321ex
        10
    v321ex  
       3 天前 via Android
    @maxmax4max 楼上没说错🤦‍♂️
    HojiOShi
        11
    HojiOShi  
       3 天前
    这手机用的骁龙 8 至尊版,但骁龙从 8Gen3 开始就只支持 64 位了,不找开发没法解决。
    Vesc
        12
    Vesc  
    OP
       3 天前
    @duanxianze 之前的手机倒是可以作为备用机
    Vesc
        13
    Vesc  
    OP
       3 天前
    @Lockroach 我估计这个软件也是花钱找别人做的,要支持 64 位应该还要加钱,况且一个也催不动
    Vesc
        14
    Vesc  
    OP
       3 天前
    @luojianxhlxt 估计是外包做的买断制
    Vesc
        15
    Vesc  
    OP
       3 天前
    @HojiOShi 但是现在问题是没开发,只能重新找之前定制这个软件的适配 64 位
    cheng6563
        16
    cheng6563  
       3 天前
    解包看看.so 库,应该可以自己试试把 64 位库塞进去
    icedx
        17
    icedx  
       3 天前
    老哥要不要留个联系方式
    kzfile
        18
    kzfile  
       3 天前
    现在 8e 的手机理论上不支持 32 位,但似乎很多国产手机还是能用上 32 位的程序
    yanqiyu
        19
    yanqiyu  
       3 天前
    先看看程序用了哪些原生库吧,要是用的原生库都是开源软件没准能自己想办法糊一个加进去。要用了私有的闭源实现说实话就算有源代码都不保证能简单的改 target 编译就工作
    python35
        20
    python35  
       3 天前
    @kzfile 貌似国产的机器都做了指令的转译 三桑大概率不会做适配了
    ScepterZ
        21
    ScepterZ  
       3 天前
    @python35 国内小厂也有不做的,魅族应该就没有
    rebounce
        22
    rebounce  
       3 天前
    送公司领导一部 s25u ,这个问题很快就解决了。
    Vesc
        23
    Vesc  
    OP
       3 天前
    @python35 三桑从 s23 就不支持了
    Vesc
        24
    Vesc  
    OP
       3 天前
    @cheng6563 我就想了解一下可行性,有时间再操作
    cheng6563
        25
    cheng6563  
       3 天前
    @Vesc 纯 Java App 是不管 32 或 64 的,是里面的.so 限制了。
    所以你直接解压 apk ,看看里面有啥.so如果都是开源或者开放的.so ,那就能操作。如果有他们私有的.so 就搞不了。

    操作方式就是用 apktool 解包,然后把 64 位.so 塞进去,改下配置文件,然后重新打包签名。
    Vesc
        26
    Vesc  
    OP
       3 天前
    @cheng6563 #25 感谢大佬,回头我试一下
    cheng6563
        27
    cheng6563  
       3 天前
    然后里面的.so 也不一定都用到了,也可以删掉看看会不会报错。
    lns103
        28
    lns103  
       3 天前
    @kzfile 部分国产品牌的国行版手机内置了 tango 转译器
    Gilfoyle26
        29
    Gilfoyle26  
       3 天前
    因为不支持 64 位系统,所以就想着要反编译 APP 。

    这个解题思路。。。。。。典型的《为了一瓶醋,包了一盘饺子》
    Mithril
        30
    Mithril  
       3 天前
    wang93wei
        31
    wang93wei  
       3 天前
    直接用小米啊,hyperOS 内置
    sampeng
        32
    sampeng  
       3 天前
    所以。。。。你觉得是 32 位和 64 位只是改个配置????
    Vesc
        33
    Vesc  
    OP
       3 天前
    @Mithril 没有源码的话可行吗
    Vesc
        34
    Vesc  
    OP
       3 天前
    @wang93wei 没买小米,买的时候也没在意 32 位 app 支不支持
    Vesc
        35
    Vesc  
    OP
       3 天前
    @sampeng 问了下 chatGPT ,好像纯 java 的 apk 可以
    meteora0tkvo
        36
    meteora0tkvo  
       3 天前
    几乎不可能,就算你拿得到源码,把里面的库全部换成 64 位都有得你掉头发的了。有这功夫还不如买多台支持 32 位的手机给你家的长辈
    Mithril
        37
    Mithril  
       3 天前
    @Vesc 这个是 translator ,不需要你 app 的源码。

    其他人说的小米内置的运行 32 位应用的功能,用的就是它家的方案。
    Akiya
        38
    Akiya  
       3 天前
    一个支持 32 的手机的成本才多少钱。。。转译一个 app 需要多少钱(时间成本转换),怎么算也是买手机划算吧
    lloovve
        39
    lloovve  
       3 天前 via iPhone
    自己搞,一个月估计都搞不定,别人搞,没几个月工资也搞不定,省流,换机
    Ocean810975
        40
    Ocean810975  
       3 天前
    试过 VMOS Pro 吗?我建议还是多找几个虚拟机试一下,大概率就是 armv7 的软件不再被支持了
    Vesc
        41
    Vesc  
    OP
       3 天前
    @Akiya 旧手机可以当备用机用,但是同时带两个手机也挺麻烦的
    Vesc
        42
    Vesc  
    OP
       3 天前
    @Ocean810975 没试过
    Vesc
        43
    Vesc  
    OP
       3 天前
    @Mithril #37 不过要是手机想用 Tango 起码的 root 吧,三星的手机 root 也挺麻烦
    Vesc
        44
    Vesc  
    OP
       3 天前
    @lloovve 目前有备用机,就是看看转 64 位 apk 的可行性
    yanqiyu
        45
    yanqiyu  
       3 天前
    @Ocean810975 这类软件也不是 emulator ,而是想办法劫持特权操作来维持一个虚拟机(加强版的 proot ),解决不了指令集的不同
    yanqiyu
        46
    yanqiyu  
       3 天前
    @Vesc #35 如果一个程序无原生库那他就不会有架构限制了
    realpg
        47
    realpg  
       3 天前
    没事儿别给关心你的人找罪受
    别买那些 others 品牌的手机
    icy37785
        48
    icy37785  
       3 天前
    @maxmax4max #7 人家没说错啊,你应该看清楚吧。
    iFlicker
        49
    iFlicker  
       3 天前
    除非这个 app 有自研的 native 代码,不然可以直接 apktool 反编译给里面的 so 都加一个 arm64 的,然后回编译签名就行了,不难
    Vesc
        50
    Vesc  
    OP
       3 天前
    @iFlicker app 的内容我看过,感觉就是一个简单的增删改,感觉不会有自研的 native
    ouqihang
        51
    ouqihang  
       3 天前 via Android
    国产 ROM 支持的,安装 32 位应用会提示打开 32 位应用支持,要重启手机。
    Vesc
        52
    Vesc  
    OP
       3 天前
    @ouqihang 三星在国内销量不高,也没做兼容
    Vesc
        53
    Vesc  
    OP
       3 天前
    刚解压看了 apk 内容,里面有个 lib39285EFA.so ,估计加密了,反编译是不可能实现了
    YuushaTao
        54
    YuushaTao  
       3 天前
    装个虚拟机 vmos 这种类似的,在把 app 装里面看看
    coolloves
        55
    coolloves  
       3 天前
    我个人使用光速调用相机有问题
    可以试试 vmos,我使用没问题
    coolloves
        56
    coolloves  
       3 天前
    使用伏羲安装 32 位的,也可以尝试.
    bunnyblueair
        57
    bunnyblueair  
       3 天前
    某宝找人分析下动态库,与业务无关的话可以去掉 听你的描述这里面估计也没业务相关的,业务相关的话逆向就费劲了。外包一般不写汇编,有源码估计编译下就行了
    zhouquanbest
        58
    zhouquanbest  
       3 天前
    给长辈用建议别三星 系统要折腾才好用
    iFlicker
        59
    iFlicker  
       3 天前
    @Vesc 其实如果愿意折腾还是可以的,IDA 打开这个 so ,然后,。。。。
    qianxaingmoli
        60
    qianxaingmoli  
       3 天前
    直接换机器成本更低,比如小米。有完善的兼容性方案。
    JensenQian
        61
    JensenQian  
       3 天前
    自己用三星好了
    长辈的话上班的话还是国产算了
    有兼容 32 位的
    okakuyang
        62
    okakuyang  
       3 天前
    你又不需要把 App 完整移植。只要目标 App 的功能足够简单,那么它大概率并不需要把某些代码放进 so 文件里。基本上就是一个全 java 的 App ,so 文件只是无关痛痒的第三方功能,不影响原有逻辑。反编译后基本上是能直接看懂逻辑的。
    bao3
        63
    bao3  
       2 天前
    @maxmax4max 确定应该让他们支持 64 位
    tairan2006
        64
    tairan2006  
       2 天前 via Android
    退货买小米
    Vesc
        65
    Vesc  
    OP
       2 天前
    @iFlicker #59 那太折腾了
    Vesc
        66
    Vesc  
    OP
       2 天前
    @YuushaTao 试过光速虚拟机,相机调用不正常
    Vesc
        67
    Vesc  
    OP
       2 天前
    @coolloves #55 有时间回去再试试
    Vesc
        68
    Vesc  
    OP
       2 天前
    @coolloves #56 这个需要 root 吗
    Vesc
        69
    Vesc  
    OP
       2 天前
    @tairan2006 三星激活不可退
    Vesc
        70
    Vesc  
    OP
       2 天前
    @okakuyang 不搞了,这样搞太折腾了
    coolloves
        71
    coolloves  
       2 天前
    @Vesc #68 不需要,前阵子刚有朋友买了三桑,也遇到这个问题,用伏羲 x 解决了,但是似乎新版安卓有 bug,弹不出键盘,你自己试试
    Ocean810975
        72
    Ocean810975  
       1 天前
    @yanqiyu 感谢赐教
    Vesc
        73
    Vesc  
    OP
       1 天前
    @coolloves #71 回头我试试
    jim9606
        74
    jim9606  
       1 天前 via Android
    你说的其实是二进制翻译,这事要么买老设备要么买系统集成二进制翻译的设备,别自己折腾,有这能力自己搞的也不会这么问问题。
    本质上是因为现在的 ARMv9 SoC 普遍去掉了 AArch32 支持,通常的不带翻译的虚拟机是没法跑这些 app 的。
    Legendzhan
        75
    Legendzhan  
       1 天前
    @iv8d 想的美, 是不是想要 arm64 windows xp🤣🤣🤣🤣🤣🤣
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2711 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 15:18 · PVG 23:18 · LAX 08:18 · JFK 11:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.