天天酷跑破解版外挂来一个

天天酷跑怎么开挂 天天酷跑开挂方法 - 酷网游戏
当前位置:
天天酷跑怎么开挂 天天酷跑开挂方法
所属栏目:
&&&发布时间: 日&&&文章来源:本站原创
天天酷跑怎么开挂 天天酷跑开挂方法
一般天天酷跑开挂都是使用破解版的。大家直接下载个破解版开挂就行了。这里提供一个比较主流的明哥破解版,大家感兴趣可以去试下。
以上就是天天酷跑怎么开挂 天天酷跑开挂方法的全部内容。更多,请关注!天天酷跑刷分辅助下载 _天天酷跑刷分辅助免费版下载 - pc6下载站【原创】xx助手之天天酷跑外挂详细分析 - 看雪安全论坛
本站声明:看雪论坛文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者信息及本声明!
『安全编程论坛』 版主
注册日期: Sep 2009
现金: 334 Kx
获感谢文章数:17获会员感谢数:37
【原创】xx助手之天天酷跑外挂详细分析
标 题: 【原创】xx助手之天天酷跑外挂详细分析 作 者: 莫灰灰
时 间: ,21:28:09 链 接: /showthread.php?t=187948
近些年来,移动互联网的大肆崛起,潜移默化中影响着人们的生活和工作习惯。当腾讯的微信平台接入手机游戏之后,移动端的游戏也开始火了起来,这更是改变了人们长久以来的游戏娱乐习惯。茶余饭后,小伙伴们掏出“家伙”打个飞机已是习以为常的事情了。加之移动客户端游戏开发周期短,投入少等特点,很多初创公司也纷纷投入到这个领域中来,并且很多游戏都取得了不错的成绩。就在前不久,全球游戏巨头暴雪的新游戏《炉石传说》也推出了iPad版本,更加印证了移动端的重要性。
&&如同PC端一样,移动端游戏的兴起,自然也就造就了游戏外挂产业的火热市场。大名鼎鼎的xx助手就是这样一款移动端的游戏外挂软件,它不仅功能强大,而且兼容IOS和Android等多平台系统。正所谓树大招风,接下来,我们就来对其内部实现做一个详细的分析,来一窥Android平台下游戏外挂的实现原理。
特此申明:本文涉及的代码与分析内容仅供学习交流使用,任何个人或组织不得使用文中提到的技术做违法犯罪活动,否则由此引发的任何后果与法律责任本人概不负责。
MIUI-JHACNBA13.0(已越狱)
叉叉助手Beta1.1.2
&&在分析程序之前,我首先去下载了《欢乐斗地主》、《全民飞机大战》、《天天酷跑》三款腾讯的热门游戏,打开xx助手,界面如图1所示。
screen.width*0.6) {this.width=screen.width*0.6;this.alt='';this.onmouseover=this.style.cursor='pointer'; this.onclick=function(){window.open('/attachment.php?s=cecd2997dba87ee1ab8fc6&attachmentid=89251&d=')}}"
图1&&此时,xx助手已经检测到机器上安装的游戏了,在xx助手里面下载相应游戏的外挂程序之后点击“启动游戏”来打开天天酷跑,界面如图2所示。
图2&&很明显,从xx助手中打开游戏会发现右边多了一个设置按钮,点击设置,在弹出的界面中我们可以设置相应的“飞行距离”、“奖励倍数”等。&
打开DDMS,使用File&Explorer工具定位到/data/data/com.xxAssistant,查看目录结构如图3所示。
图3&&仔细查看图3中的app_plugin目录,发现其中恰好有三个子级目录,分别对应了酷跑,欢乐斗地主和飞机大战的外挂插件。
&&到目前为止,单从这个目录结构中,我们大致可以得出如下一个猜想,即:xx助手主程序只是一个启动器,用来启动各个游戏外挂,更多时候,可以把它理解为是一个游戏外挂的发布平台,本身并不具备修改游戏的功能。而每一个插件目录才是具体实现某个游戏的外挂程序。例如,拿103目录来说,xxUI.apk是上述图2中看到的那个游戏中出现的设置界面,libxxkupao.so是实现hook游戏关键函数,修改游戏功能的重要库文件,而xxplist可能是某个配置文件。为了印证自己的猜测是否正确,我们利用工具把103插件目录导出到本地来做详细分析。
1、com.tencent.pao.xxplist
用文本编辑器打开插件目录下的com.tencent.pao.xxplist文件,内容如图4。
screen.width*0.6) {this.width=screen.width*0.6;this.alt='';this.onmouseover=this.style.cursor='pointer'; this.onclick=function(){window.open('/attachment.php?s=cecd2997dba87ee1ab8fc6&attachmentid=89254&d=')}}"
图4经过简单的分析,此文件确实是为xx助手的配置文件。其中,game-name字段为被操作的游戏包名;apk-path字段为具体外挂的apk文件;ui-name字段则是外挂启动后的主Activity;activity-name字段为游戏的主Activity;so-path字段则为具体实现hook游戏相关函数,patch游戏进程的主要文件。
2、xxzhushou_android.apk
&&此apk文件为xx助手的安装文件,经过详细分析,xx助手主程序主要实现了下载指定游戏外挂、启动游戏、解析上述xxplist、把外挂dex注入到游戏进程等功能。而且这一整套东西的实现与具体的某个游戏是松耦合的,堪称是一个游戏外挂的发布平台呀。(由于我们今天主要分析的是游戏外挂的实现原理,下回有时间再写一篇详细分析xx助手的文章,所以在这里,关于xx助手本身的功能就先一笔带过了)
3、xxUI.apk
这个包文件是进入游戏之后主要显示的外挂设置界面,具体如图2所示。下面我们来具体分析下其实现原理。
解包xxUI.apk,使用Java&Decompiler工具查看解密出来的类java代码,代码结构如图5所示。
screen.width*0.6) {this.width=screen.width*0.6;this.alt='';this.onmouseover=this.style.cursor='pointer'; this.onclick=function(){window.open('/attachment.php?s=cecd2997dba87ee1ab8fc6&attachmentid=89255&d=')}}"
图5发现代码并没有经过加密混淆,下面我们首先来看看xxkupao这个类的实现,如图6所示。
图6这个类的init函数首先保存so&path路径,然后调用show函数初始化界面布局。show函数中调用initView来创建Setting和About&View,并使用线性布局来排版界面。接下来我们来看看Setting&View的实现,如图7。
图7这个Setting&View类的大致功能是,首先保存so文件的路径,即/data/data/com.xxAssistant/app_plugin/103/libxxkupao.so,然后调用initNativeFunc函数加载so文件,并开始patch游戏的相关函数,接着调用initView函数初始化界面中的各种控件。
具体来看下initNativeFunc函数,图7中这个函数反编译出来的代码并不是很准确,大致的代码应该是这样的,如图8所示。
screen.width*0.6) {this.width=screen.width*0.6;this.alt='';this.onmouseover=this.style.cursor='pointer'; this.onclick=function(){window.open('/attachment.php?s=cecd2997dba87ee1ab8fc6&attachmentid=89258&d=')}}"
图8InitNativeFunc函数首先加载so文件,然后通过调用set方法设置相应的外挂属性。最后判断CPU的类型,实施不同的hook方案(因为天天酷跑这个游戏会根据CPU的不同而释放不同的游戏so文件,所以hook的时候代码偏移都有所不同,这里hook方案的不同主要就是为了配合游戏释放出来的文件不同)。其中这里的set方法和xxdohook函数都是JNI调用,即在java层中调用底层c或者c++的代码,不知道这方面知识的同学可以学习下NDK开发。
4、libxxkupao.so
通过上面的分析之后,我们知道&xxUI.apk其实是通过JNI调用实现的,具体功能的实现都在这个so文件中。
&&具体来看下setBonus,即设置奖励倍数方法的具体实现吧,其他都大同小异了。使用IDA打开libxxkupao.so,定位到Java_com_xxAssistant_UI_xxkupaoSettingView_setBonus函数,汇编代码如图9所示。
图9&&JNI调用的前面两个参数是系统传进来的,我们不必关心,参数3是我们自己传进来的奖励倍数,是一个整形的数值,经过简单处理之后把奖励倍数保存为全局变量,供后面函数调用使用。
&&下面我们来看看xxdohook函数的实现,由于函数太长,主要以奖励倍数功能的实现开始分段讲解。
(1).保存传进来的参数到局部变量中,参数3即是我们自己传进来的参数,根据CPU类型来决定hook类型。
(2).获取游戏进程中libGameApp.so的基址。
(3).根据CPU的不同,java层会传递不同的参数下来,用以实现不同的hook。其中大体的实现思路是一样的,主要是因为不同的CPU,游戏释放出来的so文件是不同的,所以两种hook类型基本上只是文件偏移的不同,下面我们选择其中的一个分支来进行详细介绍。
screen.width*0.6) {this.width=screen.width*0.6;this.alt='';this.onmouseover=this.style.cursor='pointer'; this.onclick=function(){window.open('/attachment.php?s=cecd2997dba87ee1ab8fc6&attachmentid=89262&d=')}}"
(4).获取到游戏so文件基址之后,调用dlsym方法根据符号名试图解析出AddScore函数的地址。
(5).如果通过符号找到了相应函数的地址,那么就调用MSHookFunction函数进行hook游戏的关键call,以此来改变游戏的执行流程。(MSHookFunction是Cydia&Substrate的库函数,此框架功能强大,支持Android和IOS的hook)
(6).当然,通常情况下,我们并没有游戏的符号文件,所以在第(4)步中调用dlsym函数解析符号地址的时候就已经失败了,那么此时函数便会根据硬编码地址来进行hook。
(7).至此,游戏的patch工作已经全部完成,接下来就可以开始玩游戏了。游戏在运行过程中,会进入到我们的hook函数中。例如,一局游戏结束后,那么系统会给予一定奖励,此时,便会进入我们的mine_AddScore函数中开始执行,下面我们来看下此函数的具体实现。
图16&&经过分析,此函数的实现逻辑其实很简单,例如我设置了奖励倍数为10,那么hook代码就会循环调用10次游戏本身的addScore函数来实现多倍奖励的功能。
总体的调用过程用一张图来说明就更加形象了,如图17所示。
&&游戏的设计和架构在很大程度上与网络资源息息相关。基于移动端网络的不稳定性,以及国内网络流量资费比较昂贵等特点,大多数移动端游戏都会将绝大部分的功能放在本地来实现,只有绝少部分重要的信息才会与服务器端进程同步,例如装备、资金的变更。因此,游戏外挂只要patch掉本地游戏的关键函数就能达到类似无敌、穿墙、飞行等变态功能。
&&基于以上的特点,游戏作者可以额外的开一个线程来定时检测自身代码是否被恶意篡改了。但是,线程和定时器又是很容易被外挂patch掉的,因此,不管是PC端游戏还是移动端游戏,外挂与游戏的斗争始终都不会结束。
&&&&&&&&mail:&
&&&&&&&&移动平台安全交流QQ群:(刚建的)
*/*转载请注明来自看雪论坛@
被 莫灰灰 最后编辑
共 7 位会员感谢 莫灰灰 发表的文章:
&(), &(), &(), &(), &(), &(), &()
注册日期: Aug 2013
现金: 100 Kx
获感谢文章数:0获会员感谢数:0
, 21:38:37
注册日期: Oct 2013
现金: 1646 Kx
致谢数: 206
获感谢文章数:89获会员感谢数:1,780
, 21:45:14
灰灰也转安卓了?
『安全编程论坛』 版主
注册日期: Sep 2009
现金: 334 Kx
获感谢文章数:17获会员感谢数:37
, 22:18:50
最初由 安于此生发布
灰灰也转安卓了?
我是业余时间看看,哈哈。
注册日期: Aug 2013
现金: 54 Kx
获感谢文章数:0获会员感谢数:0
, 22:22:14
最初由 莫灰灰发布
我是业余时间看看,哈哈。
注册日期: Apr 2014
现金: 52 Kx
获感谢文章数:0获会员感谢数:0
, 22:30:58
最初由 莫灰灰发布
我是业余时间看看,哈哈。
灰哥,&斗争&写成&斗阵&去了...
注册日期: Dec 2007
现金: 333 Kx
获感谢文章数:1获会员感谢数:20
, 22:32:59
写的很详细啊&&支持了!
注册日期: May 2012
现金: 22 Kx
致谢数: 337
获感谢文章数:13获会员感谢数:44
, 23:27:20
都会安卓了。。
注册日期: Apr 2010
现金: 68 Kx
获感谢文章数:1获会员感谢数:1
, 09:19:42
分析的很详细,学习了
『安全编程论坛』 版主
注册日期: Sep 2009
现金: 334 Kx
获感谢文章数:17获会员感谢数:37
, 09:46:13
最初由 轩辕追命发布
灰哥,&斗争&写成&斗阵&去了...
哈哈,发上来之前我自己已经读过N遍了,但难免还有疏忽,多谢兄弟提醒,已修改。
注册日期: Apr 2012
现金: 75 Kx
获感谢文章数:0获会员感谢数:0
, 10:38:03
不错的分析文章,这里汇编是arm架构的汇编吧?
注册日期: Jul 2008
现金: 209 Kx
获感谢文章数:1获会员感谢数:1
, 12:40:58
飞飞最近很空嘛,都开始搞安卓安全了
注册日期: Nov 2013
现金: 1 Kx
获感谢文章数:0获会员感谢数:0
, 11:10:04
牛X啊,我也一直想看看这些个游戏&修改器是怎么搞的,灰灰大牛亲身做了示范啊,膜拜!
注册日期: Nov 2009
现金: 67 Kx
获感谢文章数:3获会员感谢数:4
, 23:15:52
飞哥,第二张图,排名12的那个头像~~
注册日期: Mar 2008
现金: 279 Kx
获感谢文章数:0获会员感谢数:0
, 12:58:11
楼主能否把叉叉助手Beta1.1.2.apk也发上来呢,我在网上下载的怎么好像是加密过的呢?
上传的缩略图
您不可以发表主题
您不可以回复帖子
您不可以上传附件
您不可以编辑自己的帖子
论坛论坛启用
用户控制面板
会员在线状态
CrackMe攻击篇,分析文章提交区
『看雪众测/众包』
『求助问答』
『经典问答』
『资料导航』
『软件调试逆向』
『密码学』
『编程技术』
『C32Asm』
『MDebug』
『安全工具开发』
『加壳与脱壳』
『CrackMe&ReverseMe』
『资源下载』
『Android 安全』
『Android 开发』
『iOS安全』
『WEB安全』
『漏洞分析』
『外文翻译』
『招聘专区』
『职业生涯』
『15PB培训』
『麦洛克菲培训』
『茶余饭后』
『安全资讯』
『论坛活动』
6)PEDIY Crackme竞赛2009
7)看雪十周年专版
8)腾讯公司2010软件安全竞赛
9)2011 Exploit Me竞赛
『图书项目版』
《加密与解密(第三版)》
《C++反汇编与逆向分析技术揭秘》
《Android软件安全与逆向分析》
『论坛版务』
所有时间均为北京时间, 现在的时间是 .
&&& 看雪学院()
| 提供带宽资源
|&微信公众帐号:}

我要回帖

更多关于 天天酷跑破解版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信