3.代码试错
简单的Hook下这个方法,然后把参数和结果都打印出来,最担心的是这个 方法没调用...怀着忐忑的心情安装重启
点击猜拳,看到logcat打印出来的日志后
试了几次,终于把剪刀石头步都集齐了!!!
第一个参数是固定值2,第二个参数也是固定值0,第三个参数是0,1,2 分别代表:剪刀,石头,布,清理下日志,看看骰子是不是也会调用这 个方法?
日志如我们预想的输出了,棒!
第一个参数是固定的5,第二个是固定的0,第三个参数从0-5,依次对应 骰子的1-6,嗯,反编译的Java代码:
看到这,基本就一清二楚了,利用nextInt()方法,随机生成一个特定范围里 的整数,比如想生成2-10的整数,第一个参数为10,第二个参数为2, 接着nextInt(10-2) + 1= 9,即生成0-9之间(不包括8)的一个整数,接着+1, 范围变成了从0-9,接着在加上2,此时就变成2-11的值。 前面的Assert是断言,如果第二个参数大于第一个参数抛出异常!
到此就弄得明明白白了,接下来改下界面,整理下代码,运行下~
4.运行试试
接着测试下:
小结
本节Hook了以下表情里的猜拳和投骰子表情,可以随机出你想要的, Hook的过程也是头皮发麻,APP逆向真是门技术活,还有耐心,细心
附:Hook部分代码(都可以在:github.com/coder-pig/C… 找到)