이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 22775|회답: 0

[쉬운 언어] Easy Language VMP 보호, 다양한 보호 셸, Easy 언어로 된 SDK 코드

[링크 복사]
게시됨 2014. 11. 29. 오후 3:59:19 | | |
ZProtect
Code_Confusion 순서가 뒤섞인 코드 암호 태그로, 순서가 뒤섞인 코드 부분을 선택할 수 있게 해줍니다
코드 삽입 ({ 235, 8, 83, 84, 95, 83, 84, 65, 82, 84 }) ' Code_Confusion 표시를 시작하세요
코드 삽입 ({ 235, 8, 83, 84, 95, 83, 84, 69, 78, 68 }) ' Code_Confusion 마크 끝에
Code_Elimination 실행 후 메모리에서 제거할 코드 일부를 선택할 수 있는 코드 퍼지 마커입니다; 이 마크업을 사용하는 목적은 크래커가 메모리 내 전체 프로그램 코드를 덤프하는 것을 방지하는 것입니다.
코드 삽입 ({ 235, 8, 79, 67, 95, 83, 84, 65, 82, 84 }) 'Code_Elimination 태그 시작
코드 삽입 ({ 235, 8, 79, 67, 95, 79, 67, 69, 78, 68 }) 'Code_Elimination 표시
Decode_onExec 동적 디코딩 마크업으로, 실행 시에만 복호화되는 코드 일부를 선택할 수 있게 해줍니다; 이 코드 부분은 실행이 필요할 때만 디코딩되며, 실행 전후로 암호화됩니다
코드 삽입 ({ 235, 8, 68, 89, 95, 83, 84, 65, 82, 84 }) // 태그 시작 Decode_onExec
코드 삽입 ({ 235, 8, 68, 89, 95, 68, 89, 69, 78, 68 }) // 끝을 표시Decode_onExec
Decode_onReg 등록 디코딩 태그로, 유효한 키로 복호화된 코드 일부를 선택할 수 있게 해줍니다; 등록 키가 잘못되면 이 부분의 코드는 항상 암호화되어 있습니다. 쉽게 말해, 이 코드 부분은 등록된 버전에서만 실행됩니다
소스 코드에는 무제한의 Decode_onReg 태그를 사용할 수 있지만, 이 코드 조각들은 실행 시 동시에 복호화됩니다. 등록 디코딩 태그는 주로 등록되지 않은 버전에서 제한된 기능을 활성화하여 완전한 버전으로 등록하는 데 사용됩니다.
코드 삽입 ({ 235, 8, 82, 68, 95, 83, 84, 65, 82, 84 }) // 태그 시작 Decode_onReg
코드 삽입 ({235, 8, 82, 68, 95, 82, 68, 69, 78, 68 }) // Decode_onReg 끝을 표시
Zprotect_VM는 가상 머신 암호화 태그로, 가상 머신에 실행할 코드 일부를 선택할 수 있게 해줍니다; 가상 머신의 명령어 시스템은 기존 x86 명령어와 완전히 다르며, 이는 코드 복원 및 분석을 효과적으로 방지할 수 있습니다
코드 삽입 ({ 235, 8, 86, 77, 95, 83, 84, 65, 82, 84 }) // Zprotect_VM 표시 시작하세요
코드 삽입 ({ 235, 8, 86, 77, 95, 86, 77, 69, 78, 68 }) // Zprotect_VM 마크 끝
ZProtect V1.4.9.0 버전에 대해 --------------------
VMProtect
코드를 삽입하세요 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) 'VMP 보호 시작 플래그
'키 코드
코드 삽입 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0) 'VMP 보호 종료 플래그
에니그마 암호화 언어의 SDK
코드 삽입 ({ 235, 10, 69, 67, 82, 79, 78, 69, 69, 69, 69, 67, 66 })' 표시
'키 코드
마크 끝에 코드 ({ 235, 10, 69, 67, 82, 79, 78, 69, 69, 88, 69, 67, 69 })' 마크를 삽입하세요

암호화 언어용 NoobyProtect SDK
코드 ({ 235, 6, 78, 80, 66, 69, 71, 78 })' 표시를 시작 부분에 삽입하세요
'키 코드
코드 ({ 235, 6, 78, 80, 69, 78, 68, 80 })' 표시를 끝에 삽입하세요

Pangolin은 기능적 암호화 언어 SDK의 DEMO를 호출합니다
코드 ({235, 3, 214, 215, 1})' 표시를 시작 부분에 붙이세요
'키 코드
마크 끝에 위치한 장소 코드 ({ 235, 3, 214, 215, 0 })' 표시
ASP 암호화 언어 SDK
코드 ({235, 4, 235, 5, 25, 1, 233, 37, 0 })' 마크를 삽입하세요
'키 코드
마크 끝에 코드 ({ 235, 4, 235, 5, 41, 1, 233, 133, 0, })'를 삽입하세요

쉴든 2.0.1.0
코드 삽입 ({ 235, 7, 83, 69, 66, 69, 71, 78, 0 }) ' SE_PROTECT_START
' 키 코드
코드 삽입 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

코드 삽입 ({ 235, 7, 83, 69, 66, 69, 71, 78, 77 }) ' SE_PROTECT_START_MUTATION
키 코드
코드 삽입 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
코드 삽입 ({ 235, 7, 83, 69, 66, 69, 71, 78, 85 }) ' SE_PROTECT_START_ULTRA
키 코드
코드 삽입 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
코드 삽입 ({ 235, 7, 83, 69, 66, 69, 71, 78, 86 }) '
' 키 코드
코드 삽입 ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

