Fork me on GitHub

飘零3.0破解

飘零3.0概述

       飘零3.0和2.7对比起来没有什么差别,唯一的差别就是在登录认证的时候,比2.7多了几次登录标记的判断。所以,对于飘零3.0比起2.7来更好破解。

飘零3.0破解案例

       如下图所示软件:
iKGqiD.png
iKGORH.png
       如上图一和图二所示,图一为3.0的飘零源码,图二为2.7源码。可以从图中看出,3.0源码在登录按钮被单击以后,会出现三次登录标志的验证,三次验证正确才载入功能窗口,这就是3.0和2.7的不同之处。所以,要想破解3.0从这儿下手,相对2.7比起来更加好下手!直接载入OD分析,如图所示:
iKJKoT.png
       如上图所示,可以看见有当程序来到oep处,就有三处跳转,也就是源码中的登录处那三个“如果真”的判断。可以从源码中看出,如果这三个如果真都为真,最后程序就会执行载入功能窗口1,销毁父窗口!否则三个跳转就会实现,跳转到下面的登录线程或者驱动线程或者静态数据线程进行判断。所以直接尝试直接修改jnz跳转,直接nop掉(注意,这个程序有个退出暗桩,干掉即可!),如图所示:
iKwngS.png
iKd6XQ.png
iKdR7n.png
       如上图所示,直接干掉三个跳转以后,程序就能够载入功能窗口了,但是这里有个问题是,不能够保证其他地方有没有调用这些判断里面的内容,所以就不能够保证功能窗口里面的内容是否还有用,所以,这种办法虽然能够实现破解,但是不保险。换一种思路,可以直接改call里面的内容,让跳转不实现,如图所示:
iK0ZZ9.png
iK0S5q.png
iK0mI1.png
iK0KG6.png
       如上图所示,把三个关键跳前面的call里面的内容都改了,直接赋值1给eax寄存器,再运行程序,如图所示:
iK0IL4.png
       如上图所示,程序同样可以载入功能窗口,而且,程序退出暗桩也一并被解决了!所以,这样改更加合理!