See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 22775|Vastuse: 0

[Lihtne keel] Easy Language VMP kaitse, erinevad kaitsekestad, SDK kood Easy keeles

[Kopeeri link]
Postitatud 29.11.2014 15:59:19 | | |
ZProtect
Code_Confusion on koodist väljas krüptograafiline silt, mis võimaldab valida koodi osa, mis on vales järjekorras
Sisesta kood ({ 235, 8, 83, 84, 95, 83, 84, 65, 82, 84 }) ' Code_Confusion algusmärgi
Sisesta kood ({ 235, 8, 83, 84, 95, 83, 84, 69, 78, 68 }) ' Code_Confusion märgi lõpp
Code_Elimination on koodi puhastusmärk, mis võimaldab valida osa koodist, mis eemaldatakse mälust pärast käivitamist; Selle märgistuse eesmärk on takistada murdjaid kogu programmi koodi mälust kustutamast.
Sisesta kood ({ 235, 8, 79, 67, 95, 83, 84, 65, 82, 84 }) ' Code_Elimination silt algab
Sisesta kood ({ 235, 8, 79, 67, 95, 79, 67, 69, 78, 68 }) ' Code_Elimination märk lõpus
Decode_onExec on dünaamiline dekodeerimise märgistus, mis võimaldab valida osa koodist, mis dekrüpteeritakse ainult käivitamisel; See koodiosa dekodeeritakse ainult siis, kui seda on vaja täita, ning krüpteeritakse enne ja pärast täitmist
Sisesta kood ({ 235, 8, 68, 89, 95, 83, 84, 65, 82, 84 }) // Decode_onExec silt algab
Sisesta kood ({ 235, 8, 68, 89, 95, 68, 89, 69, 78, 68 }) // Decode_onExec tähista lõppu
Decode_onReg on registreerimise dekodeerimise silt, mis võimaldab valida koodi osa, mis on dekrüpteeritud kehtiva võtmega; Kui registreerimisvõti on vale, siis see osa koodist on alati krüpteeritud. Lihtsas keeles täidetakse seda osa koodist ainult registreeritud versioonis
Lähtekoodis võib kasutada suvalist arvu Decode_onReg silte, kuid need koodilõigud dekrüpteeritakse samal ajal, kui need käivitatakse. Registreerimise dekodeerimise silt kasutatakse peamiselt piiratud funktsioonide aktiveerimiseks registreerimata versioonis, et registreerida see täisversioonina.
Sisesta kood ({ 235, 8, 82, 68, 95, 83, 84, 65, 82, 84 }) // Decode_onReg silt algab
Sisesta kood ({ 235, 8, 82, 68, 95, 82, 68, 69, 78, 68 }) // Decode_onReg tähista lõppu
Zprotect_VM on virtuaalmasina krüpteerimismärk, mis võimaldab valida osa koodist, mida virtuaalmasinasse panna ja käivitada; Virtuaalmasina käsusüsteem erineb täielikult olemasolevatest x86 käskudest, mis võib tõhusalt takistada koodi taastamist ja analüüsi
Sisesta kood ({ 235, 8, 86, 77, 95, 83, 84, 65, 82, 84 }) // Zprotect_VM alguseks
Sisesta kood ({ 235, 8, 86, 77, 95, 86, 77, 69, 78, 68 }) // Zprotect_VM märgi lõpp
----------- ZProtect V1.4.9.0 versiooni jaoks---------
VMProtect
Sisesta kood ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) 'VMP kaitse alguslipp
'Võtmekood
Sisesta kood ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) 'VMP kaitse lõpplipp
Enigma krüpteerimiskeele SDK
Sisesta kood ({ 235, 10, 69, 67, 82, 79, 78, 69, 69, 69, 67, 66 })' märk algusesse
'Võtmekood
Lisa kood ({ 235, 10, 69, 67, 82, 79, 78, 69, 69, 88, 69, 67, 69 })' märgi lõppu

NoobyProtect SDK krüpteerimiskeele jaoks
Sisesta kood ({ 235, 6, 78, 80, 66, 69, 71, 78 })' märk algusesse
'Võtmekood
Lisa kood ({ 235, 6, 78, 80, 69, 78, 68, 80 })' märk lõppu

Pangolin kutsub välja funktsionaalse krüpteerimiskeele SDK DEMO
Pane kood ({ 235, 3, 214, 215, 1 })' algusesse
'Võtmekood
Kohakood ({ 235, 3, 214, 215, 0 })' märgi lõpus
ASP krüpteerimiskeele SDK
Sisesta kood ({ 235, 4, 235, 5, 25, 1, 233, 37, 0 })' märk algusesse
'Võtmekood
Sisesta kood ({ 235, 4, 235, 5, 41, 1, 233, 133, 0, })' märgi lõppu