Easy language SDK 변환 방법 ↓
표준 PE 포맷용 E5.0 정적 컴파일 지원과 함께, 소프트웨어 보호 품질을 향상시키기 위해 E 프로그램에 암호화 셸 SDK를 도입하는 것이 현실화되었습니다.
암호화 셸 SDK는 대략 기능성 SDK와 보호 SDK의 두 가지 범주로 나눌 수 있습니다.
1. 함수형 SDK.
Functional SDK가 이를 처리합니다일련번호검증, 권한 부여 시간 검증 및 기타 기능적 작업입니다. 이 유형의 SDK는 WL과 같은 다양한 기능을 셸에 직접 적용합니다; 천산갑과 같은 외부 DLL도 도입해야 합니다.
출력 테이블이 없는 DLL의 경우, 외부 SDK를 가져오면 DLL을 불러오고, SDK 내 함수를 주소로 지정한 뒤, E 언어로 서브프로그램() 명령어를 호출하여 SDK 함수의 반환 값을 얻기 위해 매개변수를 전달하는 연산을 쉽게 완료해야 합니다.
출력 테이블이 있는 DLL의 경우, DLL 명령어 E로 호출해도 괜찮습니다.
이미 DLL을 호출하는 방법을 아는 분들을 위해 설명하자면, 기능성 SDK의 작동은 제어하기 쉽다고 할 수 있습니다. 셸의 특정 API 매뉴얼을 살펴보면 됩니다.
2. 암호화된 SDK
암호화 셸이 소프트웨어 내 특정 SDK 태그를 발견하면, 해당 코드 구간의 보안을 강화하기 위해 특정 코드를 처리하는 타겟 방법을 사용합니다. 이런 종류의 마크업은 자연스럽게 쌍으로 정의된 어셈블리 코드입니다!
쉬운 경우, insert code () 명령어를 사용해 어셈블리 코드를 쉽게 호출할 수 있습니다. 이 부분을 사용하는 암호화 셸에 특화된 방법은 다음과 같습니다.
암호화 셸에 포함된 SDK를 열고, 읽을 수 있는 언어 SDK 헤더 파일을 찾아보세요. 예를 들어, 아래의 LCC의 헤더 파일입니다.
다음은 프로그램 코드입니다:
1 정의#elif(__LCC__)
2 /* 제공: 루벰 페찬스키, 2003년 2월 26일 */
3 #define SECUREBEGIN _asm(".byte 0xEB,0x03,0xD6,0xD6,0x00");
4 #define SECUREEND _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
5 #define SECUREBEGIN_A _asm(".byte 0xEB,0x03,0xD6,0xD6,0x01");
6 #define SECUREEND_A _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
7 #define SECUREBEGIN_B _asm(".byte 0xEB,0x03,0xD6,0xD6,0x02");
8 #define SECUREEND_B _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
9 #define SECUREBEGIN_C _asm(".byte 0xEB,0x03,0xD6,0xD6,0x03");
10 #define SECUREEND_C _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
11 #define SECUREBEGIN_D _asm(".byte 0xEB,0x03,0xD6,0xD6,0x04");
12 #define SECUREEND_D _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
13 #define SECUREBEGIN_E _asm(".byte 0xEB,0x03,0xD6,0xD6,0x05");
14 #define SECUREEND_E _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
15 #define SECUREBEGIN_F _asm(".바이트 0xEB,0x03,0xD6,0xD6,0x06");
16 #define SECUREEND_F _asm(".바이트 0xEB,0x03,0xD6,0xD6,0xFF");
17 #define SECUREBEGIN_G _asm(".byte 0xEB,0x03,0xD6,0xD6,0x07");
18 #define SECUREEND_G _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
19 #define SECUREBEGIN_H _asm(".byte 0xEB,0x03,0xD6,0xD6,0x08");
20 #define SECUREEND_H _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
21 #define SECUREBEGIN_I _asm(".byte 0xEB,0x03,0xD6,0xD6,0x09");
22 #define SECUREEND_I _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
23 #define SECUREBEGIN_J _asm(".byte 0xEB,0x03,0xD6,0xD6,0x0A");
24 #define SECUREEND_J _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
25 #define SECUREBEGIN_K _asm(".byte 0xEB,0x03,0xD6,0xD6,0x0B");
26 #define SECUREEND_K _asm(".byte 0xEB,0x03,0xD6,0xD6,0xFF");
27 #define NANOBEGIN _asm(".byte 0xEB,0x03,0xD6,0xD7,0x01");
28 #define NANOEND _asm(".byte 0xEB,0x03,0xD6,0xD7,0x00");
마지막 두 문장에서 설명하자면, NANOBEGIN과 NANOEND는 C 언어로 된 CC 코드 스니펫 마크업이며, 이 두 마크업으로 감싸인 코드 스니펫은 암호화 셸에 의해 CC로 보호됩니다. NANOBEGIN은 어셈블리 코드로 0xEB, 0x03, 0xD6, 0xD7, 0x01로 표현되며, 문장은 C의 16진수 표현이고, 조립 문장은 E의 십진수 소수점으로 표현됩니다. 즉, 이 코드를 번역해야 한다는 뜻입니다.
0xEB = 235
0x03 = 3
0xD6 = 214
0xD7 = 215
0x01 = 1
그 후 NANOBEGIN은 E 코드 삽입 코드 ({235, 3, 214, 215, 1})로 표현됩니다.




이전의:WP8.1 GDR2/Win10 (WP10)는 더 개인화될 예정입니다
다음:첫 번째 릴리스, Houpu 정보기술 엔지니어 교육 시스템 - 모의 시험 시스템 (Win7과 완벽히 호환됨)
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com