Neseniai, rašydamas programinę įrangą, sugalvojau idėją, jei paleidžiu programą, .exe gerai apsaugota, bet jei dll nėra apsaugota, mano programa naudos dll failą, ar kiti derins mano programą per dll failą?
Šiandien parašykime specialią programą, kad ją išbandytume, naudokime programą, kad iškviestume metodą dll, taip:
Kodas paprastas:
DLL kodas:
Programos kodas:
Tada sukuriu naują projektą, sukuriu naują klasės biblioteką ir nukopijuoju to paties tipo ir cs failą taip:
Pakeiskime sugeneruotą dll tokiu paveikslu:
Programa sėkmingai iškviečia mūsų suklastotą dll metodą, kaip išvengti mūsų sugeneruoto dll klastojimo?
Aš galvojau apie paprastą idėją, pridėti išteklių failą į programą, užpildyti DLL failą turi būti įkeltas, ir md5 reikšmę failą, įėjimo tašką programos paleisti, ir pirmiausia patikrinkite md5 reikšmę DLL, kad reikia įkelti
Jei DLL failo MD5 reikšmė neatitinka išteklių sąraše esančio failo MD5 reikšmės, tai reiškia, kad DLL failas buvo suklastotas arba piktybiškai sugadintas. Tai nebuvo praktikuojama, tai logiškai įmanoma!
|