我记得第一次听逆向工程这个词的时候很不齿,因为那时候总把逆向工程和抄袭划等号。经常能听到一些段子,诸如某时期苏联送了我国一架战机,然后第二年阅兵的时候就见到在天上飞了;某时期基友国送来了几枚缴获的美帝导弹,然后第二年阅兵的时候又看见已经装备部队了。
在学校上课的时候特地去听了一节机械逆向工程的课,老师讲如何用X光、超声、激光扫描等高端仪器来精确测量零件的尺寸。测量出尺寸后还要重新拟合部分曲线设计,采样分析材料等等。毕竟许多设计细节不是教科书上有的。
Silicon Valley里面,Hooli工程师靠逆向工程搞懂了Pied Pieper的压缩算法,靠的软件逆向工程,毕竟总是能把二进制展成汇编代码的(想起来数字逻辑考试的人肉反汇编orz)。如今在试图重现某paper里的成果,是试着从一段发布的1080p视频中逆向出paper里没有谈到的内容。
“这什么相机”
“看着像那家的”
“他们家那么多相机”
“看长宽比啊…”
“orz”
“这什么镜头”
“不造啊…看着像鱼眼?”
“有个红圈 o_0?”
“1080p看不清啊…4k啊4k啊”
… … …
… … …
“诶我找到型号了”
“卧槽牛逼!”
“fb也是这相机”
“卧槽怎么知道的”
“xx活动上我照了张照片”
“镜头呢”
“我看看照片”
“不对啊这相机是C-mount的镜头是CS-mount,逗呢?”
“fb定制的?”
“!!$@$#@!$@”
说回来,逆向工程确实离抄袭只有一步之遥,它不优雅,然而这也是最快速了解一些行业知识近乎唯一的途径。如果在逆向之后直接用,极有可能就挨了专利官司;或者是不加研究,直接去掉了一下觉得无所谓的部分(知乎上某电气开关的例子)也容易扔掉了别人的设计精髓。
逆向工程的两个假设是,所逆向的对象已经避开了这个行业的坑(不至于重蹈覆辙),逆向的样品不是人家为了反逆向放出来的幌子(被忽悠了)…但愿能躲开坑坑坑…