对《纯活人伪造一个Android Killer或APK IDE或apktool反编译失败》的一点讨论
法王遇到的问题平时也遇到过,作为小白,也想参与讨论一下心得,奈何不知道怎么在回帖的时候插入图片,所以另起一个帖子 。遇到的这个问题,个人觉得其实是反编译软件对多dex的app支持的问题。具体问题是插件本身不支持,还是插件已经支持了,但软件本身没有更新不支持,因为知识储备不够,无法得出结论。
一.测试
androidkiller反编译结果:
对于两个dex文件,均已反编译成了smali。但worksrc文件夹中,只把第一个dex复制过来就卡死了,所以JAVA源码不用演示了,肯定没有的。嗯,而且图标也丢了。
第一张图看着很多活动,包括入口都是灰色的,打不开,但这里其实是androidkiller软件对于smali2文件夹不支持,没有给出链接而已,其实smali文件夹都已经编译好了。入口在smali2里。
自己找到这些灰色的smali,打开就好。上图是入口smali。所以,虽然没有反编译出java源码,但其实已经不影响分析修改了。
APKIDE(少月版。。。不算广告吧)反编译结果:
这个结果要好一点,有图标了!玩笑玩笑,主要是第一个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文件再有重名的。。。混不到一块去。
为了验证我们的想法,进行一下试验。
把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的。
看反编译效果
入口的splashactivity的smali、JAVA码都有了,worksrc文件夹下也变成class2的JAVA源码了。看到这里就很明确了,所谓的无法反编译JAVA源码,就是蛋疼滴androidkiller和apkide不支持多dex而已。
@冥界3大法王 还考虑直接用工具从dex中提取JAVA源码,dex转jar没问题,jar转成文件夹找不到工具了。。。。。。其实jar就是class的打包文件,改名成.zip,解压出来就是了。。。当然没有工具。。。
以上两图中,classes.dex其实是22.apk解压出来的,原名是classes2.dex,我们改了名,别弄混了。
到这里,看到拿到两个dex的JAVA源码是很简单的,奈何androidkiller和apkide不认。。。
如何在worksrc文件夹同一个包名下把两个java源码文件夹认出来,@冥界3大法王 老兄继续努力
我觉得遇到这类特殊情况,完全可以用ahk编个脚本化的程序
来配合活人完成这些琐碎的操作。最终让那些神经了的程序能正常的识别和打包回去。 本帖最后由 冥界3大法王 于 2018-1-20 22:06 编辑
@winding
你说的这两个工具
刚才试过了,一个保存时 输出的是jar文件
另外一个若是分级XML 或 树形显示 倒是能看到不少.class文件
但是!要是反编译 或 是 提取的话 出来一堆.class文件,还在一个目录下
实在想不通原来的那个android killerORApkIDE是的什么命令行做到的呢?
改天安个hips类工具,拦截下隐藏的命令
这个以前从没有折腾过,完全大菜鸟一只。
对我想起来了http://bbs.crsky.com/images/post/smile/crsky/ff-21.gif
.java是源程序,javac执行以后就在同一级目录中得到了 .class文件
难道它用的是批处理办到的? 刚才我试过了,那个改之理能正常的反编译出来
但是无法再打包回去
对于这类问题,偶都是对合着用MT管理器在模拟器里边操作的
论坛上的安卓方面的任何一个上白的文章我都不放过
都拿来找破解的 和 原版的上机 马上做实验
有的自己折腾几轮弄得彻底明白了,有的还是没彻底明白。 额。。。没大听明白。。。
反正我挺认同你整合这些工具的看法,你的几个相关的帖子也看了。
单就多dex无法反编java这一个问题,我顺着法王你的思路搞一搞试试,成功了再找你讨论。 win7下的hips类工具不给力
只得到了一句:
C:\Program Files\Java\jdk1.8.0_152\bin\java.exe "J:\BaiduYunDownload\吾爱破解工具包2.0\吾爱破解工具包\Tools\AndroidTools\ApkIDE最新3.5.0少月增强版\classes-dex2jar.jar"
有些作用
看来还是XP中弄上SSM吧,那个hips的拦截很给力。 为什么最近老师回帖点不了呢 经过实验
J:\BaiduYunDownload\吾爱破解工具包2.0\吾爱破解工具包\Tools\AndroidTools\AndroidKiller_v1.3.1\projects\伪造一个目录\ProjectSrc\smali_classes2
这个.class复制过去Android Killer的java源码就复活了
(J:\BaiduYunDownload\吾爱破解工具包2.0\吾爱破解工具包\Tools\AndroidTools\AndroidKiller_v1.3.1\projects\伪造一个目录\Project\smali)第一个依靠这个,只要对应就认了。
而改之理是通过程序的包名来与之对应的~~所以第二个也就无法伪造成功。 冥界3大法王 发表于 2018-1-21 10:28
经过实验
J:\BaiduYunDownload\吾爱破解工具包2.0\吾爱破解工具包\Tools\AndroidTools\AndroidKiller_v1.3 ...
额。。。我已经试验了可以成功的 现在的思路是写个批处理加入到killer的自定义工具里批处理不会写 正在百度。。。
冥界3大法王 发表于 2018-1-21 10:28
经过实验
J:\BaiduYunDownload\吾爱破解工具包2.0\吾爱破解工具包\Tools\AndroidTools\AndroidKiller_v1.3 ...
还有两个问题没解决。一个是killer工程信息中不认smali_classes2的问题,另一个是反编译卡死后必须重启的问题。
如果killer开源就好了。
页:
[1]
2