“接收”邀请猎犬语音助手



许多人都观看了有关Hound个人助理的演示视频,该视频功能尽可能强大,甚至领先于Google Now和Siri等知名应用程序。猎犬也可以在美国的Google Play上免费下载,但是很遗憾,它正在开发中,需要在启动时发出邀请。

立即我的双手急忙梳理测试这个奇迹,并且厌倦了等待邮件邀请(大约一分钟后),我拿起了调试器...这是我不需要的,因为事实证明一切都比较简单,但是要按顺序进行。

注意:我不是专业的Android开发人员,cracker等,因此请您尽一切努力来满足自己的好奇心和风险。在评论或私人消息中报告任何不正确之处。

首先,您需要使用应用程序获取apk文件。您可以搜索Internet,但我们并不在寻找简单的方法。我从Google Play下载了最新版本,并从/data/app/com.hound.android.app-1文件夹中拉出了该应用程序(需要管理员权限,即root)。

Andoid的任何应用程序都是apk文件,实际上是一个重命名的zip存档。如果使用任何存档器打开它,我们将看到以下图片:



更详细地考虑内容:
  • assets — , , ,
  • lib — .so .
  • META-INF — apk , SHA1 . , , . , , Android , .
  • res — , xml , .
  • AndroidManifest.xml — , , .
  • classes.dex — , (), Java.
  • resources.arsc — , , , res, .

幸运的是,除了第三方库以外,几乎整个应用程序都是用Java编写的,这意味着我们无需坐在调试器中就可以分解低级代码。

现在,您需要解压缩classes.dex并尝试从中获取代码。为此,我们使用Apktool。在“安装”页面上,从命令行下载可执行jar文件以及用于使用它的包装器。将两个文件都复制到应用程序文件夹(或添加到环境变量)并运行以下命令就足够了:

apktool -r decode _.apk

-r选项是必要的,以免浪费时间拆包资源,我们不会编辑。

现在,在与应用程序名称相同的文件夹中,我们已经看到的内容比存档器中的内容多一点。现在缺少classes.dex文件,而是显示smali文件夹,其中将类存储为文本文件。但是,嘿,Java在哪里?周围有一些扩展名为.smali的文件,这些文件远程存储类似于汇编程序的文件。

这是将Java代码编译成的Dalvik操作码语言。有些应用程序可以尝试从这些文件中还原源代码,但是随后您需要更改此代码,并且从Java代码进行重建是一项艰巨的任务。因此,我们将了解smali代码,因为它很容易理解,并且其中的函数名称保持不变。我们将使用。

查找负责访问应用程序的代码。知道了应用程序的名称和英语后,就可以清楚地看到该应用程序的主要类在smali / com / hound / android / appcommon文件夹中。问题是找到邀请被检查的地方。文件搜索将帮助我们,例如,在Windows中,您可以使用以下命令:

findstr /s /i /m _ *.*

该代码可以包含“邀请”或“邀请”,因此我们将删除单词中的最后一个字母并寻找“邀请”。宾果游戏,在这里它是,isInvitationComplete()方法smali / COM /猎犬/安卓/ appcommon /应用/ Config.smali文件

.method public isInvitationComplete()Z
    .locals 2

    .prologue
    .line 578
    const v0, 0x7f080174

    const v1, 0x7f0b001f

    invoke-direct {p0, v0, v1}, Lcom/hound/android/appcommon/app/Config;->getBoolean(II)Z

    move-result v0

    return v0
.end method

它从应用程序参数中请求一个布尔变量,并返回其值。但是,为什么我们需要这样的困难!让我们始终返回true将“ move-result v0”替换为“ const / 4 v0,0x1”,然后保存文件。我们希望整个应用程序都依赖这个小功能,从现在开始,它将考虑我们是完整的beta测试人员。

剩下的只是将应用程序组装回去。我们再次使用了出色的Apktool实用程序:

apktool -r build _

不要忘记,在此之前我们需要解压缩整个文件夹,而不仅仅是smali。 apktool完成工作后,转到此文件夹,然后至dist,即已组装的apk文件所在的位置。

而且它将无法正常工作,或者将无法安装。我们更改了应用程序的内容,这意味着签名现在无效。您必须重新签名应用程序。如果您是Android开发人员,则可以使用自己的签名和Android SDK。但是很多都没有,它们可以使用测试签名,并且可以从SDK实用程序signapk.jar中单独获取。还有一个sign.jar实用程序已经内置了签名。运行以下命令就足够了:

java -jar sign.jar _.apk

接下来出现文件file_name.s.apk,它将是已签名的应用程序。我们将其上传到设备上,进行安装,并享受完整运行的应用程序!



您可以在Internet上找到某人最近发布的补丁程序版本

All Articles