审判者压缩 发表于 2018-11-3 04:06

新手学习记录1-《教我兄弟学Android逆向03 破解第一个Android游戏 》课后作业第二 题

本帖最后由 审判者压缩 于 2018-11-3 04:52 编辑

原贴地址:

《教我兄弟学Android逆向03 破解第一个Android游戏 》
https://www.52pojie.cn/thread-654654-1-1.html
(出处: 吾爱破解论坛)

新手日记,顾名思义,也可以叫菜鸟被虐日记。

说正题吧,下面是《教我兄弟学Android逆向03 破解第一个Android游戏 》的课后作业,原帖子就是这个。
https://www.52pojie.cn/thread-620244-1-1.html火柴者联盟


我是先做《教我兄弟学Android逆向03》的作业失败之后,
学了04的AS动态调试,05的插入Log,然后回头再做的03的作业火柴人。


原贴子开头是验证问题:





说实话,就这段话,我是怎么都理解不了啊,翻来翻去,找到作者的回复如下:





一层一层调用,跟踪,回溯。
我努力的想,怎么调用?
找到《教我兄弟学Android逆向番外02 jeb工具的使用》
这个里的一段话






我的图太小了,可以去原帖子里看。

兴致勃勃(性质勃勃)下了个 jeb,地址原帖子也有我贴出来吧
可以从论坛爱盘里面获取下载JEB工具 :
https://down.52pojie.cn/Tools/Android_Tools/jeb-2.2.7.201608151620_crack_qtfreet00.zip

然后一顿设置

闪退,我擦,搜了帖子
地址如下
求一份jeb2.2.7能正常调试的。。论坛的下了 能看到界面然后闪退
https://www.52pojie.cn/thread-679050-1-1.html
(出处: 吾爱破解论坛)



换了jdk版本,终于能用了。省略path环境,java_home设置,反正以前整过,都忘了,又一顿搜。


然后jeb,调用毛线呢?java也看不懂啊。跟踪试试,跟踪的稀碎啊,回溯啥基本放弃了。以后再整吧。


跳过了怎么找,直接来到结果,搜函数,看smali,不太费劲了啊,毕竟大神解释的很到位,直接返回不要中间的验证。

也算成功了吧,继续努力啊。




选择性跳过经验部分,毕竟弱鸡理解不了。

然后跳过广告-----没办法,我的要求并不高,能破解了再整这些没用的。
来到重点了. 内购破解:
先不看答案,搜”失败",一堆啊,找到带pay字样的点开看看

看到;解码,购买道具失败



感觉有戏啊,看java代码


这什么情况,没有这个字啊,不死心的加log(此时已经会加Log了,之前没整明白的部分,以为加了Log怎么也能整明白了)
编译,进游戏,然后什么Log也没弹,算了,不是这部分代码,继续吧。

这个是支付宝的,一看java,可以啊,有成功,有失败,又是一顿log,编译,然后进游戏支付,取消。毛Log没有。难受。




然后又是按着顺序往下看,看到sdk里的“充值失败 retcode“



已经没有心情在搞了,回去看作者怎么搞的吧。哎,自己是蒙不对了。


大神直接给了招,
Egame支付成功
Egame支付Cancel

搜索Egame支付Cance
直接到位


不记得第一次怎么跟着做的了,反正是这句话整没信心了。

回溯,分析。。。。。。。
当时是没懂,也就不搞了。



今天有信心,先自己插Log,上AS看Log,挣了半天,发现
AS里是联通失败,换了个电信卡,终于看到了




smali代码里自带Log:


    const-string v0, "qq"

    const-string v1, "Egame\u652f\u4ed8Cancel1"
   

    invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I




在AS里搜索qq就行了。








然后我发现
这个支付成功的方法和支付的方法没差几个字


一看java,也是差不多。




直接把函数定义名字换了下,payFailed和paySuccess定义名换了下。
把支付失败的函数定义
.method public payFailed(Ljava/util/Map;I)V
复制给支付成功
.method public paySuccess(Ljava/util/Map;)V

这里调用支付失败,实际上调用的是支付成功的代码。


然后,就成功了,把联通卡,换成用电信卡,支付,取消,失败变成功



