Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 22775|Antwoord: 0

[Makkelijk taalgebruik] Eenvoudige taal VMP-bescherming, diverse beschermende shells SDK-code in Easy-taal

[Link kopiëren]
Geplaatst op 29-11-2014 15:59:19 | | |
ZProtect
Code_Confusion is een code-out-of-order cryptografische tag waarmee je een deel van de code kunt selecteren dat niet in volgorde is
Code invoegen ({ 235, 8, 83, 84, 95, 83, 84, 65, 82, 84 }) ' Code_Confusion markeren om te beginnen
Insert code ({ 235, 8, 83, 84, 95, 83, 84, 69, 78, 68 }) ' Code_Confusion einde van de markering
Code_Elimination is een code-purge marker waarmee je een deel van de code kunt selecteren dat na het uitvoeren uit het geheugen verwijderd moet worden; Het doel van het gebruik van deze markup is om te voorkomen dat crackers de volledige programmacode uit het geheugen dumpen.
Insert code ({ 235, 8, 79, 67, 95, 83, 84, 65, 82, 84 }) 'Code_Elimination tag begint
Vul code in ({ 235, 8, 79, 67, 95, 79, 67, 69, 78, 68 }) ' Code_Elimination markering aan het einde
Decode_onExec is een dynamische decoderend markup waarmee je een deel van de code kunt selecteren dat alleen wordt ontsleuteld wanneer het wordt uitgevoerd; Dit deel van de code wordt alleen gedecodeerd wanneer het uitgevoerd moet worden, en wordt voor en na uitvoering versleuteld
Code invoegen ({ 235, 8, 68, 89, 95, 83, 84, 65, 82, 84 }) // Decode_onExec tag begint
Invoegen code ({ 235, 8, 68, 89, 95, 68, 89, 69, 78, 68 }) // Decode_onExec het einde markeren
Decode_onReg is een registratie-decodeertag waarmee je een deel van de code kunt selecteren dat met een geldige sleutel is ontsleuteld; Als de registratiesleutel onjuist is, zal dit deel van de code altijd versleuteld zijn. In gewone taal wordt dit deel van de code alleen uitgevoerd in de geregistreerde versie
Elk aantal Decode_onReg tags kan in de broncode worden gebruikt, maar deze codefragmenten worden tegelijkertijd met de uitvoering ontsleuteld. De registratie-decodeertag wordt voornamelijk gebruikt om beperkte functies in de niet-geregistreerde versie te activeren om deze als volledige versie te registreren.
Invoegen code ({ 235, 8, 82, 68, 95, 83, 84, 65, 82, 84 }) // Decode_onReg tag begint
Invoegen code ({ 235, 8, 82, 68, 95, 82, 68, 69, 78, 68 }) // Decode_onReg het einde markeren
Zprotect_VM is een encryptietag van de virtuele machine waarmee je een deel van de code kunt selecteren dat in de virtuele machine wordt geplaatst om uit te voeren; Het instructiesysteem van de virtuele machine is volledig anders dan de bestaande x86-instructies, wat effectief codeherstel en analyse kan voorkomen
Code invoegen ({ 235, 8, 86, 77, 95, 83, 84, 65, 82, 84 }) // Zprotect_VM markering om te beginnen
Code invoegen ({ 235, 8, 86, 77, 95, 86, 77, 69, 78, 68 }) // Zprotect_VM punt einde markeren
----------- voor de versie van ZProtect V1.4.9.0---------
VMProtect
Vul de code in ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 }) ' VMP beschermingsstartvlag
'Sleutelcode
Vul de code in ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 }) ' VMP beschermingseindvlag
De SDK van de Enigma-encryptietaal
Invoegen code ({ 235, 10, 69, 67, 82, 79, 78, 69, 88, 69, 69, 69, 67, 66 })' markering aan het begin
'Sleutelcode
Invul code ({ 235, 10, 69, 67, 82, 79, 78, 69, 88, 69, 69, 67, 69 })' markering aan het einde van het teken

NoobyProtect SDK voor de encryptietaal
Insert code ({ 235, 6, 78, 80, 66, 69, 71, 78 })' markering aan het begin
'Sleutelcode
Invul code ({ 235, 6, 78, 80, 69, 78, 68, 80 })' markering aan het einde

