Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 19046|Odpoveď: 0

[WinForm] Ako môže .net/c# aplikácia zaručiť, že volaný dll nebude nahradený falšovaním?

[Kopírovať odkaz]
Zverejnené 19. 10. 2017 17:14:49 | | | |
Nedávno, keď som písal softvér, som dostal nápad, že ak spustím program .exe dobre chránený, ale ak dll nie je chránený, moja aplikácia použije dll súbor, budú ostatní ladiť môj program cez dll súbor?

Dnes napíšme špeciálny program na testovanie, použijme aplikáciu na zavolanie metódy v DLL, nasledovne:



Kód je jednoduchý:

DLL kód:

Kód aplikácie:



Potom vytvorím nový projekt, vytvorím novú knižnicu triedy a skopírujem ten istý typ a cs súbor, nasledovne:



Nahradme vygenerovaný dll nasledujúcim obrázkom:



Program úspešne volá metódu dll, ktorú sme sfalšovali, ako môžeme zabrániť tomu, aby sa dll, ktorú sme vytvorili, sfalšovala?

Prišiel som s jednoduchým nápadom: pridať súbor zdrojov do aplikácie, vyplniť súbor dll, ktorý sa načíta, a hodnotu md5 súboru, vstupný bod spustenia programu, a najprv skontrolovať hodnotu md5 dll, ktorú treba načítať

Ak je hodnota MD5 súboru DLL nekonzistentná s hodnotou MD5 súboru v zozname zdrojov, znamená to, že súbor DLL bol sfalšovaný alebo úmyselne upravený. Nebolo to praktizované, logicky je to možné!




Predchádzajúci:Winform forma natiahne škálu
Budúci:.NET/C# používa silné podpisy na ochranu svojich vlastných DLL pred falšovaním
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com