手机软件如何反编译
‘壹’ 反编译手机软件
手机的安装包后缀是.apk,电脑应用后缀是.exe。因为手机和电脑运行方式编译不同,所以电脑自然运行不了手机软件。
对于反编译来讲,mt管理器,找到安装包第一个文件夹,打开慢慢找到一个代码叫:
Android: Width (dp)
修改就可以修改界面宽度。
‘贰’ 如何反编译android应用并重新打包
反编译android步骤入下:
第一:使用apktool直接反编译apk
第六:把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!
‘叁’ 手游APK文件反编译
电脑上着名的 apk 文件反编译器,安卓手机软件中国化所必需的 pc 软件。它将帮助你反编译成常规文件,并为你提供一个基本的帮助,为未来的 diy 工作。现在人才终于把它移植到移动电话上了,当涉及到中国化或简单地修改软件时,不再需要等待 pc 机工作。安装说明: 将数据包复制到手机 micro sd 卡的根目录,然后将主程序安装到手机上。此外,该程序需要根权限,手机必须获得和授权,才能正常使用。说明: 本程序在使用大量文件操作时,需要很长时间耐心等待。如果你在编译程序的过程中点击屏幕,程序很容易失去响应。此时,只需单击“等待” ,耐心等待程序再次响应,程序将继续编译。[社论评论] apk 工具这个计算机端的 apk 反编译软件终于被移植到手机端,中国人破解了人们必需的工具!
‘肆’ anzhuo应用程序怎么反编译
让我们先来认识下APK文件. Android的应用程序包为扩展名为.apk文件, 无论你是从手机市场里下载, 还是电脑中下载. 都是这类APK文件. APK是AndroidPackage的缩写,即Android安装包(apk)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。apk文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。 APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的全称,即Android Dalvik执行程序,并非java ME的字节码而是Dalvik字节码。Android在运行一个程序时首先需要UnZip,然后类似Symbian那样直接,和Windows Mobile中的PE文件有区别.
android
一个APK文件解压开通常有这样的文件夹:
META-INF 目录:
MANIFEST.MF: manifest文件
CERT.RSA: 应用程序证书
CERT.SF: SHA-1资源签名列表. 例如:
Signature-Version: 1.0
Created-By: 1.0 (Android)
SHA1-Digest-Manifest: wxqnEAI0UA5nO5QJ8CGMwjkGGWE=
...
Name: res/layout/exchange_component_back_bottom.xml
SHA1-Digest: eACjMjESj7Zkf0cBFTZ0nqWrt7w=
...
Name: res/drawable-hdpi/icon.png
SHA1-Digest: DGEqylP8W0n0iV/ZzBx3MW0WGCA=
lib: 这个目录包含某些特定编译代码, 这个文件夹分成下面这些
armeabi: 只基于所有ARM处理器的编译代码.
armeabi-v7a: 所有ARMv7处理器的编译代码
x86: 仅针对x86处理器的编译代码
mips: 为MIPS处理器的编译代码
res: 包含资源的目录不编译到资源文件,看下面:
assets: 包含应用程序的资产,可以通过AssetManager进行检索.
AndroidManifest.xml: 包含应用程序的元数据文件,描述名称、版本、访问权限、引用应用程序的库文件。此文件在Android二进制格式, 可被工具转化为可读的纯文本XML工具,如 AXMLPrinter2,apktool,或Androguard。设置,可以通过AssetManager进行检索
classes.dex: Dalvik字节码
resources.arsc : 一个包含预编译资源文件,如二进制的XML.
有两种方法反编译APK, 如果是为了汉化程序, 可以使用apktool:
安装过程
1.下载apktool1.5.2.tar.bz2和apktool-install-windows-r05-brut1.tar.bz2
2.把两个文件都解压放在同一个目录,共三个文件
aapt.exe
apktool.bat
apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。
在命令行执行:
apktool d d:xxx.apk d:xxx
xxx 为你的输出目录, 然后你就可以看一些xml的资源文件, 以及Smali文件. 如下图某APK文件反编译输出目录:
由此可见,Android应用程序反编译并不难, 加密与解密的斗争一直会持续.
‘伍’ 如何反编译apk文件
注意:反编译的前提是:开发者没有使用proguard(java代码混淆的工具)。
1.下载反编译工具
需要下载四个工具:dex2jar、JD-GUI、apktool、apktool-install-windows-r05-ibot
dex2jar:将apk中的classes.dex转化成Jar文件。
JD-GUI:反编译工具,可以直接查看Jar包的源代码。
apktool:反编译工具,通过反编译APK中XML文件,直接可以查看。
apktool-install-windows-r05-ibot:辅助windows批处理工具。
下载地址:
dex2jar:http://code.google.com/p/dex2jar/downloads/list
JD-GUI:http://code.google.com/p/innlab/downloads/lis
apktool:http://code.google.com/p/android-apktool/downloads/list
工具截图:
2.解压缩APK包
apk文件也是一种常见的zip,常用的压缩软件就可轻松地解压apk文件。用压缩软件将apk文件中的文件解压到一个文件夹中,得到APK中的资源包括XML文件和classes.dex文件,classes.dex就是java文件编译再通过dx工具打包而成的。
解压截图:
3.反编译dex文件
解压apk文件后,你会发现res目录的图片没有加密,但java源码编译成了一个classes.dex文件,无法用普通的反编译class文件的方法来处理,dex2jar可以将dex文件转换成普通的jar包。
解压下载的dex2jar,把解压后的文件夹放到系统盘跟目录中并把这个目录加到系统path变量中,就可以直接用:dex2jar.bat或dex2jar.sh转换dex文件了。
DOS行命令如下:dex2jar.bat xx\classes.dex(xx是classes.dex文件所在的路径)。
将在同目录得到普通jar包:classes_dex2jar.jar,就可以用处理普通jar包的方法来反编译这个jar包得到原文件。
编译截图:
生成jar文件的截图如下:
4.反编译jar包
得到jar包后,下载自已喜欢的反编译工具,推荐使用JD-GUI,有比较简单的图形界面,可以反编译单个class文件,也可以反编译jar包,比较方便。
打开压缩文件JD-GUI,运行jd-gui.exe,打开上面生成的jar包,即可看到源代码了。
截图如下:
5.反编译xml文件
打开解压的res\layout目录,有很多xml文件,如果你想看下作者是如何设计界面的,你会很失望,因为你看到的是一大堆乱码!这个时候我们需要用到的是apktool。
具体操作方法:将下载的apktool和apktool-install-windows-r05-ibot两个包解压到同一个文件夹下,这个文件夹有三个文件:aapt.exe,apktool.bat,apktool.jar。把这个文件夹也放到系统盘的根目录中并把这个目录加到path变量中。以HelloWord.apk为例:
在DOS命令行中输入:apktool d xx\HelloWord.apk HelloWord得到HelloWord文件夹,此文件夹中的xml文件就是编译好的可以正常查看的文件。
截图如下:
生成的文件:
这样就得到了可以得到编译的源码和XML资源。
注意:文件的路径中最好不要出现中文!
‘陆’ 安卓app360加固怎么反编译
1 对比
上传demo进行加固,解包后对比下原包和加固包,发现加固包在assets文件夹下多了libjiagu.so,libjiagu_x86,lib文件夹下多了libjiagu_art.so,同时修改了dex文件和AndroidManifest文件
打开manifest文件,看到xxx加固对Application标签做了修改,添加了壳入口,也就是我们反编译后看到的StubApplication.smali这个文件。
相比于之前版本的加固,自从1.x.x.x加固版本之后,多了几次反调试,使得动态难度稍微增大了一些,不过针对脱壳机脱壳,再多了反调试也是无用。或者通过修改系统源码,也能达到消除反调试的作用。
2 动态调试
(1)把app安装到手机,以调试模式打开app
(2)以shell模式root权限打开IDA的android_server监听
(3)tcp转发
(4)打开IDA,修改配置为在进程开始时下断
(5)搜索到进程后jdwp转发,pid值即为我们进程号,并在命令行下附加。
成功附加后,可以下段了,打开Debugger Option
我们选择在线程开始和库加载时下断,修改成功后,jdb附加,点击运行
程序会断在elf头处,按下G键,搜索mmap,在mmap函数的段首和断尾下段
F9运行,来到断尾时F8单步,
来到此处时,在 BLunk_5C999C2C下断,F9一下,F7跟进去
跟进去今后在BLX LR处进行下断,此处就是进行反调试的地方,原理依然是获取TracePid的值判断当前是不是处于调试状态,建议第一次调试的人在fgets和fopen处下断,再f7跟进此调用就可以看到TracePid的值了。
跟进去之后,我们直接把方法移到最下方,就可以看到kill符号了,这就是杀进程的地方,如果当前处于调试状态,则直接结束进程。
我们在此函数的所有cmpR0,#0处下断,F9一下后即断在断点处,观察寄存器窗口的R0值,实质就是当前的TracePid的16进制的值
不确定的可以使用cat /proc/pid/status进行对比一下,我们直接把R0置0,右键选择Zero Value即可清0,继续F9
我们看到程序又来到了mmap处,继续f9
当继续断在调用反调试功能的方法时,继续F7跟进,依然在所有的cmp R0,#0处下断,断下后把R0清0后继续F9运行
目前的规律是,调用BLXLR的第一次,第二次和第四次是进行反调试判断的,第三次并不影响,可以直接f9跳过去,三次反调试搞定后,就可以愉快的F9运行并观察堆栈窗口了
当看到出现如下所示时:
说明壳已经开始解密并释放dex文件了,我们直接F8单步十几步,最后F9一下就可以看到我们需要的dex头了
直接脚本mp出来即可,最后把libjiagu的所有文件删除,并修复下Application标,如果存在则修复,不存在删除即可
‘柒’ 求安卓软件反编译修改教程
1、baksmali:classes.dex反编译为smali格式
(smali:smali格式编译打包为classes.dex,但由于smali格式类似汇编,比较难阅读,所以用dex2jar进行辅助 )
2、dex2jar:classes.dex转为jar包
3、jdgui:jar反编译并阅读
操作顺序:
apk用zip解开,里面的classes.dex分别用baksmali处理为smali,用dex2jar处理成jar,然后用jdgui看代码,找好java文件中要改的位置后,在smali里找对应的位置修改,改完了用smali再编译为classes.dex,覆盖原来apk里的同名文件,最后重新签名。注意安装时要先删除原来手机里的版本,因为签名不同。
‘捌’ 安卓apk文件如何反编译
安卓apk文件反编译:
一、反编译xml文件
1>
首先下载我给你们提供的文件夹apk_fanbianyi,把它放到某个盘的根目录下(为了方便输入dos命令),然后打开apktool文件夹,安装win+r键,然后输入cmd,进入dos命令行,大家别怕,不用晕,很简单的。
2>
然后在dos命令中首先输入文件夹所在盘符+“:”回车,接着再输入cd+apktool所在目录,切换dos工作空间到apktool文件夹下。
3>
接着输入
apktool.bat
d
【需反编译apk文件路径】
{【反编译文件反编译后的路径】},其中最后一部分可以省去,系统会默认把apk文件反编译到apktool目录下,例如输入
apktool.bat
d
d:/apk_fanbianyi/ttkp.apk,在apktool文件夹下就会生成一个ttpk的文件夹,所有的xml文件全部反编译成功。
二、反编译java文件
1>
首先解压需要反编译的apk文件,拷贝出里面的classes.dex文件到dex2jar文件夹(为了方便操作,省去dos命令输入路径的麻烦)
2>
把工作空间切换到dex2jar文件夹下,输入命令cd
d:/apk_fanbianyi/dex2jar回车
3>
输入命令dex2jar.bat
classes.dex回车,发现dex2jar文件夹下多了一个classes_dex2jar.jar文件,这是反编译成功的java文件
三、xml文件的打开
1>
打开apktool文件夹下的ttkp文件夹,任意找到一个xml文件,选中单击右键,选择notepad++打开(需下载),如果没有此软件,可以选择打开方式,选择记事本打开
四、java文件的打开
1>
dex2jar文件夹下的classes_dex2jar.jar拷贝到apktool文件夹的ttkp文件夹中,不能用notepad++打开,不然会乱码的
2>
启动apk_fanbianyi文件夹下的jd-gui.exe,然后点左上角file,选择open
file,找到classes_dex2jar.jar文件,可以发现有很多包,选择包下的任意一个java文件,打开不乱码了,是不是很神奇,哈哈,你学会了安卓apk文件反编译
‘玖’ 怎么把手机上的app转化为开发源代码
1.下载apktool所需文件:a、apktool1.5.
2.tar.bz2b、apktool-install-windows-r05-ibot.tar.bz2(windows系统)2.解压刚刚下载的文件,并将解压的局饥文件放入C:Windows目录下
3.启动控制台,输入apktool,回车可查看到apktool工具常用指令
4.新建一个文桐掘返件夹,用于存放apk及待解压的文件,这里笔者将文件夹建在D:apk目录,同时放入用于测试的androidapp包(test.apk)
5.控制台输入:apktooldD:apkest.apkD:apkest进行反编译操作中句话散念中“D:apkest.apk”指apk存放位置,“D:apkest”指反编译后文件存放的位置
6.反编译成功之后,进入D:apkest文件目录可以查看到反编译后的文件