Pangolin roept de DEMO van de functionele encryptietaal SDK aan
Plaats het code-markering ({ 235, 3, 214, 215, 1 })' aan het begin
'Sleutelcode
Plaats code ({ 235, 3, 214, 215, 0 })' markering aan het einde van het teken
ASP-encryptietaal SDK
Vul code in ({ 235, 4, 235, 5, 25, 1, 233, 37, 0 })' markering aan het begin
'Sleutelcode
Vul code in ({ 235, 4, 235, 5, 41, 1, 233, 133, 0, })' aan het einde van het teken

Shielden 2.0.1.0
Invul code ({ 235, 7, 83, 69, 66, 69, 71, 78, 0 }) ' SE_PROTECT_START
' Sleutelcode
Invul code ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

Vul code in ({ 235, 7, 83, 69, 66, 69, 71, 78, 77 }) ' SE_PROTECT_START_MUTATION
Sleutelcode
Invul code ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
Vul code in ({ 235, 7, 83, 69, 66, 69, 71, 78, 85 }) ' SE_PROTECT_START_ULTRA
Sleutelcode
Invul code ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END
Invul code ({ 235, 7, 83, 69, 66, 69, 71, 78, 86 }) '
' Sleutelcode
Invul code ({ 235, 7, 83, 69, 69, 78, 68, 80, 0 }) ' SE_PROTECT_END

Eenvoudige SDK-conversiemethode ↓
Met de ondersteuning van E5.0 statische compilatie voor standaard PE-formaten is het een realiteit geworden om encryptieshell-SDK's in E-programma's te introduceren om de kwaliteit van softwarebescherming te verbeteren.
Encryptieshell-SDK's kunnen grofweg worden onderverdeeld in twee categorieën: één is een functionele SDK en de andere een beschermende SDK.
1. Functionele SDK.
Functionele SDK wordt gebruikt om dit af te handelenSerienummerValidatie, verificatie van autorisatietijd en andere functionele operaties. Dit type SDK heeft verschillende functies die direct in de shell worden toegepast, zoals WL; Er zijn ook externe DLL's die geïntroduceerd moeten worden, zoals pangolins.
Voor DLL's zonder uitvoertabellen, met behulp van de import externe SDK, moeten we de DLL laden, de functie in de SDK adresseren en het subprogramma () commando in E aanroepen om eenvoudig de operatie van het doorgeven van parameters te voltooien en zo de returnwaarde van de SDK-functie te verkrijgen.
Voor DLL's met outputtabellen is het prima om ze aan te roepen met het DLL-commando E.
Voor degenen die al weten hoe je DLL's aanroept, kan worden gezegd dat de werking van functionele SDK's eenvoudig te bedienen is; kijk maar eens naar de specifieke API-handleiding van de shell.
2. Versleutelde SDK
Nadat de encryptieshell een specifieke SDK-tag in de software heeft ontdekt, zal deze een gerichte methode gebruiken om dit stuk code te verwerken en zo de beveiliging van het specifieke codesegment te verbeteren. Dit soort markup is natuurlijk een pair-defined assembly-code!
In de makkelijke kunnen we eenvoudig de assemblycode aanroepen met het commando insert code () Specifiek voor de encryptieshell met dit onderdeel volgen we de volgende methode.
Open de SDK die bij de encryptieshell wordt geleverd en zoek een SDK-headerbestand in de taal die je kunt lezen. Bijvoorbeeld het headerbestand van de LCC hieronder.
De volgende is de programmacode:
1 #elif gedefinieerd(__LCC__)
2 /* Aangeleverd door Rubem Pechansky, 26feb2003 */
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");
Om het in de laatste twee zinnen uit te leggen: NANOBEGIN en NANOEND zijn CC-codesnippet-opmaakjes in de C-taal, en de codefragmenten die door deze twee opmaakpunten worden omwikkeld, worden CC-beschermd door de encryptieshell. NANOBEGIN wordt weergegeven door assemblycode als 0xEB, 0x03, 0xD6, 0xD7, 0x01, zijn zin is de hexadecimale representatie van C, en de assembly-statement wordt in decimale decimale E weergegeven. Dat wil zeggen, we moeten deze code vertalen.
0xEB = 235
0x03 = 3
0xD6 = 214
0xD7 = 215
0x01 = 1
Dan wordt NANOBEGIN in E uitgedrukt als een invoegcode ({235, 3, 214, 215, 1}).




Vorig:WP8.1 GDR2/Win10 (WP10) zal meer gepersonaliseerd zijn
Volgend:Eerste release, Houpu Information Technology Engineer Training System - Mock Examination System (Perfect compatibel met Win7)
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com