Shielden 2.0.1.0
Sisesta kood ({ 235, 7, 83, 69, 66, 69, 71, 78, 0 }) ' SE_PROTECT_START
' Võtmekood
Sisesta kood ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

Sisesta kood ({ 235, 7, 83, 69, 66, 69, 71, 78, 77 }) ' SE_PROTECT_START_MUTATION
Võtmekood
Sisesta kood ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
Sisesta kood ({ 235, 7, 83, 69, 66, 69, 71, 78, 85 }) ' SE_PROTECT_START_ULTRA
Võtmekood
Sisesta kood ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
Sisesta kood ({ 235, 7, 83, 69, 66, 69, 71, 78, 86 }) '
' Võtmekood
Sisesta kood ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

Lihtne keele SDK teisendamise meetod ↓
E5.0 staatilise kompileerimise toe abil standardsete PE formaatide jaoks on saanud reaalsuseks krüpteerimiskesta SDK-de lisamine E programmidesse, et parandada tarkvarakaitse kvaliteeti.
Krüpteerimiskesta SDK-d saab umbkaudu jagada kahte kategooriasse: üks on funktsionaalne SDK ja teine kaitsev SDK.
1. Funktsionaalne SDK.
Selle haldamiseks kasutatakse funktsionaalset SDK-dSeerianumberValideerimine, autoriseerimise aja kontrollimine ja muud funktsionaalsed toimingud. Sellel SDK-tüübil on mitmesuguseid funktsioone, mis rakendatakse otse shellis, näiteks WL; On ka väliseid DLL-e, mida tuleb tutvustada, näiteks pangoliinid.
DLL-ide puhul, millel pole väljundtabeleid, tuleb importida välist SDK-d DLL-i laadida, SDK-s funktsiooni adresseerida ja kutsuda alamprogrammi () käsku E-s, et parameetrite edastamise toiming sujuvalt lõpule viia, et saada SDK funktsiooni tagastatav väärtus.
DLL-ide puhul, millel on väljundtabelid, on okei kutsuda neid DLL-käsuga E.
Neile, kes juba oskavad DLL-e kutsuda, võib öelda, et funktsionaalsete SDK-de toimimine on lihtne kontrollida, vaadake lihtsalt shelli konkreetset API käsiraamatut.
2. Krüpteeritud SDK
Pärast seda, kui krüpteerimiskest avastab tarkvaras konkreetse SDK-märgise, kasutab ta sihitud meetodit selle kooditüki töötlemiseks, et parandada konkreetse koodisegmendi turvalisust. Selline märgistus on loomulikult paarispõhine assemblerkood!
Lihtsas versioonis saame assemblerkoodi lihtsalt kutsuda käsuga insert code () abil. Selle tüki krüpteerimiskesta spetsiifiliselt järgime järgmist meetodit.
Ava krüpteerimiskestaga kaasas olev SDK ja leia keele SDK päise fail, mida saad lugeda. Näiteks allpool oleva LCC päisefail.
Järgmine on programmi kood:
1 #elif defineeritud(__LCC__)
2 /* Esitanud Rubem Pechansky, 26. veebruar 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(".bait 0xEB,0x03,0xD6,0xD7,0x01");
28 #define NANOEND _asm(".bait 0xEB,0x03,0xD6,0xD7,0x00");
Viimaste kahe lause selgitamiseks on NANOBEGIN ja NANOEND CC koodilõigud C-keeles ning nende kahe märgistusega mähitud koodilõigud on CC-kaitstud krüpteerimiskestaga. NANOBEGIN on assembly-koodis esindatud kujul 0xEB, 0x03, 0xD6, 0xD7, 0x01, tema lause on C kuueteistkümnendkomaline esitus ja assembly lause on esitatud E-s kümnendkoma. See tähendab, et peame selle koodi tõlkima.
0xEB = 235
0x03 = 3
0xD6 = 214
0xD7 = 215
0x01 = 1
Seejärel väljendatakse NANOBEGIN E-s sisestuskoodina ({235, 3, 214, 215, 1}).




Eelmine:WP8.1 GDR2/Win10 (WP10) on isikupärasem
Järgmine:Esimene väljaanne, Houpu infotehnoloogia inseneride koolitussüsteem – proovieksamisüsteem (täiuslikult ühilduv Win7-ga)
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com