黑马程序员技术交流社区

标题: 手机党,复习党福利。手机端目前最好的JAVA学习软件(xx) [打印本页]

作者: gulup    时间: 2013-9-25 18:04
标题: 手机党,复习党福利。手机端目前最好的JAVA学习软件(xx)
像我这样的,一天到晚都往外跑,坐车坐好久,等人等好久的。其实这些时间都是浪费的。这些时间如果能够合理分配。用来学习复习。效果还是蛮好的。

但手机上药进行学习的话也不是太方便,今天给大家带来一个软件。java学习手册。市场上评价应该是最好的java学习app了。
PS:这个软件是积分制的,里面看资料需要积分,这样当然不是我们想要的。所以xx之。
PSS:我不是来打广告的。我发的是破解版,顺带写一下破解的过程。不想看废话的请无视之,直接去楼底下载破解好的APP。

大J8有人发过破解教程。我的做法基本相同,工具略有不同。发上来大家看看,以后有需要破解app就可以自己动手之。
在此鸣谢J8的"Sundstr_m"童鞋。

现在要破解android上的APP其实难度真的越来越低了。一般的流程就是解包,反编译,修改源码,打包,签名,搞定。
我这次用到的是ApkTool+dex2jar+jd-gui的集成工具--Apk改之理。大家可以自行百度这个软件。
首先,要破,得知道破什么。对吧。打开未破的软件来看看先。
软件的UI还是挺不错的哦。


分类挺详细的,点开分类里面就有各种资料了。但是需要积分,差评之。



随便点开一篇文章,就会转到这个界面了。积分不足,要你下载别的软件获取积分or购买正式版。
于是,我们破之。



先来分析下,程序的运行流程,这里用到了eclipse了。去Android官网下载整合了sdk的eclipse即可了。
打开eclipse,第一次打用的话,window-show view。把logcat调出来.

logcat的输出信息太多,我们过滤一下,找到那个绿色的加号,添加过滤:

name随便下,Tag就是我们要过滤的标签,按照我们这个程序的运行情况来看,它是再点击文章的时候先检测你的积分。
然后积分不够的话,就会跳转到获取积分的界面,有点android基础的童鞋都知道,这些界面都是activity来的。
所以就过滤下AvtivityManager来看看Activity的跳转情况来着。


输出还是太多,点一下上面框框的info。

打开程序,再次点进文章,看看log:

当程序跳转到了获取积分的界面的时候,就跳转到了AwrdActivity这个activity上了。
下面使用xx工具,反编译软件。打开APK改之理:


软件的使用太简单,太傻瓜化了,不多说,直接打开要xx的app就会自动反编译了


我们不是查出来时跳转到了AwrdActivity了吗?
直接根据app的包名就找到了AwrdActivity的smali文件。打开之。
反编译出来呢,我们具体要修改的其实是smali文件,smali是什么东西,可以百度哦。
里面的代码看不懂?不要紧。。我也看不懂多少。我们懂java就行。


直接选择编辑,打开java源码。就会调用jd-gui来打开反编译出来的源码了。



jd-gui是一个利器啊。直接打开了AwrdActivity的源码。我们来观察下。不懂android也不要紧。还是那句,我们懂java就行。
在这里,我们有两个选择,第一,可以继续根据源码来查找时从何处开始跳转的。
因为跳转前肯定会判断你的积分是否不足,那么我们在跳转前的判断出修改判断的条件就可以达到目的。
但是我通过观察AwrdActivity这个类呢,选择了第二种方式。
在获取积分的界面呢,你可以看到有两个东西,一个需要200积分,一个需要700积分。
在AwrdActivity里面就有两个方法分别叫"init200"和"init700"。
未破解前你在软件中点那两个东东,会提示你余额不足,那么就是说,这两个方法内肯定也有判断积分是否不足的方法。
我们直接观察:


整个方法内,第二句代码就开始条件判断了,判断的条件表达式是数值,应该就是积分了。那么第一句就肯定是获取当前积分的。
那么根据这个思路,我们直接修改当前积分不是更方便咯?继续下一步。



init200方法内的第一句代码是通过另一个方法的返回值来赋值的。在AwrdActivity内找到这个方法。
这个方法只有一句代码,是调用了PointManager这个类的queryPoints方法了。

直接点击PointManager。观察它的源码。找到queryPoints方法。也是只有一句。加上一个返回值。

那么我们就直接在这里动手吧。不选择在AwrdActivity动手,是因为考虑到应该会有其他地方会调用PointManager的。所以我们在源头动手


回到APK改之理,打开PointManager的smali文件。找到queryPoints。



其他代码我们可能看不懂,但是我们查看java的源码看到他是有返回值的嘛。那么return我们总能看懂咯?上面的第一个return就是返回值咯。
v0明显应该就是被返回的返回值内容了。那么我们在其返回前修改其值即可。
怎么修改呢?还是查一下smali的语法吧。。经过百度,要赋值的语法就是图中框框的第二句了。赋值的数值是16进制的。
最后到底行不行呢?重新编译,安装,运行看看呗。


