听鬼哥说故事 发表于 2014-12-19 14:03:29

跟着鬼哥学so修改,三,作业篇

作业:
通过前面两篇文章的学习,请自行分析此应用,将当前用户类型修改为Gold Vip 用户。





有两种以上的方式可以修改的,有兴趣的同学请进行分析,写一下分析记录,可另起文章发布其过程与思路。


明天或者后天,再发布一下分析过程,以及原代码,大家再对比学习一下即可。


--------------------------------------------------------
下载地址:
http://pan.baidu.com/s/1jG22HMY



myoldid 发表于 2014-12-19 17:18:28

方法三
把R2的值改为5,测试了下,也可以,上班时间不好一直研究这个,现在才发上来

myoldid 发表于 2014-12-19 15:35:45

首先说明下我在安卓逆向这块上完全是新手,新到接触安卓才1个月,也没学过什么语言(当然汉语和英语不算的),研究这个就是觉得有意思,所以很多不懂,描述不准确的,大家可以笑,小声点就行。好了,切入正题

看标题,再结合前两课内容,要改so,那就直接用androidkiller打开apk后,再戳开ida打开“GGTest\Project\lib\armeabi\libgg-jni.so"文件,然后切换到字符串模式,看到以下内容,很直观了(如图1)

图1

再回到IDA视图,打开流程图,看到CMP   R2, #1这里有个关键跳转,不相等就是Normal User,相等就是Gold user,那好办,Dwan大神说过这种跳转直接改为相反的即可,那把BEN改为BEQ就好。(如图2)

图2

鼠标点中BNE,再切换到HEW视图,看到对应的十六进制代码是05 D1(如图3)

图3

那BEQ得是多少呢?恰好上面就有个BEQ,再查看它的十六进制代码,是04 D0(如图4)


那就试试把05 D1改为05 D0,再切换到流程图,果然BEN变为了BEQ,说明这样改是对的。那就好办了,用HxD或者其他16进制编辑器打开libgg-jni.so,按ctrl+G跳转到”BNE   loc_C5A“所在的行(不知道该不该这样叫,就图3那里),将D1改为D0,保存。回编后安装。
刚开始用的是蓝手指,结果安装没反应,也没提示,莫非改错了。然后又安装鬼哥的原版,还是不行。随即换到海马模拟器,嘿嘿,果然可以了
(如图5)


文中有啥不妥的,大家指正下吧,多谢了

myoldid 发表于 2014-12-19 16:03:48

方法2
apk反编译后,搜索"vip",发现有两个结果,第一个看来不是目标,第二个有点意思(如图1)

图1

戳开后,发现是在MainActivity.smali文件下,切换到java源码后,看到一个viplevel(5),我也不懂这是啥意思。打开so后,发现这里也出现了1,2,3,分别对应登机Gold User,Silvery Vip,Copper Vip(图2),没说Normal User对应数字几,那这个5是不是对应的Normal User呢?有可能,Viplevel(5)里出现的5,就该是初始等级吧,那直接把5改为1试试。

图2

回到MainActivity.smali里,将const/4 v0, 0x5 #这里的5改为1试试(图3)。回编安装后,嘿嘿,也可以的

图3
成品





听鬼哥说故事 发表于 2014-12-19 17:52:48

myoldid 发表于 2014-12-19 17:18
方法三
把R2的值改为5,测试了下,也可以,上班时间不好一直研究这个,现在才发上来



挺好的三种方法与思路,赞一个~

听鬼哥说故事 发表于 2014-12-19 18:20:45

myoldid 发表于 2014-12-19 16:03
方法2
apk反编译后,搜索"vip",发现有两个结果,第一个看来不是目标,第二个有点意思(如图1)



可以去我的博客里面找6.5的IDA,看截图,你用的还是6.4以前的版本。
后期这个系列加上动态调试的一些文章,需要6.5的IDA和android_server支持的。

myoldid 发表于 2014-12-19 19:23:52

听鬼哥说故事 发表于 2014-12-19 18:20
可以去我的博客里面找6.5的IDA,看截图,你用的还是6.4以前的版本。
后期这个系列加上动态调试的一些文章 ...

好的,我下载一个

xbing9 发表于 2014-12-19 22:50:39

00000C480A E0    改的这里

听鬼哥说故事 发表于 2014-12-20 12:05:49

xbing9 发表于 2014-12-19 22:50
00000C480A E0    改的这里

按照你的方法修改后,会指向Silvery Vip

chensi_123 发表于 2014-12-26 16:48:15

05 d1 改成 05 d0 就可以了
页: [1] 2
查看完整版本: 跟着鬼哥学so修改,三,作业篇