吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9433|回复: 20
收起左侧

[Android 原创] 对《纯活人伪造一个Android Killer或APK IDE或apktool反编译失败》的一点讨论

[复制链接]
winding 发表于 2018-1-20 20:48
法王遇到的问题平时也遇到过,作为小白,也想参与讨论一下心得,奈何不知道怎么在回帖的时候插入图片,所以另起一个帖子 。
遇到的这个问题,个人觉得其实是反编译软件对多dex的app支持的问题。具体问题是插件本身不支持,还是插件已经支持了,但软件本身没有更新不支持,因为知识储备不够,无法得出结论。

一.测试
androidkiller反编译结果:
1.jpg

2.jpg
3.jpg

对于两个dex文件,均已反编译成了smali。但worksrc文件夹中,只把第一个dex复制过来就卡死了,所以JAVA源码不用演示了,肯定没有的。嗯,而且图标也丢了。
第一张图看着很多活动,包括入口都是灰色的,打不开,但这里其实是androidkiller软件对于smali2文件夹不支持,没有给出链接而已,其实smali文件夹都已经编译好了。入口在smali2里。
4.jpg

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

APKIDE(少月版。。。不算广告吧)反编译结果:
5.jpg
6.jpg
7.jpg

这个结果要好一点,有图标了!玩笑玩笑,主要是第一个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文件再有重名的。。。混不到一块去。

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

把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的。

看反编译效果
9.jpg
10.jpg



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

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

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


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


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

免费评分

参与人数 2吾爱币 +7 热心值 +2 收起 理由
冥界3大法王 + 4 + 1 @winding 快出来 ,想你了。
qtfreet00 + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

冥界3大法王 发表于 2018-1-20 22:13
我觉得遇到这类特殊情况,完全可以用ahk编个脚本化的程序
来配合活人完成这些琐碎的操作。最终让那些神经了的程序能正常的识别和打包回去。
冥界3大法王 发表于 2018-1-20 22:03
本帖最后由 冥界3大法王 于 2018-1-20 22:06 编辑

@winding
你说的这两个工具
刚才试过了,一个保存时 输出的是jar文件

另外一个若是分级XML 或 树形显示 倒是能看到不少.class文件

但是!要是反编译   或 是 提取的话 出来一堆.class文件,还在一个目录下
实在想不通原来的那个android killer  OR  ApkIDE是的什么命令行做到的呢?
改天安个hips类工具,拦截下隐藏的命令
这个以前从没有折腾过,完全大菜鸟一只。

对我想起来了
.java是源程序,javac执行以后就在同一级目录中得到了 .class文件
难道它用的是批处理办到的?
冥界3大法王 发表于 2018-1-20 22:10
刚才我试过了,那个改之理能正常的反编译出来
但是无法再打包回去
对于这类问题,偶都是对合着用MT管理器在模拟器里边操作的
论坛上的安卓方面的任何一个上白的文章我都不放过
都拿来找破解的 和 原版的上机 马上做实验
有的自己折腾几轮弄得彻底明白了,有的还是没彻底明白。
 楼主| winding 发表于 2018-1-20 22:41
额。。。没大听明白。。。

反正我挺认同你整合这些工具的看法,你的几个相关的帖子也看了。

单就多dex无法反编java这一个问题,我顺着法王你的思路搞一搞试试,成功了再找你讨论。
冥界3大法王 发表于 2018-1-20 22:48
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的拦截很给力。
yiwai2012 发表于 2018-1-21 07:33
为什么最近老师回帖点不了呢
冥界3大法王 发表于 2018-1-21 10:28
经过实验
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)第一个依靠这个,只要对应就认了。

而改之理是通过程序的包名来与之对应的~~所以第二个也就无法伪造成功。
 楼主| winding 发表于 2018-1-21 11:46
冥界3大法王 发表于 2018-1-21 10:28
经过实验
J:\BaiduYunDownload\吾爱破解工具包2.0\吾爱破解工具包\Tools\AndroidTools\AndroidKiller_v1.3 ...

额。。。我已经试验了可以成功的   现在的思路是写个批处理  加入到killer的自定义工具里  批处理不会写 正在百度。。。

 楼主| winding 发表于 2018-1-21 11:49
冥界3大法王 发表于 2018-1-21 10:28
经过实验
J:\BaiduYunDownload\吾爱破解工具包2.0\吾爱破解工具包\Tools\AndroidTools\AndroidKiller_v1.3 ...

还有两个问题没解决。一个是killer工程信息中不认smali_classes2的问题,另一个是反编译卡死后必须重启的问题。

如果killer开源就好了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 03:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表