panaos破解思路: 1. 下载专业版的升级包,获取里面的panaos二进制文件,用IDA打开,等待加载分析完毕 2. 有个关键字符串pas_%d,是用来打印license服务器IP地址的,搜索出来,叫aPasD 3. 找到调用aPasD的位置,往下找,有一个ds:dword_C6C990[rbx*4]的,这个就是存储license服务器IP的数组 4. 找到ds:dword_C6C990被调用的位置,有三处往这个地址写的,需要关注 5. 第一处是静态往这个位置写的,做了一些简单的计算后写入IP,可以把简单的计算值改掉(直接搜索2F582118, 把2F改成30) 6. 第二三处是从域名解析结果里往里写的,往前找调用就会看到做域名判断的位置:pn.panaos.cn和px.panaos.cn,把对应的判断改掉(但实际这边的代码似乎是没有在调用了的) 7. ds:dword_C6C990往后4个字节的位置ds:dword_C6C994,找到调用这个的位置,是用来存储dns解析后的IP的 8. 顺着调用找,就可以看到计算是用pn.panaos.cn还是px.panaos.cn的汇编代码,把os改成ok即可(这才是真实调用的地方) 9. 后来发现Panabit有一个检测机制,当收不到license服务器的消息一定时间后会死机、 10. 发现IDA中搜索reboot关键词,有两个地方调用了reboot,一个地方有一个计数器,另一个地方做了时间相关判断 11. 把这两个地方的reboot的逻辑给他改掉(计数器那边,改成就算计数器等于1的时候,也不进reboot逻辑,时间判断那边,通过gdb确定,直接把reboot改成Nop就可以,不会有副作用)