就算破解了。
哎,没劲,都没懂怎么得来的这个字符串



真难过。
以后再学学吧,

一年前的技术都整了两天才整明白。

感谢一下
会飞的丑小鸭
https://www.52pojie.cn/home.php?mod=space&uid=619334

去年就看大神的帖子来着,当事没把课后习题当回事,这回按部就班整,空闲时间多练练。

要学的很多,我这点东西大神就看着玩了,别喷太狠,有不合规范的地方,管理该改改,该删删。

争取早日学会调试,回溯 ,不至于看答案都看不懂。

秋狝 发表于 2018-11-4 00:25

Plugin loaded: class com.pnf.plugin.oat.OATPlugin
Plugin loaded: class com.pnf.plugin.pdf.PdfPlugin
检查更新中。。。
检查更新出错
Creating a new project
java.lang.RuntimeException: java.io.FileNotFoundException: C:\Users\user\.jeb-android-frameworks\1.apk (系统找不到指定的路径。)
      at com.pnfsoftware.jeb.corei.parsers.apk.XW.iY(SourceFile:63)
      at com.pnfsoftware.jeb.corei.parsers.apk.nR.process(SourceFile:126)
      at com.pnfsoftware.jeb.corei.parsers.XW.process(SourceFile:345)
      at com.pnfsoftware.jeb.corei.parsers.XW.process(SourceFile:317)
      at com.pnfsoftware.jeb.corei.wt.ko(SourceFile:110)
      at com.pnfsoftware.jeb.corei.np.ko(SourceFile:304)
      at com.pnfsoftware.jeb.corei.np.iY(SourceFile:296)
      at com.pnfsoftware.jeb.corei.np.processArtifact(SourceFile:46)
      at com.pnfsoftware.jeb.rcpclient.RcpClientContext$7.run(RcpClientContext.java:1288)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.FileNotFoundException: C:\Users\user\.jeb-android-frameworks\1.apk (系统找不到指定的路径。)
      at java.io.FileOutputStream.open0(Native Method)
      at java.io.FileOutputStream.open(FileOutputStream.java:270)
      at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
      at com.pnfsoftware.jeb.corei.parsers.apk.XW.iY(SourceFile:59)
      ... 13 more

The unit "crack04.apk" could not be processed
楼主用jeb有遇到这种情况吗

审判者压缩 发表于 2018-11-4 07:41

秋狝 发表于 2018-11-4 00:25
Plugin loaded: class com.pnf.plugin.oat.OATPlugin
Plugin loaded: class com.pnf.plugin.pdf.PdfPlugin ...

没遇到过,我用的jeb是爱盘的
https://down.52pojie.cn/Tools/Android_Tools/jeb-2.2.7.201608151620_crack_qtfreet00.zip

jdk-8u121
jdk链接:http://pan.baidu.com/s/1c1Ogeg4 密码:1nr6

系统win7
环境变量-系统变量
JAVA_HOME
E:\BaiduNetdiskDownload\jdk1.8.0_121\jdk1.8.0_121       就是jdk的路径
Path
E:\BaiduNetdiskDownload\jdk1.8.0_121\jdk1.8.0_121\bin;       jdk路径下的bin
CLASSPATH
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;         前面有个.

Hmily 发表于 2018-11-3 20:31

都是这么过来的,加油,不懂的地方可以请教@会飞的丑小鸭

审判者压缩 发表于 2018-11-3 20:53

Hmily 发表于 2018-11-3 20:31
都是这么过来的,加油,不懂的地方可以请教@会飞的丑小鸭

好的大佬!!

nj001 发表于 2018-11-3 22:23

我也是这样。。。。java啥的都搞不明白

runfog 发表于 2018-11-4 20:49

AS动态调试

多幸运遇见baby 发表于 2018-11-7 09:48

这是最简单的游戏破解.努力加油吧

cherubines 发表于 2018-11-11 21:59

初来乍到, 开始学习破解 , 共勉

张五常 发表于 2018-11-12 10:33

谢谢分享~!
页: [1] 2
查看完整版本: 新手学习记录1-《教我兄弟学Android逆向03 破解第一个Android游戏 》课后作业第二 题