免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 软件破解 > Android 应用程序基础破解入门(3)

Android 应用程序基础破解入门(3)

时间:2012-04-01 22:46来源:未知 整理:寂涯网络 点击:


打开 HelloAndroidActivity..smali 文件代码如下:
.class public Lcn/feicong/HelloAndroid/HelloAndroidActivity;
.super Landroid/app/Activity;
.source "HelloAndroidActivity.java"
# direct methods
.method public constructor <init>()V
.locals 0
.prologue
.line 6
invoke-direct {p0}, Landroid/app/Activity;-><init>()V
return-void
.end method
# virtual methods
.method public onCreate(Landroid/os/Bundle;)V
.locals 1
.parameter "savedInstanceState"
.prologue
.line 10
invoke-super                           {p0,                          p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
.line 11
const/high16 v0, 0x7f03
invoke-virtual                          {p0,                         v0}, Lcn/feicong/HelloAndroid/HelloAndroidActivity;->setContentView(I)V
.line 12 return-void
.end method
可以看出 Smali 文件的内容与 ddx 文件内容差别不是很大,ddx 文件中有一些寄存器跟 踪信息,用注释标了出来,而 Smali 则只对条件判断进行寄存器跟踪,ddx 使用十进制表示 数值,Smali 则使用十六进制(Android 资源 ID 也使用十六进制,我们搜索起来更方便),其它的不做太多比较了,不过目前使用 Smali 格式来分析 DEX 文件的人占多数,这一方面因为它代码漂亮,回编成功率高,更重要的是它能与 Netbeans 配合对 Smali 进行单步调试!! 这不能不说是一个大亮点,详细的内容不是这篇文章的重点,可能以后会跟大家讨论。 上面的介绍部分就到这里了,下面正式进行实战破解环节。Let's GO!

破解实战
 
先说说 APK 的一般破解步骤,
1.对 APK 进行反编译。
2.对反编译的 Smali 文件进行分析或调试。
3.找到突破口,对 Smali 文件进行修改。(还有一种方法,更高效,我正在测试中,成功后与大
家分享)
4.回编生成破解后的 DEX 文件。
5.重新打包生成 APK 并签名。
6.测试效果,不成功转到第二步操作。
试炼品我选择了国内著名公司金山出品的 WPS Android4.0.3 版,此版本的 WPS 是一个
限制试用版,在安装运行后程序会提示软件过期。而目前最新的 WPS 已经免费了(可能并不
好卖,呵呵)。
先安装运行程序,观察它的运行状态,执行这个软件会给出如图 3 的提示:
图3
程序很大方的结出提示说已经过期了,我们点击更新即可以升级到最新版(在这里,我
们就不升级了,因为升级后是免费的,对于我们练手就没搞头了),我们点击取消,程序退
出。
下面我们对这个APK文件进行反编译。使用ApkTool_GUI,运行如图4:
图4
将 APK拖到第一个编辑框中,点击反编译APK,稍等片刻解压完成后会生成与文件名同
名的文件夹,进入里面可以发现多出了一个smali文件夹,这个文件夹里面存放的就是我们
需要分析的 Smali 文件。我们双击打开,可以发现里面竟然有几个文件夹及几千个 smali
文件!!我首次打开时也吃了一惊,如此多的文件让人怎么分析啊(大家可以发怵一下),如
图 5所示:
图5
而且每个文件的文件名也很诡异,全是一些 a-z 的字母组合,打开任意一个 smali 文件
看看,发现里面的方法名也是如此。分析过 C#程序的人可能会觉得这里似乎很类似,是的,
这些代码如同 C#程序里面的混淆器混淆过一样,在 Android 程序开发的 SDK 中,提供了一
套名叫 Proguard 的代码保护机制,它的作用就是通过随机化改变类中的方法及变量名,去
除无用的虚方法、注释等手段让代码变得难以阅读,以此来达到保护程序的目的,在这里可

本页地址 http://www.jybase.net/ruanjianpojie/20120329811.html

百度搜索更多

谷歌搜索更多

顶一下
(6)
85.7%
踩一下
(1)
14.3%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com