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

Vaade: 19046|Vastuse: 0

[WinForm] Kuidas garanteerib .net/c# rakendus, et kutsutud dll ei asendata võltsinguga?

[Kopeeri link]
Postitatud 19.10.2017 17:14:49 | | | |
Hiljuti, tarkvara kirjutades, tuli mul idee: kui käivitan programmi, .exe hästi kaitstud, aga kui dll pole kaitstud, kasutab mu rakendus dll-faili, kas teised siluvad mu programmi dll-faili kaudu?

Täna kirjutame spetsiaalse programmi selle testimiseks, kasutame rakendust, et kutsuda dll-is meetod järgmiselt:



Kood on lihtne:

DLL-kood:

Rakenduse kood:



Seejärel loon uue projekti, loon uue klassiteegi ja kopeerin sama tüübi ja cs-faili järgmiselt:



Asendame genereeritud dll-i järgmise joonisega:



Programm kutsub edukalt üles meie sepistatud dll meetodi, kuidas saame takistada meie loodud dll-i võltsimist?

Mõtlesin välja lihtsa idee: lisada rakendusse ressursifail, täita laaditav dll fail ja faili md5 väärtus, mis on programmi käivitamise sisenemispunkt, ning esmalt kontrollida laadimiseks vajaliku dll-i md5 väärtust

Kui DLL-faili MD5 väärtus on vastuolus faili MD5 väärtusega ressursiloendis, tähendab see, et DLL-fail on võltsitud või pahatahtlikult manipuleeritud. Seda pole praktiseeritud, see on loogiliselt teostatav!




Eelmine:Winform vorm venib skaalat
Järgmine:.net/c# kasutab tugevaid allkirju, et kaitsta oma DLL-e võltsimise eest
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