西西河

主题:闲聊密码 外一篇——悲惨的DVD(上) -- 代码ABC

共:💬53 🌺445
全看分页树展 · 主题 跟帖
家园 逆向工程不仅仅是反编译

编译器也是一种翻译程序,在弄明白其编译规则后可以做到一定程度的反编译。这是软件逆向工程的一种手段,但不是唯一手段。一则当编译器做了优化之后(通常都会做),反编译就很困难。二则反编译后还需要分析反编译出来的代码——这才是逆向工程的目标。

实际上,反编译出来的代码本身可读性就很差,所以大多时候是直接分析其执行代码,如使用仿真机,甚至直接使用调试工具。这才是逆向工程的主要手段。别吃惊,我就认识好几个使用汇编(甚至机器码)和我使用C++同样熟练的程序员。

和仿制飞机之类的工业品不同,软件的逆向工程要容易很多,因为程序本身不但带有功能的信息同时还附带了设计信息。所以有多种手段来达到相同的目标,比如像DVD加密破解,使用的方法是用自己的代码模拟解密的代码。或者像新版蓝光那样跳过——骗过原本的程序,或找出隐藏在其中的秘密信息。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河