【跟着鬼哥学SO修改】作业篇 我所想到的几种方法
本帖最后由 myoldid 于 2014-12-19 21:23 编辑之前是直接跟帖在鬼哥作业贴后的,鬼哥说新开一贴合适些,那就转到这里
首先说明下我在安卓逆向这块上完全是新手,新到接触安卓才1个月,也没学过什么语言(当然汉语和英语不算的),研究这个就是觉得有意思,所以很多不懂,描述不准确的,大家可以笑,小声点就行。好了,切入正题
方法一
看标题,再结合前两课内容,要改so,那就直接用androidkiller打开apk后,再戳开ida打开“GGTest\Project\lib\armeabi\libgg-jni.so"文件,然后切换到字符串模式,看到以下内容,很直观了(如图1)
http://www.pd521.com/data/attachment/forum/201412/19/152317z0yloippfi9siloi.png
图1
再回到IDA视图,打开流程图,看到CMP R2, #1这里有个关键跳转,不相等就是Normal User,相等就是Gold user,那好办,Dwan大神说过这种跳转直接改为相反的即可,那把BEN改为BEQ就好。(如图2)
http://www.pd521.com/data/attachment/forum/201412/19/152332sp8gxc8n8dcdxzcf.png
图2
鼠标点中BNE,再切换到HEW视图,看到对应的十六进制代码是05 D1(如图3)
http://www.pd521.com/data/attachment/forum/201412/19/152334vjm4cwwpzjcp7mzj.png
图3
那BEQ得是多少呢?恰好上面就有个BEQ,再查看它的十六进制代码,是04 D0(如图4)
http://www.pd521.com/data/attachment/forum/201412/19/152335g2u26yuwwym6dyun.png
那就试试把05 D1改为05 D0,再切换到流程图,果然BEN变为了BEQ,说明这样改是对的。那就好办了,用HxD或者其他16进制编辑器打开libgg-jni.so,按ctrl+G跳转到”BNE loc_C5A“所在的行(不知道该不该这样叫,就图3那里),将D1改为D0,保存。回编后安装。
刚开始用的是蓝手指,结果安装没反应,也没提示,莫非改错了。然后又安装鬼哥的原版,还是不行。随即换到海马模拟器,嘿嘿,果然可以了
(如图5)
http://www.pd521.com/data/attachment/forum/201412/19/153457xa5kdxu2tmxwtwak.png
方法二
apk反编译后,搜索"vip",发现有两个结果,第一个看来不是目标,第二个有点意思(如图1)
http://www.pd521.com/data/attachment/forum/201412/19/155136vkbqmifxkazdkrzq.png
图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试试。
http://www.pd521.com/data/attachment/forum/201412/19/160039wropxm8xqfofj91t.png
图2
回到MainActivity.smali里,将const/4 v0, 0x5 #这里的5改为1试试(图3)。回编安装后,嘿嘿,也可以的
http://www.pd521.com/data/attachment/forum/201412/19/160226wbbcjpnbs1mwrpwb.png
图3
成品
http://www.pd521.com/data/attachment/forum/201412/19/160339bfsqklbvswi6j7aa.png
方法三
normal user和gold vip那里那个跳转是比较R2和1的关系,R2不为1跳到normal user,那把R2改为其
他不为1的数值该都是可以的。回想到方法2中出现了个5,那就直接改为5吧,测试了下,也是可行的。
http://www.pd521.com/data/attachment/forum/201412/19/171817u0tirc7tkpr0sjfk.png
其实刚刚看到这个作业贴的时候,第一反应就是直接把normal user字符串改为gold vip,又我想我是搞不定的,鬼哥的那两篇帖子只看懂个大概(安卓逆向这块我完全是新手),随后尝试了下,也成功了。安卓逆向这条路呢,我还是要慢慢走下去,慢慢学习,当成我的第四爱好吧。最后还是谢谢鬼哥给我们这样一个学习的平台,感谢DAWN,人生无NG,挂单过客,飞机...各位大神的帮助。
支持下,勤学多练,进步会越来越快~ 听鬼哥说故事 发表于 2014-12-19 21:16
支持下,勤学多练,进步会越来越快~
以后多多请教鬼哥:lol 怎么我在平板上用浏览器看不了图呢!用电脑却是可以的 哈哈我也是这么做的 恩恩,我在学习
页:
[1]