Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 19046|Odpověď: 0

[WinForm] Jak může aplikace .net/c# zaručit, že volaný dll nebude nahrazen padělkem?

[Kopírovat odkaz]
Zveřejněno 19.10.2017 17:14:49 | | | |
Nedávno jsem při psaní softwaru přišel s nápadem, že pokud spustím program .exe dobře chráněný, ale pokud dll není chráněná, moje aplikace použije dll soubor, budou ostatní ladit můj program přes dll soubor?

Dnes napíšeme speciální program k jeho otestování – použijme aplikaci k volání metody v DLL, a to následovně:



Kód je jednoduchý:

DLL kód:

Kód aplikace:



Pak vytvořím nový projekt, novou knihovnu tříd a zkopíruji stejný typ a cs soubor, a to následovně:



Nahraďme generovaný dll následujícím obrázkem:



Program úspěšně volá metodu dll, kterou jsme vytvořili, jak můžeme zabránit tomu, aby byla vytvořená dll zfalšována?

Napadl mě jednoduchý nápad: přidat do aplikace resource soubor, vyplnit dll soubor k načtení a hodnotu md5 souboru, výchozí bod spuštění programu, a nejdřív zkontrolovat hodnotu md5 dle DLL, kterou je potřeba načíst

Pokud je hodnota MD5 souboru DLL nekonzistentní s hodnotou MD5 souboru v seznamu zdrojů, znamená to, že soubor DLL byl zfalšován nebo úmyslně upraven. Nebyla praktikována, logicky je to proveditelná!




Předchozí:Winform forma roztahuje škálu
Další:.NET/C# používá silné podpisy k ochraně svých vlastních DLL před falšováním
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com