导航:首页 > 源码编译 > 快速看懂安卓反编译代码

快速看懂安卓反编译代码

发布时间:2023-02-14 08:57:15

① 安卓4.0如何反编译resources.arsc

resources是APK中的资源文件,例如图片布局等等,android 反编译的方法,需要用到几个工具,网络一下都能找到下载地址
dex2jar JD-GUI apktool

反编译步骤:
1.反编译Apk得到java源代码
首先要下载两个工具:dex2jar和JD-GUI
前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。

具体步骤:
1.首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的;
2.解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录
运行 dex2jar.bat classes.dex
生成 classes.dex.dex2jar.jar

2.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
还是下载工具,这次用到的是apktool

具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar
1.解压缩下载的两个文件包,apktool-install-windows-r04-brut1.tar解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool1.4.1.tar解压后的一个.jar 文件到解压后的\apktool-install-windows-r04-brut1文件夹里)
2.特别注意:你要反编译的文件一定要放在C盘的根目录里

② 求安卓软件反编译修改教程

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里的同名文件,最后重新签名。注意安装时要先删除原来手机里的版本,因为签名不同。

③ 怎样查看 Android APP 源代码

需要把反编译的apk存放到apktools同级文件夹目录下,然后运行要查看的安装包,具体操作如下:

1、首先把反编译的apk存放到apktools同级文件夹目录下,如下图所示。

④ 对已经混淆的Android代码,如何进行反编译

android代码混淆是指安卓开发者或者组织为了防止自己的产品敏感信息或者技术机密被人破解,而在生成apk文件的时候,通过设置一些替换规则,使java文件中指定的代码类的名字或者成员名字变为没有任何意义的字母,然后编译成class文件的过程。

已经混淆过的android代码反编译出来的都是一些没有任何意义的名字,是很难读懂的。没有好的办法。

⑤ Android反编译结果分析

access$0表示调用一个外部类的方法,说明你这段代码是在内部类中使用的

在你调用的外部类方法定义代码的上面,应该会有一段.method static synthetic access$0
的代码,这个代码里面才是真正你要调用的方法。

安卓虚拟机指令在调用外部类方法的时候,需要区分类的调用关系,即哪个类调用了哪个类
其中,这个
this.this$0在你的文件中应该能找到,搜索this$0即可发现,他应该是指向某个Activity

专业无源代码的 安卓 APK 反编译、修改,只有你想不到,没有做不到
@@ 724949472

⑥ 安卓反编译学习什么

这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。
在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。

本文Android反编译教程,测试环境:
Win7 Ultimate x64
Ubuntu 12.04
x86_x64
反编译工具包 下载
(2012-10-10更新)

一、Apk反编译得到Java源代码

下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。
apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件
源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码

dex2jar
和 jdgui 最新版本下载,分别见google code:
dex2jar(google code)
jdgui(google code),最新版本请见 官方

具体步骤:
首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。
在命令行下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex
生成
classes_dex2jar.jar

然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了

⑦ Androidapp证书反编译代码

反编译代码dex2jar。
在学习android程序的开发过程中,有时候需要借鉴别人的代码,提升自己的开发水平。
前面说了反编译,我们当然不希望我们的应用被别人反编译,所以就得在打包的时候进行代码混淆,这样的包也可反编译出代码,但是代码的可读性很低,从而达到保护代码的目的。

⑧ 如何反编译android应用并重新打包

一.看android的源代码

1)将Apkd.apk 用zip解压后,出现了一个classes.dex文件
2014/02/19 19:42
.
2014/02/19 19:42
..
2014/02/19 15:35 1,656 AndroidManifest.xml
2014/02/19 15:35 687,024 classes.dex
2014/02/19 15:49
META-INF
2014/02/19 15:49
res
2014/02/19 15:35 2,200 resources.arsc
2)进入到dex2jar目录中,运行情况如下:
D:\developer\tools\test_apk\dex2jar-0.0.9.15>dex2jar.bat "..\Apkd(d2j)\classes.d
ex"
this cmd is deprecated, use the d2j-dex2jar if possible
dex2jar version: translator-0.0.9.15
dex2jar ..\Apkd(d2j)\classes.dex -> ..\Apkd(d2j)\classes_dex2jar.jar
Done.
在apk所在的目录会出现 classes_dex2jar.jar 文件。
3) 用JD-GUI对jar包进行查看,可以查看源文件

二.反编译apk

1.在下载APKTOOL中的三个文件(aapt.exe、apktool.bat、apktool.jar)解压缩到你的Windows安装目录下,以方便使用Dos命令.
2012/12/06 11:44 854,016 aapt.exe
2014/02/19 17:15 277,372 Apkd.apk//示例用apk文件
2012/12/23 23:39 92 apktool.bat
2013/02/03 02:37 2,655,843 apktool.jar
2.进入到apktool.bat所在的目录,运行:
apktool d Apkd.apk decode_dir
反编译后,decode_dir目录下的内容如下:
2014/02/19 17:16 716 AndroidManifest.xml
2014/02/19 17:16 237 apktool.yml
2014/02/19 17:18
build
2014/02/19 17:16
res
2014/02/19 17:16
smali
此时我可以查看原文件AndroidManifest.xml了,也是查看smali源文件(是用smali语言写的,可以对照java看)。

