Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 22775|Svar: 0

[Let sprog] Easy-sprog VMP-beskyttelse, forskellige beskyttelsesshells SDK-kode i Easy-sprog

[Kopier link]
Opslået på 29/11/2014 15.59.19 | | |
ZProtect
Code_Confusion er et kode-ud-af-rækkefølge kryptografisk tag, der gør det muligt at vælge en del af koden, der er ude af rækkefølge
Indsæt kode ({ 235, 8, 83, 84, 95, 83, 84, 65, 82, 84 }) ' Code_Confusion marker for at starte
Indsæt kode ({ 235, 8, 83, 84, 95, 83, 84, 69, 78, 68 }) ' Code_Confusion slutning af mærket
Code_Elimination er en kode-rensningsmarkør, der gør det muligt at vælge en del af koden, der skal fjernes fra hukommelsen efter kørsel; Formålet med at bruge denne markup er at forhindre crackere i at dumpe hele programkoden fra hukommelsen.
Indsæt kode ({ 235, 8, 79, 67, 95, 83, 84, 65, 82, 84 }) ' Code_Elimination tag begynder
Indsæt kode ({ 235, 8, 79, 67, 95, 79, 67, 69, 78, 68 }) ' Code_Elimination marker til sidst
Decode_onExec er en dynamisk dekodningsmarkup, der gør det muligt at vælge en del af koden, som kun dekrypteres, når den eksekveres; Denne del af koden dekodes kun, når den skal eksekveres, og krypteres før og efter udførelsen
Indsæt kode ({ 235, 8, 68, 89, 95, 83, 84, 65, 82, 84 }) // Decode_onExec tag starter
Indsæt kode ({ 235, 8, 68, 89, 95, 68, 89, 69, 78, 68 }) // Decode_onExec markerer slutningen
Decode_onReg er et registreringsdekodningstag, der gør det muligt at vælge en del af koden, der er dekrypteret med en gyldig nøgle; Hvis registreringsnøglen er forkert, vil denne del af koden altid være krypteret. På almindeligt dansk bliver denne del af koden kun udført i den registrerede version
Et vilkårligt antal Decode_onReg tags kan bruges i kildekoden, men disse kodeuddrag dekrypteres samtidig, mens de udføres. Registreringsdekodningstagget bruges primært til at aktivere begrænsede funktioner i den uregistrerede version for at registrere den som en fuld version.
Indsæt kode ({ 235, 8, 82, 68, 95, 83, 84, 65, 82, 84 }) // Decode_onReg tag begynder
Indsæt kode ({ 235, 8, 82, 68, 95, 82, 68, 69, 78, 68 }) // Decode_onReg markere slutningen
Zprotect_VM er et virtuelt maskinekrypteringstag, der gør det muligt at vælge en del af koden, der skal lægges ind i den virtuelle maskine for at køre; Den virtuelle maskines instruktionssystem er helt anderledes end de eksisterende x86-instruktioner, hvilket effektivt kan forhindre kodegendannelse og analyse
Indsæt kode ({ 235, 8, 86, 77, 95, 83, 84, 65, 82, 84 }) // Zprotect_VM marker for at starte
Indsæt kode ({ 235, 8, 86, 77, 95, 86, 77, 69, 78, 68 }) // Zprotect_VM marker end
----------- til ZProtect V1.4.9.0-versionen---------
VMProtect
Indsæt koden ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP beskyttelsesstartflag
'Nøglekode
Indsæt koden ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) ' VMP-beskyttelsesflag
SDK'en i Enigma-krypteringssproget
Indsæt kode ({ 235, 10, 69, 67, 82, 79, 78, 69, 88, 69, 69, 69, 69, 67, 66 })' mærket i begyndelsen
'Nøglekode
Indsæt kode ({ 235, 10, 69, 67, 82, 79, 78, 69, 88, 69, 69, 67, 69 })' mærke i slutningen af mærket

NoobyProtect SDK til krypteringssproget
Indsæt kode ({ 235, 6, 78, 80, 66, 69, 71, 78 })'-mærket i begyndelsen
'Nøglekode
Indsæt kode ({ 235, 6, 78, 80, 69, 78, 68, 80 })' mærket til sidst

