首页
社区
课程
招聘
[旧帖] 如何逆向andriod系统上的应用程序 0.00雪花
发表于: 2011-9-20 16:13 7277

[旧帖] 如何逆向andriod系统上的应用程序 0.00雪花

2011-9-20 16:13
7277
最近在用IDA远程调试andriod系统上的应用程序,可是发现IDA上的发包断点对这些应用程序毫无用处。不知道哪位大侠,调试过该系统的应用程序,帮忙解决解决,或提点思路,谢谢

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 23
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
一.反编译Apk得到Java源代码
首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。以下是下载地址:dex2jar:facK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4S2K9h3y4Z5j5h3!0Q4x3X3g2Y4L8$3!0Y4L8r3g2U0L8$3c8W2i4K6u0W2j5$3!0E0i4K6u0r3k6X3W2D9k6i4y4Q4x3V1k6V1k6i4R3J5K9X3q4J5i4K6u0V1x3q4)9J5k6e0m8Q4x3X3f1%4i4K6u0V1f1@1&6m8f1q4y4t1e0#2c8Q4x3X3g2*7K9i4l9`. JD-GUI:da6K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3I4S2K9h3y4Z5j5h3!0Q4x3X3g2Y4L8$3!0Y4L8r3g2U0L8$3c8W2i4K6u0W2j5$3!0E0i4K6u0r3k6X3W2D9k6i4y4Q4x3V1k6B7k6r3N6#2K9g2)9J5k6i4A6A6M7l9`.`.

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

生成classes.dex.dex2jar.jar

运行JD-GUI,打开上面生成的jar包,即可看到源代码了。
二.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件
如果是只是汉化软件,这将特别有用。首先还是下载工具,这次用到的是apktool,下载地址:

d6eK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4G2k6r3g2Q4x3X3g2Y4L8$3!0Y4L8r3g2Q4x3X3g2U0L8$3#2Q4x3V1k6H3i4K6u0r3j5h3&6V1M7X3!0A6k6q4)9J5k6r3q4H3K9%4c8G2L8$3I4Q4x3V1k6Q4c8f1k6Q4b7V1y4Q4z5p5y4S2M7r3E0@1L8$3!0D9i4K6u0V1x3g2)9J5k6e0m8Q4x3X3f1H3i4K6u0W2N6r3q4J5i4K6u0W2j5Y4Z5J5i4@1f1#2i4K6V1J5i4K6S2o6j5i4m8C8N6r3!0G2L8q4)9J5k6r3W2F1M7%4c8S2L8r3I4Q4x3X3c8%4K9h3&6V1L8%4N6K6i4K6u0V1x3W2)9J5k6e0q4Q4y4h3k6J5x3o6q4Q4x3X3b7I4i4K6u0W2P5X3W2H3i4@1f1@1i4@1t1^5i4@1p5@1i4@1f1@1i4@1t1^5i4@1q4m8i4@1f1#2i4K6S2o6i4K6R3#2i4@1f1&6i4K6R3K6i4@1u0p5i4@1f1^5i4@1p5$3i4K6R3I4i4@1f1@1i4@1t1^5i4K6S2n7i4@1f1K6i4K6R3H3i4K6R3J5

具体步骤:
将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar;
在命令行下定位到apktool.bat文件夹,输入以下命令:
apktool d C:\***.apk  C:\***文件夹

命令行解释:apktool d [要反编译的apk文件 ] [输出文件夹],特别注意:你要反编译的文件一定要放在C盘的根目录里;

将反编译完的文件重新打包成apk,很简单,输入apktool b c:\***文件夹(你编译出来文件夹)即可。
2011-9-21 09:41
0
雪    币: 61
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我已经按你说的得到java代码,但是加密的密钥并不能从代码中找到,我现在想到的只能是逆向调试来获取密钥。其他我也想不到什么办法了,你还有好的思路吗,谢谢
2011-10-17 14:22
0
雪    币: 139
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个不懂,帮你顶啊
2011-10-17 17:16
0
雪    币: 73
活跃值: (17)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
按照2L说的还原得到Java代码后 用DDMS调试
2011-10-18 09:32
0
雪    币: 2676
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是不是有native code的库,可能在这样的库里面。
2011-10-18 09:39
0
雪    币: 61
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
可是这些java代码我新建了eclips工程后,有很多错误,根本运行不起来。我曾经尝试着用ida远程附加andriod上的进程,但是得到的反汇编一个我看不懂,另一个是我下send等发包类函数都断不住。
2011-10-18 12:35
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我的ollyice不能调试user32.dll
其他的dll都可以
为什么
2011-10-18 19:03
0
雪    币: 61
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看来IDA远程调试andriod系统,似乎没人知道啊
2011-10-27 09:53
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
学习了解,期待解答ing
2011-10-27 10:04
0
游客
登录 | 注册 方可回帖
返回