重新安装软件之后,跳转到了获取积分的界面,点激活所有模块。不再提示余额不足了。
选择确认、


所有模块激活成功。


还可以尝试去获取正式版哦。这个文本框没有做安全处理,空值和非邮箱都可以发送。差评之。。


最后看下我的积分?1000分。证明修改成功。
但是。。。但是真的修改成功了吗?
没错的。基础知识那边的所有模块现在都可以看了,不会再跳转到获取积分了。但是。这个软件还有第二页呢。。
打开第二页看看:

点上面那三个发现。。居然没破掉。。好吧,继续xx之。
根据“200积分”这个关键词搜索。不在资源文件中,那么肯定是写在了类中。


在jd-gui中搜索找到了MainActivity中,通过观察发现,它也是做了判断,也是调用了PointManager。。但是是另一个spendPoints的方法。


来到PointManager中观察spendPoints。发现和上面修改的很相似,只不过改成了布尔值。那么就好办了,同样的步骤操作之。


在smali文件中,找到spendPoints,在返回值返回前修改其值。百度smali的语法。布尔值的赋值就是如图。布尔值只能是0x0或者0x1.
改成0x1。让它一直返回真。重新编译,安装测试。


这次就可以了,全部功能可用了。



里面的面试宝典,准备面试的额童鞋可以看一看,看起来方便,其实就是张孝祥老师的java面试宝典。不过看起来比word方便啊。
还有在手机上查一下API还是超级方便的说。
最后发现,其实一开始,我就直接修改spendPoints这个方法就好了。。悲剧之。

最后就是这个APP的附件了。
[hide=d30]http://pan.baidu.com/s/11grMP[/hide]

作者: 罗凯健    时间: 2013-9-25 18:07
谢谢。。一直想找个移动端的学习软件
作者: yangxin540    时间: 2013-9-25 18:15
哈哈,挺精彩哟,轻松破之
作者: 刘利民    时间: 2013-9-25 18:16
多谢分享了,辛苦了,不过红米一直没抢到,所以一直无缘用智能手机。
作者: 七宝    时间: 2013-9-25 18:42
{:soso_e100:}

作者: 垂天云    时间: 2013-9-25 18:50
附件是破解后的吗?
作者: 周先    时间: 2013-9-25 19:10
唉,连地板都没抢到,不过还是看到好东西了
作者: gulup    时间: 2013-9-25 19:26
垂天云 发表于 2013-9-25 18:50
附件是破解后的吗?

是的。 。

作者: 神之梦    时间: 2013-9-25 20:05
貌似很犀利的样子
作者: Cway㊣    时间: 2013-9-25 20:34
急需要啊。。。。。。。。。。
作者: 问天    时间: 2013-9-25 20:47
给力,原来一直花积分看的
作者: HM李超    时间: 2013-9-25 21:00
高端大气上档次

作者: 蜀仙    时间: 2013-9-25 21:56
真厉害啊
作者: 黄兴旺    时间: 2013-9-25 22:18
低调奢华有内涵
作者: 艾萱    时间: 2013-9-26 13:26
我也有,只可惜也是积分制的。
作者: 沐风    时间: 2013-9-26 17:12
挺详细的过程,写得很不错,学习了

作者: Jim-剣◆﹏    时间: 2013-9-26 17:33
好教程。拿了,蹲厕所
作者: 黄炳期    时间: 2013-9-26 17:55
小伙伴们,赶紧破之!
作者: chensc    时间: 2013-9-27 08:39
学习学习!
作者: 咸鱼要吃猫    时间: 2013-9-27 14:54
用手机好好好看看捣鼓捣鼓

作者: 周志龙    时间: 2013-9-27 15:16
哥们好牛啊

作者: ixiangfeng    时间: 2013-9-27 16:44
过来学习学习
作者: 中山狼    时间: 2013-9-29 01:53
谢谢贡献,真是及时雨啊
作者: 近夜之星    时间: 2013-9-30 07:53
七宝 发表于 2013-9-25 18:42

学习学习
作者: 蓝雨星空    时间: 2013-9-30 09:18
支持!!!!!!!!!!!!!
作者: 夏夜猫    时间: 2013-9-30 23:20
回复下载。。。

作者: 陈洋    时间: 2013-9-30 23:42
{:soso_e142:}

作者: xuaner0719    时间: 2013-10-1 00:23
支持一下不错的谢谢楼主分享

作者: meng    时间: 2013-10-1 01:06
好东西;我手机里有这个软件,但是不是破解的额
作者: 垂天云    时间: 2013-10-24 10:42
软件提示升级,要升级吗?
作者: 小手    时间: 2013-10-24 14:38
这个东西好,感谢LZ分享
作者: 4556    时间: 2013-10-25 10:54
大手在这里啊,我要了
作者: yangxin540    时间: 2013-11-29 22:09
求反编译工具yangxin540@sina.cn,谢之




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2