이 글은 소프트웨어 암호화 개 해독의 일반적인 생각과 방법을 소개하고 있는데, 어제 방금' 소프트웨어 암호화 잠금 제품 평가' 를 소개했는데, 어떻게 오늘 암호화 개를 소개하여 지식을 해독할 수 있을까? (윌리엄 셰익스피어, Northern Exposure (미국 TV 드라마), 과학명언) 사실, 소프트웨어 개발자로서 소프트웨어 암호화를 잘 연구하는 것이 중요하지만, 암호화 개들의 암호 해독과 해독에 대해 더 많이 알아야 할 필요가 있습니다. 암호화와 해독은 창과 방패와 같습니다. 암호 해독에 대해 더 많이 알수록, 암호화 코드를 작성하는 것이 더 좋습니다. 암호화는 항상 암호 해독보다 더 쉽다는 것을 알아야 합니다. 서로를 알아야 백전백승할 수 있다. (존 F. 케네디, 지식명언) 하드웨어 암호화 잠금, 속속' 암호화 개', 암호화 개 해독은 크게 세 가지 방법으로 나눌 수 있습니다. 하나는 하드웨어 복제 또는 복제를 통해, 하나는 SoftICE 와 같은 Debug 도구를 통해 추적 암호 해독을 디버깅하는 것이고, 다른 하나는 요격기를 작성하여 소프트웨어와 암호화 개 간의 통신을 수정하는 것입니다.
하드웨어 복제 복제는 주로 국산 칩을 겨냥한 암호화 개다. 국산 암호화 개사는 일반적으로 핵심 암호화 칩의 제조 능력이 없기 때문에 일부 시장에서 통용되는 칩을 사용하며, 해독자는 칩 회로와 칩에 기록된 내용을 분석한 후 바로 똑같은 암호화 개를 복사하거나 복제할 수 있다. 그러나 외국의 암호화 개는 이런 방법을 사용할 수 없다. 외국 암호화 개 하드웨어는 보안이 좋은 자체 개발 칩을 사용하며, 보통 복제하기가 어렵고, 현재 국내 암호화 개도 수입 스마트 카드 칩을 사용하고 있기 때문에 이런 하드웨어 복제의 암호 해독 방법은 점점 쓸모가 없어지고 있다.
Debug 디버그 해독의 경우, 소프트웨어의 복잡성이 높아지면서 컴파일러에서 생성되는 코드도 많아지고, 디스어셈블과 같은 방법을 통해 디스어셈블을 추적하는 복잡성도 높아지고, 해독 비용도 높아지고 있습니다. 깨지는 소프트웨어가 높은 가치를 가지고 있지 않으면 이렇게 복잡한 해독에 많은 노력을 기울이는 사람은 거의 없습니다. (존 F. 케네디, Northern Exposure (미국 TV 드라마), 과학명언)
현재 암호화 잠금 (암호화 개) 의 암호 해독 작업은 주로 응용 프로그램과 암호화 동적 라이브러리 간의 통신 차단에 집중되어 있습니다. 이 방법은 비용이 저렴하고 구현하기 쉬우며, 단일 칩 등 칩을 핵심으로 하는 암호화 잠금 (암호화 개) 에 대한 암호 해독 효과가 좋다.
암호화 잠금 장치 (암호화 개) 의 응용 프로그램 인터페이스 (API) 는 기본적으로 공개되어 있기 때문에 인터넷에서 암호화 개 프로그래밍 인터페이스 API, 사용자 설명서 및 기타 관련 자료를 쉽게 다운로드할 수 있으며 암호화 개 기술의 최신 발전을 알 수 있습니다.
예를 들어, 국내에서 유명한 미국 암호화 개 공급자의 유명한 암호화 개는 모든 프로그래밍 자료를 인터넷에서 얻을 수 있으며, 이러한 자료에 대한 분석을 통해 이 암호화 잠금 (암호화 개) 에는 64 개의 메모리 장치가 있으며, 그 중 56 개는 사용자가 사용할 수 있으며, 이들 각 단위는 세 가지 유형 중 하나로 사용될 수 있습니다. 알고리즘, 암호화 개
데이터 값은 읽기/쓰기 가능한 셀에 저장된 데이터라는 것을 잘 알고 있습니다. 하드 드라이브에 저장된 것처럼 사용자는 Read 함수를 사용하여 스토리지 단위 내의 데이터를 읽거나 Write 함수를 사용하여 자체 정보를 저장 장치에 저장할 수 있습니다.
카운터는 소프트웨어 개발자가 소프트웨어에서 Decrement 함수를 사용하여 값을 1 씩 줄일 수 있는 단위입니다. 카운터가 활성 (active) 알고리즘과 연결되면 카운터가 0 이면 (deactive) 알고리즘이 닫힙니다.
알고리즘 단위는 이해하기 어렵습니다. 알고리즘 (algorithm) 은 Query(queryData) 함수를 사용하여 액세스하는 기술입니다. 여기서 queryData 는 쿼리 값입니다. 위의 함수에는 반환 값이 있고 암호화된 프로그램은 이러한 쿼리 값/반환 값 쌍 세트를 알고 있습니다. 알고리즘으로 지정된 단위의 경우 소프트웨어는 읽을 수 없고 수정할 수 없습니다. 합법적인 사용자라 해도 이 기술은 프로그램 복잡성을 증가시키는 것 외에 주로 시뮬레이터 기술을 사용하는 해독에 대응하기 위한 것입니다. (데이비드 아셀, Northern Exposure (미국 TV 드라마), 과학명언)
이 암호화 잠금 (암호화 개) 에 대한 모든 API 함수 호출에는 반환 값이 있으며 반환 값이 0 이면 성공을 나타냅니다.
따라서 해독 아이디어는 VB, VC 등 자체 도구 (예: VB, VC 등) 를 사용하여 암호화 개 API 와 같은 DLL 동적 라이브러리 파일을 다시 작성하는 것입니다. 여기에는 Read, Write 등 모든 API 에 포함된 함수도 포함되어 있습니다. 사용된 매개변수와 반환 값은 원래 함수와 마찬가지로 모든 함수가 0 을 반환합니다. 그런 다음 Query, Read 함수를 처리하고 응용 프로그램에 필요한 숫자 값을 반환하면 됩니다.
이 새로운 DLL 파일을 성공적으로 작성한 후 원래의 DLL 파일을 직접 교체하고, 이 때 응용 프로그램을 다시 실행하면 소프트웨어가 암호화 개에 액세스하는 작업이 모두 차단되고, 인터셉터는 항상 정확한 데이터를 소프트웨어에 반환하여 아날로그 암호화 개 작동을 가능하게 한다.
이것은 현재 소프트웨어 암호화 개 (암호화 잠금) 를 해독하는 몇 가지 일반적인 아이디어입니다. 이 해독에 대해 소프트웨어 개발자는 여전히 그에 상응하는 대책을 가지고 있습니다. 다음에는' 소프트웨어 암호화 잠금 프로그래밍 기술' 기사에서 소프트웨어 개발자가 안전하고 신뢰할 수 있는 코드를 어떻게 작성하는지 구체적으로 설명하겠습니다. 이런 유사한 해독 방법을 무효화하다.