请问这里有做qnx4或者6系统的软件逆向分析的朋友吗?

如题。
我最近一直在看这方面的东西,尤其是4下,动态调试除了wd之外就没有了,并且wd的反汇编和调试功能是基于源代码和obj文件为支持的,如果是但二进制文件,效果就大大折扣。
我现在做到某些情况下的软件可以逆向出来,达到源代码级,稍加修正就可以直接用了。而有些就做不到了。
如果有这方面的朋友,欢迎和我交流下
weishengshou@163.com

一定只有逆向分析一条路吗?不知道你分析的是什么程序。6的源码正在一点点公开。

我是指逆向别人的应用程序,这里说的不是盗版,是逆向处算法什么的。好像在法律边缘。
windows下都有类似的逆向分析理论和方法,逆向软件不是为了盗版,在一些情况下是作为借鉴别人的软件的算法和原理等等。
如果对于系统级逆向,在win下是为了更好的开发出应用程序,尤其是内核程序员,逆向内核等程序是非常必要的。

我逆向的过程中遇到最大的问题就是函数不好识别,特别是系统函数,识别很困难。所以逆向结果不是很好。如果不是很依赖系统的程序,逆向是没问题的。
识别系统函数我想了一个办法,类似于基因比对识别,每个函数在二进制程序中都有一定的特征,这些特征可以叫做“基因”(先这么叫吧,不但是函数,例如公开的算法库等都是有类似特征的),想办法提取到这些特征,然后在要分析的二进制程序中比对,找到这些函数。实际过程中这个方法是可行的。
问题就是qnx的函数那么多,我提取了所有的lib文件中的函数特征,问题就出来了,很多函数的特征都差不多,例如fprintf和prinft,就产生了碰撞和错误识别。
另外除了lib中的函数,我想知道.h头文件中的函数是否是和lib分开的,存在lib里面没有的函数呢?
我对qnx系统不是很了解,这就加大了难度,学了半年多

逆向工程(Reverse Engineering)跟盗版不同,不过确实有点“灰色”。

把二进制文件“反汇编”(disassembling)到汇编语言的工具有不少,我记得watcom自己就带了一个wdism命令。如果你有object文件的话,直接用watcom的反汇编应该效果不错。

把二进制文件“反汇编”到C的工具也有,但多数效果并不如想像中的好。

哈哈,qnx4下调试编译模式和qnx6下的调试和发行模式的二进制文件逆向成功。
qnx4 debug模式下逆向结果不是很理想,和可编译和可读性的距离还有一段,qnx6下逆向得到的代码可读效果已经很好,已经接近可编译,如果是debug模式,差不多可以达到可编译,需要手工修改的地方不多了。
但在对底层程序的逆向上还是有一定的困难,容易出错,可读性降低不少,一般应用程序基本搞定。
:stuck_out_tongue: :stuck_out_tongue: :stuck_out_tongue:

我也刚接触QNX,要做4.25下的逆向工程,能否介绍一下这方面的一些知识,或推荐一些书籍?谢谢

逆向的目的是什么?

底层程序应该更好逆向才是,毕竟都到原子操作了。
鄙人前段时间逆向了把QNX 6.4的IPL

我可以反汇编QNX,还可以识别QNX库函数

非常感谢论坛朋友一直以来的帮助和关心,qnx4的逆向是去年的事情,后来通过努力和各位朋友的帮助,qnx4和6下的debug和release模式的程序逆向已经没有问题了,也试了几个约10万行的程序,能做到可读性和正确性达到要求,并可二次编译构建并替代原程序。
后来我也就不参与这些内容的工作了,目前老老实实的做设计和开发,对于逆向分析已经不怎么用了。那是个艰苦的过程,除非必要,做逆向分析花费的各种资源要远大于自己研究设计和开发。