三.APKTOOL的使用

1).decode
该命令用于进行反编译apk文件,一般用法为
apktool d

代表了要反编译的apk文件的路径,最好写绝对路径,比如C:\MusicPlayer.apk
代表了反编译后的文件的存储位置,比如C:\MusicPlayer
如果你给定的已经存在,那么输入完该命令后会提示你,并且无法执行,需要你重新修改命令加入-f指令
apktool d –f

这样就会强行覆盖已经存在的文件
2).build
该命令用于编译修改好的文件,一般用法为
apktool b

这里的
就是刚才你反编译时输入的
(如C:\MusicPlayer),输入这行命令后,如果一切正常,你会发现C:\MusicPlayer内多了2个文件夹build和dist,其中分别存储着编译过程中逐个编译的文件以及最终打包的apk文件。
3).install-framework
该命令用于为APKTool安装特定的framework-res.apk文件,以方便进行反编译一些与ROM相互依赖的APK文件。具体情况请看常见问题

四.smali与java源码对照,并做出相应的修改

java源代码:

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.*;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView a = (TextView)this.findViewById(R.id.test) ;
a.setText("raoliang");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

对应的smali源代码:
.class public Lali/text/apkd/MainActivity;
.super Landroid/app/Activity;
.source "MainActivity.java"

# direct methods
.method public constructor ()V
.locals 0

⑨ android反编译怎么看资源文件

首先需要反编译的三个软件:

apktool:资源文件获取;

dex2jar:源码文件获取;

jd-gui:源码查看。


反编译流程:


1. apk反编译得到程序的源代码、资源文件

1.1 apktool解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,现在用weixin做实验(这里仅是示范作用),将需要反编译的weixin_800.apk文件放到该目录下,打开命令行界面(运行-CMD),定位到apktool文件夹,输入以下命令:apktool d [-s] -f weixin_800.apk -o weixin; 其中weixin_800.apk是要反编译的apk文件名,weixin是反编译后存放的目录文件,此文件不需要新建,反编译后会自动生成

1.2 打开weixin文件夹,res就是要找的资源文件,目录结构和平时建的项目很像。

1.3 这时候打开D:apktoolweixin esanim下a.xml看下,xml文件轻而易举的获取了


2. Apk反编译得到Java源代码

2.1 解压dex2jar和jd-gui文件;将要反编译的APK后缀名改为.zip,并解压,得到其中的classes.dex文件,将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15文件夹内

2.2 在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex

2.3 这个时候会发现dex2jar-0.0.9.15文件夹多了一个classes_dex2jar.jar文件

2.4 现在就可以用工具jd-gui.exe打开这个jar了

2.5 通过反编译,可以知道别人用到了哪些库文件,它的代码大体是如何编写的等等。有了思路就可以自己尝试了。

⑩ 跪求android apk反编译详细教程,本人着实愚笨,看不懂网上滴步骤

一、更改apk文件的后缀名,如:LianyunHelper3.0.11.apk改成LianyunHelper3.0.11.zip
二、用zip解压缩LianyunHelper3.0.11.zip文件
三、从解压缩的文件夹中取出classes.dex文件并放到dex2jar.bat所在目录
四、运行cmd命令,进入dex2jar.bat所在的目录,输入dex2jar.bat classes.dex即可生成classes.dex.dex2jar.jar文件
五、用jd-gui工具打开classes.dex.dex2jar.jar文件,即可看到源码
六、将AndroidManifest.xml文件放到AXMLPrinter2.jar所在目录,运行cmd命令,进入 AXMLPrinter2.jar所在目录,输入java -jar AXMLPrinter2.jar AndroidManifest.xml > AndroidManifest.txt。

阅读全文

与快速看懂安卓反编译代码相关的资料

热点内容
想妈妈的命令 浏览:578
网站接入方式怎么填写云服务器 浏览:859
薯仔视频APP怎么看不了 浏览:550
社交软件app该怎么聊 浏览:23
pc的启动文件夹 浏览:671
文件夹压缩过程中点击取消压缩 浏览:215
顺丰app专享优惠券怎么用 浏览:667
酷狗音乐分享文件夹 浏览:826
服务器mgmt旁边的接口是什么 浏览:844
单片机发光二极管原理图 浏览:50
在北京当程序员6年 浏览:128
编译器gcc如何用 浏览:412
androidbringup 浏览:978
算法设计与分析英文版 浏览:911
java程序员加班吗 浏览:142
编译检查的是什么错误 浏览:405
加密兔f码生成器免费 浏览:292
思科路由器命令明文加密 浏览:171
方舟生存进化服务器如何改名字 浏览:892
央行数字货币app怎么注册 浏览:431