상용 소프트웨어를 보호 프로그램
이외에 프리웨어와 셰어웨어 프로그램, 다양한 상업적인 프로그램에 대한 소프트웨어를 보호합니다. 이런, 너무, 다를의 품질입니다. 이 문서를 쓸 때, 나는 의도로 상용 소프트웨어를 보호하는 내용을 작성을 모두 찾을 수 있었다. 나는 빨리 배웠지만,이있었습니다 멀리 너무 많은 상업적인 패키지를 표지에있는 합리적인 공간, 그래서 나는 whittled 내 초기 목록을 아래로 약 40 패키지 (아마도 한 - 제 3의 어떤 서비스를 이용할 수)입니다. 나는 다음을 선택한 어떤 것 같습니다 최고 - 알려진뿐 아니라, 내보기,가 장 좋은 패키지, 그리고 각각의 세부 사항을 공부합니다. 각 패키지의 디자인에 초점을 둘 다에서 나는 물론 코드 자체입니다. 대부분은 현재의 상업적인 소프트웨어의 작동과 같은 아마, svkp, vbox, 그리고 asprotect. 그러나, 불과 몇 상업적인 소프트웨어 패키지를 관리할 보호를 잘, 그리고 대부분의 이러한 프로그램은 변화에 대한 보호도하지 않았습니다 코드, 어떤 나는 아주 비전문를 찾을 수있습니다. 이 꽤 범위의 소프트웨어를 보호를 사용할 수있는, 그리고 대부분은 그것이 그 약점을합니다. 으로 소프트웨어 개발자를해야 이해의 단점은 프로그램을 선택하고 발전하는 좋은 전략을 고용 소프트웨어를 보호합니다. 이 좋은 솔루션을 초과가 발생하고 지능적 사용할 경우, 하나는 작품에 대한 확신을 수 있지만, 어떤 하나의 해결책을 마지막으로 영원히 기대하지 마십시오. asprotectasprotect, aspack 소프트웨어 (http://www.aspack.com)이 아니라 또 다른 상업적인 안티 - 크래킹 프로그램; 이것은 참으로 혁명적 진출에 소프트웨어를 보호합니다. 이 될 수있습니다 계획안 솔루션으로 소프트웨어를 보호하는 사람을 원하지 않는 사용자 보호를위한 지출이 오랜 시간을 공부하고 프로그래밍에 자신의 소프트웨어가있습니다. asprotect의 창조주 alexey solodovnikov 배운을 많이로부터 그의 작업에 aspack을 적용하는 경험을 asprotect. 그는 모든 안티 - 크래킹 방어하기 때문에 주장 꺾고 수있는 유일한 중요한 것은 어떤 상황 하에서 그들 깨진 수있습니다. 셰어웨어 개발자를 위해 특별히 만들어진 상태였다, asprotect 데 사용할 수있는 전문 소프트웨어도합니다. 반면 것이 아니라 다목적으로 flexlm, 그리고 그것에서만 윈도우, 나는 daresay하는 것은 현재가 장 어려운 상용 소프트웨어를 보호하여 휴식합니다. 그 유일한 약점은 필요하지 않습니다 최고의 안티 - 디버깅 트릭입니다. 비교하여 다른 상업용 소프트웨어를 보호, asprotect는 단순하고 잘 - 프로그래밍된를 반영해 단순하지만 멋진 아이디어를 뒤에서 그것입니다. 같은 유사한 프로그램을 원래의 프로그램은 압축하고 다음을 압축하여 asprotect하기 전에이 실행됩니다. asprotect의 압축이를 기반으로 aspack 알고리즘이 수준급입니다. 반면 그것을 추가 약 60kb의 코드는 원래의 프로그램을,이 추가 코드에 전혀 문제가되지 않는다, 이후에 발생 압축 프로그램은 훨씬 작아 그 다음은 원래 하나입니다. asprotect의 압축 풀기 그동안 있는지 여부를 확인 루틴을 검사하려고 시도를 변경하는 파일을, 그리고 그것을 방지하기 위해 변경 내용이 메모리에하려고합니다. 당연히하지 않고 압축 풀기, 원래 프로그램이 될 수없습니다 disassembled, 그리고 쉽지 않다으로 압축을 풀 asprotect하기 때문에 메모리 덤프를하려고 시도를 방지하는 프로그램을 같이 procdump. 한번의 수입 섹션되었습니다 메모리에서 덤프의 체육 파일이되지 않을 정확합니다. 그럼에도 불구하고,이있는 방식으로 압축을 풀 asprotect (되지하여 방금 덤핑), 그러나 asprotect이 아직없는 패배 이후에도 성공적으로 압축 풀기합니다. 같은 flexlm, asprotect하려고 시도의 사용을 방지하기 위해 특정 기능의 보호 프로그램이 경우는 등록되지 않은, 그리고 아름답게에 부합하지 않으므로 다른 소프트웨어와 비교합니다. 등록 후에는 장애인 부분은 디코딩된를 사용하는 상수의 등록 키, 그리고 수는없습니다를 디코딩하지 않고도이 등록 키가있습니다. asprotect의 매우 강력한 인코딩을 방지에도 직접 (브루트 - 강제)를 공격합니다. 세가 지를 확보하는 응용 프로그램과 함께 asprotect. 첫 번째 방식을 사용하는 것은 권장되지 않습니다 클래식 압축하고 있기 때문에의 비교적 쉬운를 디코딩합니다. 두 번째가 능성이 훨씬 더 많은 흥미를했지만 아직 최상입니다. 이 방법을가 원래 보호는 첫 번째 인증 이후에 asprotect api가 호출과 함께하는 상수에 대한 디코딩 인코딩된 부분은 프로그램입니다. 이 방법을 사용할 수있는 경우, 예를 들어, 원하는 프로그램을 보호하기 위해 이미 자체적으로 등록을 제어하고 변경을하지 않게 할 수있습니다. 이 방법은 원래의 보호가 약한 경우가 난한의 선택을하기 때문에 않을 방지를 과자 되는것이 올바른 상수입니다. 셋째, 최상 능성을하지 않는다 보호를 귀하의 추 모든 프로그램 (비록 추 보호가가 능합니다). 기본적으로이 세 번째 방법을 사용하는 경우, 사용자가 지정에서 등록 키 탭 asprotect 원하는 프로젝트를 포함하여 등록 키가있습니다. 이 프로그램을 만드는 기본적인 상수는 역할을하는 자료에 대한 다른 키, 그리고 그 금액도가 보호되는 부분은 프로그램을 인코딩하는 데 사용됩니다. 는 키를 생성하실 수에 따라 사용자 이름, 그리고 그들을 저장하실 수있습니다. 마지막으로, 당신이 결정 위치에 등록 키가 레지스트리에 저장됩니다 다음과 같은 등록을합니다. 참고 asprotect의 키 파일이 키 어미 있지만 본질적 reg 파일은 져올 레지스터 일단이 더블 - 클릭합니다. 이 메시지는 장점 때문에, asprotect의 등록 키가 다소 오래, 그리고 그것이 지루에 대한 사용자들에게 그들 손으로 입력합니다. 다음 단계는 등록 여부를 확인합니다. 이있는 경우에만 등록 키,이 프로그램은 등록된 사용자의 이름을 인쇄합니다. 를 지정할 수도있습니다 키가 된 불법을 공개하지 않으려면 이들을 기능은 향후 버전의 프로그램입니다. 후속 버전의 asprotect 것입 키에 대해 단 하나의 컴퓨터를 생성할 수있게되는 것이다 방지를 불법 유통의 등록 키가있습니다. 마지막으로,이 프로그램에 코드를 지정하면 원하는 프로그램의 일부분은 간단한 절차를 인코딩 - 이것은 거의 모든 프로그래머가 수있는가에 의해 수행됩니다. 현재 asprotect을 포함 코드 예에 대한 delphi, 시각 c + + 및 시각 기본입니다. 예를 들어, 다음은 간단한 예제의 시각 c + + : 포함 <windows.h> # 포함 "을 포함 \ asprotect.h"문자 * 메시지; 무효 registeraction () ( reg_crypt_begin 메시지 = "등록된 버전!" ; reg_crypt_end ) int winapi winmain (hinstance hinstance, hinstance hprevinstance, pstr szcmdline, int icmdshow) ( 메시지 = "등록되지 않은 버전!" ; registeraction (); messagebox (0, 메시지, "", 0); 반환 0; ) 추가해야합니다 reg_crypt_begin의 시작에 인코딩 프로그램과 reg_crypt_end를 종료합니다. 의 시작 부분에서 인코딩 부분을 프로그램, 다음과 같은 데이터를 추가해야합니다 : 0 ebh, 04h, 0ebh, 05h, 89h, 89h, 0e9h, 0, 0, 0, 0 그리고 다음과 같은 데이터가 추 끝에 : 0 ebh, 04h, 0ebh, 05h, 99h, 99h 이 데이터를 사용하면 asprotect를 찾으려면 원하는 분야를 인코딩합니다. 다음으로, 당신만을 호출하는 절차가 필요하고 나머지는 완료됩니다. 프로그램은 등록되지 않은 경우에는 인코딩된 일부는 건너, 또는 다른 오류가 발생할 것입니다. 만약이 프로그램은 등록,이 부분은 디코딩된의 시작 부분에 프로그램을하고 나중에 사용됩니다이라고하면됩니다. 를 얻을 수있습니다 사용자의 이름과 함께 apigetreginfo () api 함수입니다. 를 작성해야한다 많은 등록 키를 한번 asprotect를 사용하면 쉽게 제공하여 도서관 keygen.dll. 등록 키는 두 개의 함수를 작성할 수있습니다. 가 generatekeyasregfile () 함수를 만들어 등록 파일을 기반으로 사용자 정보가있습니다. 대신, generatekeyasstring () 함수를 반환에 메모리 포인터를 어디에 등록 키를 만들었습니다. asprotect를 설정하실 수있습니다 횟수를하는 프로그램을 실행할 수있습니다하거나 12,5의 일수된다. 유사한 상업적인 프로그램과는 달리, 모든 보호는 페냐에 배치하고, 파일들 dll이나 ocx 파일에 있지 않습니다. 로이 글을 작성하고 그것은 불에 과자를 올바르게 제거 asprotect의 보호를합니다. 이렇게하려면 않겠를 사용할 필요가 올바른 등록 키를 디코딩 프로그램을 시작한 다음 메모리에서 덤프합니다. 물론,이 프로그램의 제작자를 생각해이 공격, 그들이 너무을 추 추가 보호되지 않을 수있습니다. · 테스트 파일을 원래 : 1,691,648 바이트 · 테스트 파일 인코딩 : 693760 바이트 · 디코더 : aspackdie flexlmflexlm, 주소 세계 소프트웨어 (http://www.globetrotter.com)는 하나의가 장 자주 사용되는 보호 프로그램에 대한 비싸 상업적인 소프트웨어입니다. 반면 대부분으로 사용된 원래 유닉스 소프트웨어, 지난 몇 년간 다른 시스템과 함께 사용되는 것이되었습니다도, 특히 windows. flexlm는 데 사용하는가 장 큰 소프트웨어 제작자를 비롯한 adobe 시스템, 태양 microsystems, 텍사스 인스 트루먼 트를 sybase, sgi. flexlm 대부분의 운영 체제와 다양한 네트워크 프로토콜을 지원하고 제품을 보호하기 위해 다양한 방법을 제공합니다. 내가가 장 중요한 것 간단히 설명합니다. 활성화 / 비활성화 제품 기능 옵션은 자주 사용합니다. 데모 (시간 - 제한된 라이센스) 데모 또는 시간 - 제한된 프로그램의 전체 제품에서 발견된 특정 기능을 해제할 수있습니다. 시간을 제한할 수있다는 라이센스가 만료되면 날짜에 의해 결정을하는 일수, 또는으로 수의 프로그램이 시작됩니다. 활성화 / 비활성화 제품 기능이 옵션을 사용하면 일부 프로그램의 기능을 해제하고 다양한 유형의 라이선스를 사용합니다. 예를 들어,의 "라이트"버전의 프로그램, 일부 기능이 될 수 해제하고 다음을 활성화되면 사용자가 레지스터의 "프로"버전입니다. 떠다니는가 네트워크를 통해이 옵션을 사용하면 사용자의 최대 수를 결정합니다 특정 프로그램을 사용할 수있습니다 네트워크를 통해 한 번에합니다. 이 프로그램의 이름 - 사용자가이 설정을 지정하는 컴퓨터에서만 사용할 수있다는 그들의 네트워크 이름이있는 사용자의 목록에서 지정합니다. 노드 - 잠긴이 옵션은 잠금 장치가 제품을 하나의 특정 컴퓨터가있습니다. 노드 - 잠겨 계산이 옵션은 잠금 장치에 프로그램을 하나의 컴퓨터 및 전용에 대한 제한된 수의를 시작합니다. 시간 - 제한이 옵션을 설정으로 날짜 이후의 제품에 대한 라이센스가 만료됩니다 및이 프로그램은 더 이상 사용할 수있습니다. 도메인에만이 옵션의 사용을 제한하는 제품을 컴퓨터에 특정 인터넷 도메인입니다. 보호 제품을 호출 flexlm의 보호를 사용하는 api 함수, 그리고이 보호 기능을 점검하여 라이센스에있는 파일, 보통 license.dat. 이 프로그램을 사용하기 전에 보호 기능, 그것을 검사는 특정 사용자가 있는지 여부를 확인을받을 권리를 사용하는 기능을합니다. flexlm의 보호가되지 부러지지 불구합니다. 지금이 글을 작성하고 활용에 장애가있는 생성기는 올바른 라이센스 파일의 flexlm을 생산합니다. 당연히의 존재는이 생성기를 급속 flexlm의 효율성을합니다. 반면 아니지만,이 올바르게와 결합하여 사용하면 다른 보호, flexlm는 여전히 아주 좋은 솔루션을 제공합니다. 예를 들어, 어떤 다른 프로그램을 사용하여 테스트를하여 라이센스를 다시에서 일부 다른 방법이 한번의 보호 기능이 사용하는 프로그램이 자주 밝히지 an 불법으로 만든 라이센스 파일입니다. 그것은 때로는 어려운 flexlm의 보호를 찾으의 모든 기능을 사용하고이 절대적으로 필수적인 배치를 방지하려면 자신의 이름을 직접 양식에 exe 파일을 읽을 수있습니다. 중단점을 설정하기 때문에 크래커 종종에 lc_checkout 전화를 검색하면 flexlm 함수 호출, 그것의 더 나은 보호 기능을 확인하려면 그들이 사용되는 경우에만보다는 빨리 확인하려면 그들 모두가 프로그램이 시작되었습니다. 반드시, 너무,을 확인하려면 중단점을 설정하여이 통화를하고 다른 보호의 프로그램을 사용합니다. 반면 flexlm이 깨지기, 그것은 쉽게 사용할 수있습니다. 그 다양한 범위의 옵션 및 지원을하는 다양한 운영 체제를 만드는 것이 돋보이는 소프트웨어를 보호 옵션이있습니다. 설치설치 소프트웨어가 설치 패키지를 만들기 위해 설계되었습니다. 아마도 모든 사람이 작품에서 이미 목격했습니다 것이, 그리고 그것은 대부분의 필드에서 응용 프로그램을위한 최선의 선택을하면됩니다. 많은 프로그램이 설치와 경쟁하려했지만 없음이 폭행이 (비록 몇가 오는 닫기)입니다. 엄청난 문제를 일으킬 수 있기 때문에 결함이 설치 패키지에 대한 제품 유통, 제품을 사용해야 최상의 설치를 찾을 수있습니다하더라도 그것은 약간 더 비싸다. 설치는 광범위한 테스트 및되었습니다 문제없이 몇 년간에 사용하고있는 것 자체가 좋은 테스트에 오류가있습니다. 설치 간단한뿐만 아니라 매우 복잡한 설치를 수행할 수있습니다. 전화를 api 호출을 할 수조차 외부 도서관, 어떤 좋다에 대한 보호를합니다. 그리고, 그것에 대한 다양한 등록 조건을 확인할 수있습니다 설치 중에있습니다. 테스트 기간 동안의 하드웨어 키가 종종 설치를하고 설치가 중단됐다가 올바른 하드웨어 키가없는 경우입니다. 이 보호 기능을 제거하는 어려움은 다릅니다의 품질은 dll 라이브러리에서만합니다. 설치 자체 간단한 스크립트 언어를 사용하는 아마 대부분 같은 c, 그리고 일단 설치 패키지가 만들어졌습니다,이 파일들이 압축된로 특수 파일입니다. 설치할 때, 모든에 설치하는 데 필요한 파일의 압축을 임시 디렉토리 및 실행을 이곳에서 불과합니다. 심지어 경우에 보호되는 장점이있습니다 제거할 수있습니다, 그것은 여전히 쉽지 않은 설치 패키지 안에있는 파일을 변경합니다. (지금이 서면으로 압축 해제에 대한 버전 5의 설치 수를 업데이 트하고 압축 파일, 그러나 여전히 아무 것도 같은 그것에 대한 이전 버전 6.) 가 장 어려운 부분 크래킹 설치 - 보호된 파일 거짓말을 깨고의 보호 프로그램의 설치 스크립트 언어입니다. 디버깅의 언어가 어렵다는 매우 유사하기 때문에 시각 기초의 p - 코드가있습니다. 공격자가 문제가 발생하면 포함된 파일의 스크립트를 변경하려 할 때 -이 파일은 보호를받는 crc 수표, 그리고 그것은 매우 어려운 올바르게 변경 작업을 수행하려면 해당 파일의 구조가 오히려 혼동을하고 있기 때문에 복잡하다. 그러나 여전히 깨진의 보호하실 수있습니다. 설치 프로그램을 만들기위한 최고의 방패가 명확 설치 패키지입니다. 그것이 사용뿐만 아니라,가 장 비싼 응용 프로그램을 사용하여 게임을합니다. sharelocksharelock에서 nesbitt 소프트웨어 (http://www.nesbitt.com)는 상업적인 보호 기능을 사용 dll api를 호출합니다. sharelock의 보호는 같은 프로그램에 비해 더 복잡합니다 vbox, 요구에 코드를 삽입하는 api 전화로 보호된 응용 프로그램을 테스트합니다. 테스트할 수있습니다 하나의 유효 기간 만료일의 정확성에 대한 약간의 시간을 제한하거나 등록 번호를 입력합니다. 전체가 보호가 확보하여 하나의 dll 라이브러리를 호출 sharelk20.dll하고있는 디렉토리에 위치해야합니다 중 하나를 사용하여 파일의 보호를 응용 프로그램 또는 시스템 디렉토리입니다. sharelock의 약점 핵심은 보호의 dll 라이브러리 자체를 아주 쉽게 crc 수표를 수정하기 때문에이없습니다. 반면에 등록 번호를 계산하는 것은 매우 좋은, 그리고 어렵다을 찾기; 을 찾을 것으로, 공격자가 디버그 sharelk20.dll을 찾을 수있는 위치에 변화의 프로그램 코드, 언제 어느 지점에서 프로그램 등록된 것처럼 행동하는 것이다. 불행히도, 경우에 보호 수있습니다 깨짐이 쉽게을 수있는 방법은없습니다 보호를 위해 응용 프로그램을 상대로 공격을합니다. (아마가 보호되는 응용 프로그램을 수행할 수있다 체크섬의 dll 라이브러리를 감지를 공격합니다.) 그럼에도 불구하고, 최악의 뉴스는 일단 sharelk20.dll 보호가 깨진, 그것이가능한를 사용 (불법)을 사용하는 모든 응용 프로그램이 상업적인 보호를 , 잘 될 수있는 이유는이 제품이 단종됩니다. 가 아마 소프트웨어를 보호 시스템가 아마 소프트웨어를 보호 시스템이 상업적인 보호를 실리콘 범주 toolworks (www.siliconrealms.com / armadillo.htm)입니다. 프로그램은 인코딩 및 압축를 통해서는 임의로 생성된 인코딩 핵심입니다. 아마에는 하나 특히 흥미로운 불법 등록 번호를 입력하도록하는 기능을 사용하면 개발자는 크래커로 데이터베이스를 사용하여 찾을 수 있도록이 같은 숫자는 비 - 기능성의 후속 버전입니다. 아마도 포함하는 안티 - 디버깅 트릭 softice으로부터 보호합니다. 아마 쉽게 관리하기 위해, 그리고 우리가 살펴보겠 몇의 재미있는 기능에 대한 다음과 같은 목록입니다. 아마이있는 아주 좋은 도움말 시스템이 너무; 특정 옵션에 대한 자세한 내용은, 그것을 선택하기만하면 해당 설명 또는 액세스의 도움말 시스템을 참조하십시오. 하드웨어가 잠금 옵션 (프로)와 하드웨어가 잠금을 등록 번호 변경 사항은 각 컴퓨터를 설정할 수있는 다양한 매개 변수에 따르면 여기에있습니다. 보고서를 시계 - 백 보호를 점검하지 않습니다 비활성화됩니다 시간이없는 경우에 사용자의 시스템에있는 설정을 다시합니다. 이 보호를 해제해야 프로그램이 문제가있는 경우에만 해당됩니다. 인증서 상자를 정의 키에 대한 제품 보호 때 인증서는 사용,이 프로그램에 등록하실 수있습니다에서만 이러한 인증서입니다. 이러한 인증서에 대한 다양한 옵션을 설정할 수있습니다 서브 - 메뉴가있습니다. 작성 fixclock 키가 있으면 사용자가 나누기의 시간 보호 및 변경 사항의 날짜,이 프로그램의 보호를받습니다 아마가 작동을 중단됩니다. 프로그램을 실행하면 사용자가 이러한 형식 : program_name fixclock, 그는를 입력하라는 메시지가 표시됩니다 그래서 -라고 불리는 "fixclock"키입니다. 그는이 올바른 키를 입력할 경우,이 프로그램은 정상적으로 작동을 시작합니다. 아마은 매우 좋은 프로그램을한데 너무 쉽게 보호 제품에서 제거합니다. 예를 들어, 모든 과자 필요가있다는 프로그램을 로드할 때까지 기다리십시오로 메모리와 드 자체, 덤프 수있는 시점 그는 메모리에서이 프로그램을 디스크를하고 몇몇 작은 변화를위한 프로그램에 완전하게 작동되도록합니다. 아마 자체적으로 그 과자의 일자리를 더 쉽게하기 때문에 만드는 과정에서 메모리와 동일한 이름의 보호 프로그램을 제외하고는 접미사, tmpo. 이 과정은 완전히 해독 후 메모리에로드하고 모든 과자 필요가 무엇이 덤프 그것을 하드 드라이브에있습니다. 아마 수있는 좋은 선택이 셰어웨어 프로그래머들은 덜 사용 경험 보호를 프로그래밍합니다. 이 응용 프로그램을 외모 진짜 직업을 바란다 그 제작자를 찾을 수있는 방법을 개선하기 위해 그것의 최신 버전이있습니다. 현재, 비록, 나는 아마 수 있기 때문에 권장되지 않으므로 쉽게 제거, 비록 적은 경험이 크래커는 아마 실패할 이렇게 -하지 않는 한, 당연히 그들은 인터넷에서 사용하는 디코더를 찾을 수있습니다. · 테스트 파일 압축 : 1,007,806 바이트 · 압축 풀기 : 유엔 - 아마, 아마 킬러 vbox알라딘에서 vbox 지식 시스템 (http://www.ealaddin.com)는 하나의 오래된 및 자주 사용하는 상업적인 보호 프로그램에 대한 windows. 주로 사용하는 반면에 대한 셰어웨어, 데모 버전의 비싼 프로그램은 때로 보호와 함께 그것도합니다. 가 vbox 보호는 시간에 따라 제한됩니다. 하는 창이 나타납니다 때마다를 vbox - 보호 프로그램이 출범, 그리고이 윈도우에서 프로그램 자체를 실행할 수있습니다 전까지는 시간 제한이 만료됩니다. 의 첫 번째 버전의 vbox 명이라고 불리는 timelock 및들이 매우 인기가있습니다. 에 대한 보호, timelock이 사용하는 api 통화에서 tl32v20.dll 도서관, 보호 프로그램에서 호출합니다. 가 보호되는 응용 프로그램을 테스트하고 결정의 반환 값은는 계속 실행할지 여부입니다. 모양이에있는 프로그램 : 전화를 calltimelock 이 이후 반환을 eax에 등록해야하는 내용이 반환하는 값을 테스트가 성공 여부에 따라 달라질 것이다하거나하지 않습니다. timelock 3.03을 통해 3.10 이러한 버전의 timelock 포함 개선의 인코딩의 특정 부분의 프로그램을 미리 설정하는 항목 지점 (초)의 프로그램입니다. 이 미리보기에는 여러는 vbox 코드가 디버깅을 어렵게 만든다. an api 호출의 시작 부분에서 프로그램이 다소 특이한 이름 : 전화를 tl303inj.pleasetraceintome_mrcracker 인코딩된 부분을 응용 프로그램이 디코딩이 함수를하고 반환 값은 엔트리 지점은 보호 프로그램 (또는에 대비하는 중 오류가 발생, 주소를 exitprocess api 호출)입니다. 의 반환 값은 eax 레지스터를 다시, 그리고 마지막으로 지시가를 호출 eax하고있는 점프이 진짜 시작 지점의 프로그램 (또는에 exitprocess api 호출에 대비하는 중 오류가 발생). timelock 3.13을 통해 3.15 이러한 버전 들여온 여러 혁신 : · 인코딩의 모든 프로그램 코드 · 인코딩의 섹션입니다. idata · 계산의 crc의 보호의 dll 도서관에 메모리 프로그램을 디코딩과 함께 이러한 버전이 아닙니다 이전의 것들과 함께 것만 큼이나 간단합니다. 예를 하나, 인코딩 정보는 인코딩된 파일에 저장됩니다. idata 부분입니다. 또한,이 crc 통제를 tl315inj.dll은 메모리, 어떤 보장의 보호 상대로 중단점 (물론,하지 디버깅 중단점),뿐만 아니라 코드에 대한 변경 사항입니다. (찾을 수있습니다 weijun 리자의 이니셜의 코드; 그는 아마의 리드 프로그래머입니다.) vbox 4.0을 통해 4.03 이 버전에서는, vbox로 처음 등장한 것이 오늘날 우리가 알고있습니다. 이 버전을라고도 timelock 4,이 포함되어 여러 개선합니다. 가 보호 exe는 압축, 그리고 인코딩합니다. idata 섹션은 별도의 파일입니다. 의 보호 자체가 위치한 3 개의 dll 도서관 : vboxp4xx.dll 압축하고로드 dll 파일 vboxt4xx.dll 들어있는 기본적인 일상에 대한 보호의 previewparadise_wj vboxb4xx.dll를로드 vboxt4xx.dll와 통화 previewparadise 마지막 두 dll 라이브러리는 압축된 아니라 인코딩, 그리고 수입된 통화에 대한 정보가 저장됩니다. 두 부분에있는 파일을 호출 미리보기 및 weijunli, 좋은 비트의 코드와 인코딩된 데이터가 포함됩니다. 첫 번째 부분을 포함하고 정상적인 코드를하는 동안 두 번째는 압축된. 일단 보호 프로그램이 출범, 첫 번째 호출이가 vboxpxx.previewexecgate_by_weijunli을 압축 해제가 원래 프로그램의 미리보기입니다. 일단 모든 내용이 디코딩, 작은 조각의 코드를 포함하는 함수에 대한 호출에서 내보낸 vboxbxx.dll. 이 기능은 또한 압축과 함께 vboxpxx.previewexecgate_by_weijunli하기 전에 먼저 출시되고 있으며, 통화 vboxtxx.previewparadise_wj. 이 기능도 수행 crc에 보호된 파일은 물론에 vboxt4xx.dll 및 vboxb4xx.dll 파일입니다. crc이 올바르지 않으면,이 프로그램이 작동을 잘못 디코딩 키, 그리고 이후 잘못된 디코딩을 crc도 잘못된은 디코딩된 데이터입니다. 이 프로그램은 다음 오류 메시지가 표시됩니다. vbox 4.10 이 버전에는 다음과 같은 진기 : · 합병에 대한 모든 중요한 파일은 허용 신호 · 합병에 대한 dll 파일 복사본이 계산에 메모리 ·이 프로그램을 디버거에 메모리를 감지하려고 시도합니다 다른 사람이하려고하는 분해가 vboxp410.dll 코드에 windasm,이 프로그램에 오류가 발생할 것입니다. ida (대화형 디스가)가 제대로 작동하지만, 잘못된 코드를 만드는 것이다. vbox 4.3 이 최신 버전의 vbox 할인 잘 보호, 비록 그것이 취약하여 덤핑의 메모리 (들처럼 아마). 아무리 대대에 코드를 설치하지 않아도 모두가 금이가 그것을 이해하려고합니다. 기만하면 모든 작업이 시작 부분을 찾으의 인코딩 프로그램을 메모리에서 덤프합니다. (해야한다 향후 버전에서이 문제가 해결되는 저자, vbox 중 하나가 될 것이다 여러분께 최상의 상업적 보호를 패키지입니다.) vbox의 vbox 빌더 응용 프로그램을 사용하면 매우 쉽게 보호된 응용 프로그램을 만들려합니다. 그것은 매우 간단합니다 초기 대화 상자가에 대한 귀하의 프로그램을 만들 수있습니다 vbox와 함께이 프로그램을 실행할 때, 귀하의 경로를 설정하는 vbox 특권 파일을 각 사용자는 소프트웨어 게시자로부터 얻습니다. 이 권한을 구하는 파일, 파일 버튼을 클릭하십시오 얻을 특권입니다. 귀하의 브라우저는 게시자의 페이지를 표시하고 있으며, 귀하는이 설문지를 작성합니다. 몇 분 이내에해야합니다 짧은 파일이 포함된 이메일을받지. prv 확장합니다. 다음의 파일 이름을 입력하고 vbox 라이센스 정보 파일을 누르고 다음을 방지하기 위해 비밀 번호를 입력하여 라이센스 파일을 무단으로 사람들이 협력하고있습니다. 다음으로, 사용하는 언어에 선택하고 싶은 작품에 작성자의 이름을 입력하고, 제품, 버전, 연도, 그리고 제품을 식별 번호입니다. 다음과 같은 메뉴의 경우 다음을 입력에서가 장 중요한 정보를 포함하여 최대 횟수에 대한 제한을 발사하거나 일,이나 날짜를 응용 프로그램의 시험 기간이 만료됩니다. 의 고급 보안 옵션 메뉴를하면 응용 프로그램의 보호 기능을 설정합니다. 소프트웨어를 바인딩을 선택하는 경우, 사용자가 응용 프로그램을 복사할 수 없게됩니다를 다른 컴퓨터로 인해 비밀 파일을 하드 드라이브에있습니다. 하드웨어 바인딩을 선택할 경우, 컴퓨터의 하드웨어에 대한 정보를 확인하는 데 사용됩니다 라이선스 기계입니다. · 테스트 파일 압축 : 835320 바이트 · 압축 풀기 : vbox unwrapper 가 슬로바키아어 보호대 (svkp)그것은 특히 자신의 제품에 대한 강경를 작성하지 않고 편견과 함께 최대 객관성 등 상상을 할 수있습니다, 그리고 슬로바키아어 보호대가 내 제품입니다. 여전히, 나는 약속을 스틱을 사실과 객관적능한로된다. 가 슬로바키아어 보호대 (svkp)는 최연소의 상업적 보호 제품을 설명한 여기에있습니다. 시 개발을 svkp, 내 채택 최고의 최신 동향을 파악하고, 그 결과, svkp과 같이 asprotect. 그러나,이 유사성 확장 유일한을 자신의 모습과 일부 기능이있습니다. 가 svkp의 내부 구조는 완전히 다르다 asprotect, 그리고 그것이 유일한 하나의 보호를했습니다 프로그래밍된에서 논의되는 어셈블러. 는 사실이 기본으로 어셈블러를 보장하는 고속 및 허용에 대한 어떤 특별한 프로그래밍 기술이 사용할 수 없게하려면 많은 다른 고급 프로그래밍 언어입니다. 와 함께 asprotect, svkp이 수가 인코딩 부분을 보호 응용 프로그램, 그러면 그 다음으로 디코딩된에서만 사용하실 수있는 권리 등록 키가있습니다. 그것을 사용 rsa 키는 2048 - 바이트 '를 길이, 7356 것이 불가 허위 등록 키가 생성됩니다. 이렇게 한 과자가 있음을 발견했을 것이다 개인 키지만 구하기가 개인 키는 이런 긴 길이를 계산은 단순히 현재의 컴퓨터 시스템과 함께하실 수없습니다. 지의 보호, 컴파일된 프로그램은 대상 실행 파일 (exe, dll, ocx, 또는 스크립트)을합니다. 보호된 응용 프로그램은 압축되지 않는다 있지만이 인코딩에 의해 rijndael 알고리즘 (라고도 포맷). 이 알고리즘을 보호 약하므 - 무력 공격을 반대하고 압축을 보장하는 프로그램의 부족을 빠르게 실행됩니다. 이러한 유형의 응용 프로그램을 보호 기능이 비슷에서 사용되는 asprotect : 코딩의 컴파일된 응용 프로그램이있는 반면 아니지만 매우 안전하게 보호하며,이 경우에 충분합니다. 의 장점은이 보호 기능은 편리한 사용과 초고속, 그리고 자신의 등록을 제어하는 응용 프로그램을 사용할 수있습니다. 가 보호되는 응용 프로그램을 사용합니다 svkp 등록 키가있습니다. 그것을 활용 api 함수의 오른쪽 등록 키가 있는지 여부를 확인하는 데 사용됩니다. 블록 (함수)의 보호를 응용 프로그램은 디코딩된에서만 사용가 오른쪽 등록 파일입니다. 이러한 블록을 사용하려면, 간단히 마크 장소 또는 부품의 응용 프로그램을 원하는가 오른쪽 등록을하지 않고 사용하는 사람을 방지하기 위해 키, 컴파일하기 전에는 응용 프로그램을 보호합니다. 이것은 매우 쉬운 방법을 만들어 보호 데모 버전의 프로그램입니다. 예를 들어, 마크를 저장하는 경우가 해제되기 전에 컴파일, 사용자 (없이는 오른쪽 등록 키)의 저장 기능이 해제되는가 통지됩니다은 데모 버전입니다. 일단이 프로그램은 등록을 올바른 등록 키를 표시 기능을 즉시 액세스할 수있습니다. 우리가 현재는 매우 심각한 문제에 직면 우리 라야 상업적인 보호 : 등록 키가 인터넷에 게시됩니다. 경우에 과자 구매하는 프로그램 (보통 신용 카드를 사용하는 도난), 얻습가 오른쪽 등록 키, 자신이 두가 지가 능성입니다. 첫째, 그는 시도를 제거할 수있습니다을 보호하고있는가 쉽지 않다면이 프로그램은 보호를받습니다 svkp. 두 번째 (와 훨씬 더 매력적 능성을 하였다), 그는 도난 등록 키가 인터넷에 게시할 수있습니다. 이 경우, 모든 사람이 실제 키를 사용합니다 그들의 데모 버전으로 바꿀 수있습니다 완전하게 작동하는 프로그램이있습니다. 가 svkp, asprotect, 그리고 아마 모든 보호된 응용 프로그램을 제공하고 특수 키 형식으로 생성된를 특정 컴퓨터를 사용자가 intending를 등록합니다. 하나의 장점은 이러한 키는 이들 컴퓨터간에 이동할 수없습니다; 따라서, 자신의 출판물을 인터넷에서 응용 프로그램의 보호를 위협하지 않는다. 물론, 몇가 지 단점도있습니다. 예를 하나, 등록을 필요로 사용자가 자신의 컴퓨터를 서버에 대한 데이터를 전송하기 전에 키가 생성가 아니라 작업을 수행하는 모든 사용자를 좋아합니다. 너무, 없음의 상장 보호 업무를 온라인으로하므로 등록 수있다는 api 함수를 사용하여 직접 만들 수있습니다. (더 발전이 예상된다 향하는 활성화 및 지불에 대한 등록을 직접 보호 프로그램을 통해 필요없이 등록 웹사이트로 이동하려면 또는 생산자의 사이트입니다.) 가 장 큰 문제는하지만, 하드웨어의 변화로 발생합니다. 만약 사용자가 변경 사항을 자신의 하드웨어를 키가 작동을 중지하고 브랜드를 새로 하나되어야 올렸습니다. 그것은 이러한 이유는 대부분의 개발자를 허용 키를 눌러 컴퓨터간에 전송됩니다. 가 svkp을 비롯하여 일부 다른 진보 기술을 너무,가 장 중요한이있는 api를 호출하는 응용 프로그램을 사용할 수 있도록하는 보호와 통신을 보호, 즉 함수 svkp_getregistrationinformation. 달리 보호를 svkp도 들어 api 함수를 사용하여 활성화된 보호 기능을 포함한 svkp_lockkeybord, svkp_killdebugger, 이름을 밝히지 그들의 목적입니다. 이외에 고전 코딩을 차단하는 디코딩에서만 사용가 오른쪽 등록 키를 svkp을 포함 2 개의 다른 블록 타입입니다. 첫 번째 유형은 디코딩된을 시작하기 전에 오른쪽 - 설치하고, 이후 집행, 프로그램 코드가 들어있는 블록은 즉시 삭제합니다. 나는이 첫 번째 블록을 사용하는 것이 좋습니다 종류의 초기 코드 부분입니다. 두 번째 블록 종류도 디코딩을 시작하기 전에 오른쪽 - 최대, 그렇지만이 코딩을 다시 직후 실행합니다. 이 블록 유형에 대한 중요한 코드가 부품을 사용합니다. athough의 모든 위의 기술을 방지 덤핑, 그리고 svkp 및 기타 상업적인 보호를 포함할 활성 방지 덤핑부터 메모리, 그것만으로 충분하지 않습니다. 이 기술을 제공하는 프로그램이 매우 효과적인 보호를 상대로 덤핑 메모리에서하고 다음을 분해합니다. 또 다른 살펴 봅시다 중 일부가이 기술에 기본 제공 svkp하고 그것을 해결할 방법을 고려의 문제를 tracers 및 디버거는 물론 방식 시도가 4220 metamorphism를 더욱 안전하게 보호합니다. tracers A tracer is a program that crackers use to try to analyze the protected application on start-up or while it is running. The best-known tracer is IceDump, which is a plug-in to Soft-ICE. The tracer analyzes instructions directly in machine code, which means that it is a really simple program. But when a tracer is well-designed it can be used in a variety of ways, depending only on the cracker's imagination. Crackers mostly use tracers to repair Import tables, which are frequently used by commercial protections to prevent a program from simply being dumped from the memory. Tracers are also used to decode protected applications by analyzing the code and waiting until the application is decoded. Once the tracer finds that the application has been decoded, it dumps it from memory. The SVKP is one of only a few commercial protections that fights tracers. Debuggers Debuggers are yet another problem. The SVKP uses some brand new tricks to detect debuggers, and it is the only protection able to detect and remove all types of breakpoints used by debuggers. Metamorphism Metamorphism is a technology with a very promising future, though it is rarely used. The youngest (and most complicated) of all listed technologies, metamorphism tries to solve the problem of protected code repeatability, which stems from the fact that current protections are more or less alike. Once a cracker figures out how to break a type of protection scheme, it is easy for him to break it again and again and in less and less time. Metamorphism tries to prevent this by changing the protection each time it is used, thus making it harder for the cracker to break the protection. None of the protections currently offered use full metamorphism, though the SVKP comes close, since it is much easier to use metamorphism in assembler than in advanced programming languages. I leave it to you to decide whether the SVKP's protection is any better (or worse) than any other, and I hope that you have not found my opinion to be too biased. this is an article added by Paquel Mason
|
|||
|