license以及crack破解的初步思路。
扫描二维码
随时随地手机看文章
ubiqua 号称是zigbee协议分析的领导者,可惜不是免费的版本,而且价格不够亲民。
ubiqua 2.0 最新版的license采用了服务器获取的方式,然后本地进行校验,和早期的版本本地固定license不同,该版本首先弹出窗口提示用户登录,用户登录以后,会有一个选择license的界面,用户从界面列表里面选择相应的license以后,软件会从服务器获取相关协议的压缩文件,这样的机制有助于获取最新的协议栈解析格式,而不是软件安装固定的协议。
下面讨一下license以及crack破解的初步思路。
1、首先绕过登录窗
一般软件都是先弹出一个登录框,等待用户输入,用户名密码校验成功以后,窗口返回true,程序才继续往下走,否则程序就结束或者一直停留在登录界面,所以第一步可以考虑直接让窗口返回true模拟登录成功,这样就可以无需用户名和密码绕过登录窗口,直接进入软件界面。
2、绕过各种license问题
所有软件里面的加密校验,一定是有一个固定的集合,也就是有一个类或者模块,是专门负责加密和解密的,其他所有需要的位置,调用这个类的相关方法和成员,实现license的校验,不可能是很多地方都实现各自的license校验,这样也不符合团队开发的机制。
由于ubiqua需要连接网络获取相关license信息,通过逆向分析整个程序工作机制,基本可以确定,登录后在用户注册表和相关目录下创建子键和相关文件。
比如就会在C:UsersAdministratorAppDataRoamingUbilogixUbiqua目录创建Ubiqua.License.cert文件,只是文件内容不以明文显示,里面包含了当前序列号的生成时间,以及对应的电脑机器序列号,还有各个功能模块的metadata信息等等,都是需要校验的。
还有同一个目录下,登录成功后会生成一个加密的Ubiqua.Resources.xxxx.zip文件,这个zip压缩套压缩,使用的是Aes256加密算法,压缩了两遍,里面有很多用于协议栈数据帧解码的xml文件,这个文件用于ubiqua菜单里面的options,主要是用于network key以及TC link key等,不然加密的数据包是没办法解密的,就无法知道设备之间的状态。
所以如果能够找到这个类所在的位置,加以分析和逆向IL指令,就可以让软件运行在已license的状态。
首先和所有的C#开发的.net程序一样,都需要防止反编译,ubiqua也不例外,也进行了各种手段的混淆,这样会增加软件逆向的难度,迫使他人无法破解软件,zigbee协议分析软件,笔者开始以为就应该是芯片厂商免费提供给开发人员的,为何要让一个第三方去开发?而且还是收费版本。
作为IC厂商,为自家芯片提供开发测试工具义不容辞,反观TI,为自家的芯片提供的zigbee抓包分析软件别的功能都有,独独没有解密数据包的功能, PACKET-SNIFFER就是个鸡肋,加上一个解密数据包的功能,对于TI的开发人员用MFC开发的Packet Sniffer来说,想必并不费吹灰之力,为何不加,肯定是有意而为之,不然谁还会去用ubiqua的软件?
基于对社会主义核心价值观“富强、民主、文明、和谐, 自由、平等、公正、法治、 爱国、敬业、诚信、友善”的尊重,和某些在网上卖ubiqua 1.4破解版的人不同,笔者暂时并不愿意公开相关的破解软件。
无license限制:
ubiqua 2.0 完美运行: