当前位置:首页 » 编程软件 » 安卓程序在内存中反编译出代码

安卓程序在内存中反编译出代码

发布时间: 2023-08-11 18:24:32

㈠ 是不是所有的程序都可以反编译得到原代码

Android APK中的java代码可以被反编译到什么程度主要看APK的加密程度。

第一种情况:无混淆无加密无加壳。
直接利用Dex2jar和JD-GUI可把源码从APK里抠出来,代码逻辑清晰,基本上做到可复用,只是资源文件的引用需要计算一下。

第二种情况:混淆。
通常是利用Proguard做的防护。因为是对jar做的不可逆混淆(除非有mapping),因此不能还原成原来的代码。但是代码结构,代码逻辑一致,只要花长时间对代码进行梳理一样可找准核心代码,解密方法跟第一种一致。

第三种情况:加密。
这里以DexGuard为例。对于这种代码加密的方法,在程序运行中必定会进行解密,只要抽出它解密的逻辑便可。PS:我自己做过DexGuard的解密,如果用Dex2jar反编译看的话逻辑是不对的,一定要从Smali代码看。后来发现网上已经有人做了。
解密的脚本:A look inside Dexguard

第四种情况:加壳。
这种情况跟第三种类似。无论你怎么加壳,运行的时候必定是Dalvik可识别的Odex代码,建议直接在内存里mp出来。这里推荐Xpose的ZjDroid。

㈡ android反编译生成的代码如下 像MainActivity.access$000(this.this$0);这样的代码该怎样解释,怎么改

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

在调用的外部类方法定义代码的上面,应该会有一段。methodstaticsyntheticaccess$0。

的代码,这个代码里面才是真正要调用的方法。

安卓虚拟机指令在调用外部类方法的时候,需要区分类的调用关系。

thiscmdisdeprecated,usethed2j-dex2jarifpossible

dex2jarversion:translator-0.0.9.15

dex2jar..Apkd(d2j)classes.dex->..Apkd(d2j)classes_dex2jar.jar



(2)安卓程序在内存中反编译出代码扩展阅读

反编译是一个复杂的过程,反编译软件有:

1、SWF相关的反编译程序

ActionScriptViewer

第一个也是最强大的商业SWF反编译工具,同类产品中,它的AS代码反编译效果最好,SWF转Fla工程重建成功率最高。

2、Android相关的反编译程序

SMALI/BAKSMAL

SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。

㈢ exe的安装包,如何反编译查看代码

1、首先新建一个android项目,里面只有一个mainactivity,而且主界面只会显示一个字符串:你好。
2、下面,切换到这个项目生成的apk文件所在的目录,可以看到有一个hellodemo.apk。
3、在命令行输入:apktool
d
-r
hellodemo.apk。可以看到在当前目录下生成了一个hellodemo文件夹
4、进入到hellodemo\smali\com\example\hello,打开mainactivity.smali。找到:
const-string
v1,
"\u4f60\u597d",
修改为:
const-string
v1,
"hello",
5、然后在命令行输入:apktool
b
hellodemo
hellodemo1.apk。这回重新打包成hellodemo1.apk。
6、然后给新生成的apk进行签名。把这个apk拷贝到autosign的目录下面,然后切换过去,在命令行输入:java
-jar
signapk.jar
testkey.x509.pem
testkey.pk8
hellodemo1.apk
hellodemo.apk。
7、把生成的hellodemo.apk安装到手机,可以看到主界面上已经显示的是hello,而不再是你好。说明反编译重新打包成功!

㈣ 求教安卓apk反编译,添加广告教程

工具:
apktool,作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
dex2jar,作用:将apk反编译成java源码(classes.dex转化成jar文件)
jd-gui,作用:查看APK中classes.dex转化成出的jar文件,即源码文件

反编译流程:
一、apk反编译得到程序的源代码、图片、XML配置、语言资源等文件
下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,
打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk test
(命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] [输出文件夹])

获取成功之后,发现在文件夹下多了个test文件,点击便可以查看该应用的所有资源文件了。
如果你想将反编译完的文件重新打包成apk,那你可以:输入apktool.bat b test(你编译出来文件夹)便可
之后在之前的test文件下便可以发现多了2个文件夹:

build
dist(里面存放着打包出来的APK文件)

二、Apk反编译得到Java源代码
下载上述工具中的dex2jar和jd-gui ,解压
将要反编译的APK后缀名改为.rar或则 .zip,并解压,得到其中的额classes.dex文件(它就是java文件编译再通过dx工具打包而成的),将获取到的classes.dex放到之前解压出来的工具dex2jar-0.0.9.15 文件夹内,
在命令行下定位到dex2jar.bat所在目录,输入dex2jar.bat classes.dex,
在改目录下会生成一个classes_dex2jar.jar的文件,然后打开工具jd-gui文件夹里的jd-gui.exe,之后用该工具打开之前生成的classes_dex2jar.jar文件,便可以看到源码了

㈤ android程序很容易被反编译吗

apk其实就是zip文件,你修改后缀名是可以解压的。里面有.dex文件。
android代码可以做混淆,创建android application后可以在Eclipse看到目录下有proguard文件,在这里设置代码混淆。

㈥ 如何将反编译android代码,并添加到eclipse中查看

反编译android代码并在eclipse中查看:

apk反编译得到程序的源代码、图片、XML配置、语言资源等文件

下载上述工具中的apktool,解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,

打开命令行界面(运行-CMD),定位到apktool文件夹,输入以下命令:apktool.bat d -f test.apk test

㈦ android反编译时,下面的文件怎么在cmd里运行

【在命令行下定位到dex2jar.bat所在目录,运行dex2jar.bat classes.dex】的步骤:win+r键,输入cmd回车(如果是win7,开始-输入cmd搜索,出现cmd.exe右键以管理员运行)弹出的命令框输入dex2jar.bat所在的盘的盘符+冒号如(f:)括号内为输入内容回车,接着输入cd+dex2jar.bat所在的文件夹名(看你的图片文件夹名为d)cd d回车,接着可以使用dex2jar.bat命令了(输入dex2jar.bat classes.dex 回车就得到您最后说的“
运行 dex2jar.bat classes.dex
,生成classes.dex.dex2jar.jar”
”了

热点内容
安卓哪个国家免费用 发布:2025-02-04 22:39:54 浏览:60
电脑配置低但想玩小偷模拟器怎么办 发布:2025-02-04 22:39:03 浏览:233
最快脚本语言 发布:2025-02-04 22:27:23 浏览:527
安卓的人脸识别在哪里 发布:2025-02-04 22:16:45 浏览:674
悠然服务器的ip是什么 发布:2025-02-04 22:10:17 浏览:65
3des源码 发布:2025-02-04 22:09:16 浏览:809
如何备份数据库表 发布:2025-02-04 22:09:07 浏览:294
如何删除下载的闹钟铃声安卓 发布:2025-02-04 22:03:35 浏览:660
死神脚本 发布:2025-02-04 21:57:03 浏览:169
phpposthtml 发布:2025-02-04 21:37:46 浏览:89