android 存储作假,对《纯活人伪造一个Android Killer或APK IDE或apktool反编译失败》的一点讨论…

android 存储作假,对《纯活人伪造一个Android Killer或APK IDE或apktool反编译失败》的一点讨论…法王遇到的问题平时也遇到过 作为小白 也想参与讨论一下心得 奈何不知道怎么在回帖的时候插入图片 所以另起一个帖子 遇到的这个问题 个人觉得其实是反编译软件对多 dex 的 app 支持的问题 具体问题是插件本身不支持 还是插件已经支持了 但软件本身没有更新不支持 因为知识储备不够 无法得出结论 一 测试 androidkille 反编译结果 1 jpg 88 67KB 下载次数 0 2018 1

法王遇到的问题平时也遇到过,作为小白,也想参与讨论一下心得,奈何不知道怎么在回帖的时候插入图片,所以另起一个帖子 。

遇到的这个问题,个人觉得其实是反编译软件对多dex的app支持的问题。具体问题是插件本身不支持,还是插件已经支持了,但软件本身没有更新不支持,因为知识储备不够,无法得出结论。

一.测试

androidkiller反编译结果:

55fd2b2273b5a8b4531f72773c469d6e.gif

1.jpg (88.67 KB, 下载次数: 0)

2018-1-20 19:43 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

2.jpg (27.58 KB, 下载次数: 0)

2018-1-20 19:44 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

3.jpg (17.83 KB, 下载次数: 0)

2018-1-20 19:45 上传

对于两个dex文件,均已反编译成了smali。但worksrc文件夹中,只把第一个dex复制过来就卡死了,所以JAVA源码不用演示了,肯定没有的。嗯,而且图标也丢了。

第一张图看着很多活动,包括入口都是灰色的,打不开,但这里其实是androidkiller软件对于smali2文件夹不支持,没有给出链接而已,其实smali文件夹都已经编译好了。入口在smali2里。

55fd2b2273b5a8b4531f72773c469d6e.gif

4.jpg (98.75 KB, 下载次数: 0)

2018-1-20 19:53 上传

自己找到这些灰色的smali,打开就好。上图是入口smali。所以,虽然没有反编译出java源码,但其实已经不影响分析修改了。

APKIDE(少月版。。。不算广告吧)反编译结果:

55fd2b2273b5a8b4531f72773c469d6e.gif

5.jpg (68.08 KB, 下载次数: 0)

2018-1-20 19:56 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

6.jpg (144.52 KB, 下载次数: 0)

2018-1-20 19:58 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

7.jpg (35.3 KB, 下载次数: 0)

2018-1-20 20:00 上传

这个结果要好一点,有图标了!玩笑玩笑,主要是第一个dex的JAVA给出了,我们看到worksrc文件夹底下,是对应第一个smali文件夹的目录,也的确可以打开,但第二个dex的JAVA源码是没有的。

二.分析

从apkide的反编译结果,很明显看出来,在worksrc该app的包名文件夹下,软件给出了第一个dex的class文件反编译目录,但没有对dex1和dex2进行区分,也就是说,根本就没有考虑第二个dex。我们理想中的目录应该是worksrc/com.yogafittime.tv.common/class1和worksrc/com.yogafittime.tv.common/class2,因为两个dex中目录有重名的,万一smali文件再有重名的。。。混不到一块去。

为了验证我们的想法,进行一下试验。

55fd2b2273b5a8b4531f72773c469d6e.gif

8.jpg (71.66 KB, 下载次数: 0)

2018-1-20 20:09 上传

把apk复制两份,第一个复制品11.apk删掉class2.dex,第二个复制品22.apk删掉class.dex,也就是分别保留一个dex,变成单dex的app了。注意,22.apk中,我们把class2.dex重命名为class.dex(因为2不认)。删的时候直接改成zip文件就好,删完之后也不用处理,直接拖进反编译软件。11.apk的反编译就不贴图了,因为完整版的app里,第一个dex的JAVA源码已经有了,我们要拿第二个dex的。