Pangolin kalder DEMO'en af det funktionelle krypteringssprog SDK
Sæt koden ({ 235, 3, 214, 215, 1 })' mærket i begyndelsen
'Nøglekode
Placeringskode ({ 235, 3, 214, 215, 0 })' mærke i slutningen af mærket
ASP krypteringssprog SDK
Indsæt kode ({ 235, 4, 235, 5, 25, 1, 233, 37, 0 })' mærket i begyndelsen
'Nøglekode
Indsæt kode ({ 235, 4, 235, 5, 41, 1, 233, 133, 0, })' i slutningen af mærket

Shielden 2.0.1.0
Indsæt kode ({ 235, 7, 83, 69, 66, 69, 71, 78, 0 }) ' SE_PROTECT_START
' Nøglekode
Indsæt kode ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

Indsæt kode ({ 235, 7, 83, 69, 66, 69, 71, 78, 77 }) ' SE_PROTECT_START_MUTATION
Nøglekode
Indsæt kode ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
Indsæt kode ({ 235, 7, 83, 69, 66, 69, 71, 78, 85 }) ' SE_PROTECT_START_ULTRA
Nøglekode
Indsæt kode ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
Indsæt kode ({ 235, 7, 83, 69, 66, 69, 71, 78, 86 }) '
' Nøglekode
Indsæt kode ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

Easy language SDK-konverteringsmetode ↓
Med støtte fra E5.0 statisk kompilering til standard PE-formater er det blevet en realitet at introducere krypteringsshell-SDK'er i E-programmer for at forbedre kvaliteten af softwarebeskyttelsen.
Krypteringsshell-SDK'er kan groft opdeles i to kategorier, hvoraf den ene er et funktionelt SDK og den anden er et beskyttende SDK.
1. Funktionelt SDK.
Functional SDK bruges til at håndtere detSerienummerValidering, godkendelsestidsverifikation og andre funktionelle operationer. Denne type SDK har forskellige funktioner, der direkte anvendes i shellen, såsom WL; Der er også eksterne DLL'er, der skal introduceres, såsom pangoliner.
For DLL'er uden outputtabeller, ved brug af import ekstern SDK, skal vi indlæse DLL'en, adressere funktionen i SDK'en og kalde subprogram () kommandoen i E for nemt at fuldføre operationen med at sende parametre og opnå returværdien af SDK-funktionen.
For DLL'er med outputtabeller er det i orden at kalde dem med DLL-kommandoen E.
For dem, der allerede ved, hvordan man kalder DLL'er, kan man sige, at funktionen af SDK'er er let at kontrollere, bare kig på den specifikke API-manual for shellen.
2. Krypteret SDK
Efter at krypteringsskallen har opdaget et specifikt SDK-tag i softwaren, vil den bruge en målrettet metode til at behandle dette kodestykke for at forbedre sikkerheden i det specifikke kodesegment. Denne slags markup er naturligvis en pardefineret assembly-kode!
I den lette kan vi nemt kalde assembly-koden ved hjælp af kommandoen insert code (). Specifikt for krypteringsskallen ved brug af dette stykke følger vi følgende metode.
Åbn SDK'et, der følger med krypteringsskallen, og find en SDK-headerfil for sproget, som du kan læse. For eksempel headerfilen for LCC'en nedenfor.
Følgende er programkoden:
1 #elif defineret(__LCC__)
2 /* Leveret af Rubem Pechansky, 26. februar 2003 */
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(".byte 0xEB,0x03,0xD6,0xD6,0x06");
16 #define SECUREEND_F _asm(".byte 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");
For at forklare i de sidste to sætninger: NANOBEGIN og NANOEND er CC-kode-snippet-markups på C-sprog, og de kodesnippets, der er pakket ind i disse to markups, vil være CC-beskyttet af krypteringsskallen. NANOBEGIN repræsenteres af samlingskode som 0xEB, 0x03, 0xD6, 0xD7, 0x01, hans sætning er den hexadecimale repræsentation af C, og samlingssætningen repræsenteres i decimaldecimal i E. Det vil sige, vi skal oversætte denne kode.
0xEB = 235
0x03 = 3
0xD6 = 214
0xD7 = 215
0x01 = 1
Så udtrykkes NANOBEGIN i E som en indsættelseskode ({235, 3, 214, 215, 1}).




Tidligere:WP8.1 GDR2/Win10 (WP10) vil være mere personligt tilpasset
Næste:Første udgivelse, Houpu Information Technology Engineer Training System - Mock Examination System (Perfekt kompatibel med Win7)
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com