리버스 엔지니어링 바이블 예제

리버스 엔지니어링(back engineering)이라고도 불리는 리버스 엔지니어링은 인공 객체를 해체하여 설계, 아키텍처를 드러내거나 개체에서 지식을 추출하는 프로세스입니다. 과학적 연구와 유사하게, 유일한 차이점은 과학 연구가 자연 현상에 관한 것입니다. [1]:3 천십억 톤 기계지구는 매년 수십억 톤의 화학물질이 복잡한 분자와 그 분자의 원소 성분 사이의 순환하는 역동적인 행성이다. 지구화학은 대기 중의 가스의 구성, 지구의 리소구 또는 바위 부분의 화학적 조성, 그리고 지구의 대부분을 덮는 물의 화학을 포함합니다. 생물학적 과정이 이 화학에 영향을 미치기 때문에(광합성에 의한 이산화탄소 제거 또는 호흡에 의한 대기중의 이산화탄소 추가와 같이), 우리는 지구의 동적 화학 시스템을 생물지구화학적 이라고 합니다. . 리버스 엔지니어링은 많은 목적으로 사용됩니다: 학습 도구로; 현재 시장에 출시되는 제품보다 저렴한 새롭고 호환 가능한 제품을 만드는 방법; 소프트웨어가 보다 효과적으로 상호 운용하도록 하거나 서로 다른 운영 체제 또는 데이터베이스 간에 데이터를 브리지하기 위한 것; 그리고 상용 제품의 문서화되지 않은 기능을 밝히기 위해. 난독화와 같은 소프트웨어 변조 방지 기술은 독점 소프트웨어 및 소프트웨어 기반 시스템의 리버스 엔지니어링 및 재엔지니어링을 모두 억제하는 데 사용됩니다. 실제로, 리버스 엔지니어링의 두 가지 주요 유형이 등장. 첫 번째 경우 소스 코드는 소프트웨어에 이미 사용할 수 있지만 프로그램의 상위 수준 측면(문서화되지 않았거나 문서화되지 않았지만 더 이상 유효하지 않음)이 검색됩니다. 두 번째 경우에는 소프트웨어에 사용할 수 있는 소스 코드가 없으며 소프트웨어에 대해 가능한 소스 코드를 검색하려는 모든 노력은 리버스 엔지니어링으로 간주됩니다. 이 용어의 두 번째 사용은 대부분의 사람들이 잘 알고있는 것입니다. 소프트웨어의 리버스 엔지니어링은 클린 룸 디자인 기술을 사용하여 저작권 침해를 방지 할 수 있습니다.

소프트웨어의 소스 코드를 사용할 수 없는 경우 이진 역설계가 수행됩니다. [1] 이 프로세스를 리버스 코드 엔지니어링 또는 RCE라고도 합니다. [15] 예를 들어 Java 플랫폼에 대한 바이너리의 분해는 Jad를 사용하여 수행할 수 있습니다.