主要思路如下,为了避免任何不必要的麻烦,部分不太重要的细节隐去,仅为学习交流使用,不提供相关版本下载,也不提供原始的程序,仅仅是自己学习和交流。
(1) 关键点1,禁用掉此工具的License Exception检查机制,否则一旦修改的分支不对,就会跳到license exception处理程序,在这里要把这个给干掉。
在graph视图找到如下框图,从注释来看,就是处理license 异常的。

顺藤摸瓜,将所有有可能跳转到这个分支的jump路径都给干掉。干掉的方法很多,就是把条件跳转jnz, jz一类的采用nop或者jmp代替,如下图是一个示例

(2) 工具对于特定chipset芯片型号还加了限制License,大致的解除思路如下
搜索如下关键词找到引用位置

对相关的跳转进行研究,避免软件跳转到chip license无效的路径里

对于相关的函数,如果大致可以猜到他的作用,要进行及时的命名,这样的话可以很快的查到相关的引用
(3) License 类别的限制解除
搜索1G 字样

点击进去

可以看到高通工具的的License全集是1G to 4G , 5G, V2X, OneWeb, 剩下的工作就是找到引用的函数之后,将这些license都设置为有效即可。
到此为止这款工具的本身的破解思路就完成了。但是由于高通的抓log功能还依赖于QUTS,所以只破解QXDM的话只能保证看日志或者其他不是抓日志的场景。 后续有时间再起新贴探讨如何解除QUTS的license限制。