看反编译效果

55fd2b2273b5a8b4531f72773c469d6e.gif

9.jpg (39.61 KB, 下载次数: 0)

2018-1-20 20:18 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

10.jpg (174.8 KB, 下载次数: 0)

2018-1-20 20:19 上传

入口的splashactivity的smali、JAVA码都有了,worksrc文件夹下也变成class2的JAVA源码了。看到这里就很明确了,所谓的无法反编译JAVA源码,就是蛋疼滴androidkiller和apkide不支持多dex而已。

@冥界3大法王   还考虑直接用工具从dex中提取JAVA源码,dex转jar没问题,jar转成文件夹找不到工具了。。。。。。其实jar就是class的打包文件,改名成.zip,解压出来就是了。。。当然没有工具。。。

55fd2b2273b5a8b4531f72773c469d6e.gif

12.jpg (48.99 KB, 下载次数: 0)

2018-1-20 20:27 上传

55fd2b2273b5a8b4531f72773c469d6e.gif

13.jpg (105.9 KB, 下载次数: 0)

2018-1-20 20:45 上传

以上两图中,classes.dex其实是22.apk解压出来的,原名是classes2.dex,我们改了名,别弄混了。

到这里,看到拿到两个dex的JAVA源码是很简单的,奈何androidkiller和apkide不认。。。

如何在worksrc文件夹同一个包名下把两个java源码文件夹认出来,@冥界3大法王 老兄继续努力

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232371.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 一个简单的多的socket http 下载原型 perl

    一个简单的多的socket http 下载原型 perl

    2021年4月30日
    151
  • asp中的session使用方法详解

    asp中的session使用方法详解ASP中: SESSION必须倚赖COOKIE才可用,SESSION是存储在服务器端的,而COOKIE是存储在客户端的,相对而言,SESSION的安全性和可靠程度都比COOKIE高 ASP.NET中 SESSION可以不依赖COOKIE而存在!!! 也就是说,从微软的方面来说,开始让SESSION摆脱COOKIE的束缚了!!Session数据是存储在服务器上的,C

    2022年7月15日
    18
  • 三种数据库sql分页查询

    三种数据库sql分页查询关于sql分页今天用到分页了顺便就总结了一下mysql数据库:mysql中有分页的关键字limit,它可以实现分页很简单;SELECT*FROMsys_userORDERBYuseridLIMITstartNo,total;startNo是查询开始的行数,total是要查询出多少条;sqlserver2005数据库:sqlser

    2022年6月26日
    32
  • Java.Utils:AES-128-CBC 加密方式

    packagecom.boob.common.utils;importorg.apache.commons.codec.binary.Base64;importorg.bouncycastle.jce.provider.BouncyCastleProvider;importjavax.crypto.BadPaddingException;importjavax.crypto….

    2022年4月10日
    89
  • 局部性原理的理解

    局部性原理的理解局部性原理的理解杜逸闲本文首先介绍了局部性原理的定义 然后列举了一些局部性原理的应用 接着具体讨论了局部性原理在 pagecoloring 中的应用 最后分析了局部性原理的本质 什么是局部性原理在计算机学科的概念中 局部性原理是一个常用的术语 指处理器在访问某些数据时短时间内存在重复访问 某些数据或者位置访问的概率极大 大多数时间只访问局部的数据 主要可以分为时间局部性和空间局部性两种 时间局部性如果一个数据正在被访问 那么在近期它很可能还会被再次访问 任何编写过程序的人都

    2025年10月17日
    3
  • c语言push_back_pushback是什么意思

    c语言push_back_pushback是什么意思push_back()函数的用法函数将一个新的元素加到vector的最后面,位置为当前最后一个元素的下一个元素push_back()在Vector最后添加一个元素(参数为要插入的值)//在vec尾部添加10vector<int>vec;vec.push_back(10);//在容器中添加10intnum=10;vector<int&gt…

    2025年7月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号