decompile APK + eclipse to debug

简介: 反编译第三方APK.并且调试第三方APK用的工具如下: dex2jar baksmali.jarsmali.

反编译第三方APK.并且调试第三方APK


用的工具如下:

 dex2jar

 baksmali.jar

smali.jar

re-sign.jar

jd-gui.exe

1.反编译APK获取的源码

   先解压缩APK 获取classes.dex,使用 dex2jar 获取 能看懂的jar,再导出所有源码到outSource文件夹中

2.将获取到的classes.dex 使用 baksmali.jar编译成 *.smali文件

java -jar E:\开发工具\Smali2Java\baksmali-2.0.3.jar -o classout/ classes.dex 

3.在入口Activity的OnCreate()方法中添加一句调试语句( 是smali文件哦)

a=0;// # virtual methods
a=0;// .method protected onCreate(Landroid/os/Bundle;)V
a=0;//     invoke-static {}, Landroid/os/Debug;->waitForDebugger()V
a=0;// 
a=0;//     .locals 1
a=0;//     .param p1, "savedInstanceState"    # Landroid/os/Bundle;
a=0;// 
a=0;//     .prologue
a=0;//     .line 11
a=0;//     invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

4.打包修改后的*.smali文件到新的dex (破解就在这步,修改相关方法再重新打包变成破解软件,smali文件不好读,结合前面导出的源码还是可以找到对应方法的)

java -jar E:\开发工具\Smali2Java\baksmali-2.0.3.jar classout/ -o classes.dex   

5.将新的classes.dex添加到原来的APK包中

并使用re-sign.jar签名(re-sign.jar会自动使用debug签名)

6将应用安装到手机或模拟器(先要删除手机或模拟器上原版程序)

7新建eclipsejava工程引入outSource文件夹中的源码

8连接手机后再DDMS中观察到 应用监听的调试端口是多少


9 再启动Debug模式  Run> Debug -> Debug Configurations


就会发现 断点调试成功了



如果需要打正式包, 只要将第5步修改成 来完成签名即可 (该签名下不可以调试)

d2j-apk-sign  demo.apk   



目录
相关文章
|
10月前
|
缓存 安全 数据可视化
Java如何Debug - Eclipse
Java如何Debug - Eclipse
133 0
|
Android开发
Eclipse无法DEBUG
Eclipse无法DEBUG
136 0
|
IDE Java 开发工具
Eclipse使用过程中快捷键的那些故事| Java Debug 笔记
Eclipse使用过程中快捷键的那些故事| Java Debug 笔记
90 0
|
XML Java 应用服务中间件
启动tomcat时,eclipse莫名奇妙自动跳转到debug模式
启动tomcat时,eclipse莫名奇妙自动跳转到debug模式
184 0
|
程序员 Android开发
eclipse中debug不显示变量
当eclipse中debug不显示变量时应该如何做?本文带大家解决这个问题。
599 0
eclipse中debug不显示变量
|
Java Android开发
Eclipse Debug
Eclipse Debug
127 0
|
开发工具 Android开发 开发者
Eclipse 开发工具(debug 调试)|学习笔记
快速学习 Eclipse 开发工具(debug 调试)
|
Android开发 Java 开发工具
如何在eclipse中快速debug到想要的参数条件场景下
前言 俗话说,工欲善其事必先利其器。 对于我们经常使用的开发工具多一些了解,这也是对我们自己工作效率的一种提升。 场景 作为开发,我们经常会遇到各种bug,大部分的bug很明确,我们直接可以打断点定位到。
1322 0
|
Android开发
关于Android Studio 打包APK时debug安装可以安装, release 无法安装问题
今天打包一个apk发给系统定制方进行系统内置,但是打包apk之后进行测试安装时到问题,打包好的release版本apk无法在测试机上面进行安装,问候度娘之后归类出如下解决方法: 1、第一种产生的原因是: 问题产生 原因 如图,在打包 release 版本时候,仅选择了v2 (Full APK Signature)这个勾选出框,导致安装的时候 测试机会进行报错,无法安装app 第一种解决方式为: 解决方式 将两个勾选框全部勾选上即可顺利安装 2、第二个解决方式简单粗暴,但是我没有尝试,但是按照道理来说可行。
1874 0