这个就是付费成功的分支,经过对2个分支的对照,能够非常清楚的看到以及知道这几句是功能恢复的关键代码:当中有个bool值this.a.f就是整个程序的关键。
能够在这里直接爆破给this.a.f 一个不等于0的值也能成功。可是为了防止此值在其它地方也有调用,我们还是继续找源头。找到PayActivity的authoritybutton例如以下为this.c:这里对this.a.f 进行了赋值false。更加肯定了我们的推断跟入ic类:如图。起了一个线程id类。继续跟进,在.class final Llongbin/helloworld/id 类添加一句 const v1, 0x1 达到对f的赋值:f事实上就是IsPayUser.这里的SendEmptyMessage(111111);也是与前面的分析相呼应。这种话,程序就被破解了。最重要的是流程大家都清楚了。不是糊里糊涂的碰对的。这才是提升水平的关键。
既然重新启动验证。那就定位到HelloWorldActivity Class吧一路往下找,到这里就比較可疑了:为什么说他能够,假设用心的人就能够知道,在前面破解分析的分支2里面的支付成功,也是取了时间的。这里就应该是取时间来推断是不是真正的注冊了。或者说是用来验证用户的付费是不是过期了。恰好把一些破解变得不够完美了。
THE END