1
Mhook
Če se na tem področju potegujete, boste že vedeli, da Detours Microsoftove raziskave v veliki meri postavlja merilo pri povezovanju API-ja.
- Brezplačna
- Windows
Če se na tem področju potegujete, boste že vedeli, da Microsoftovi raziskovalni obrati v veliki meri postavljajo merilo, ko gre za priklop na API.Zakaj potem hitro ne dobimo primerjave?DETOURS VS.MHOOK Detours je na voljo brezplačno z nekomercialno licenco, vendar podpira samo platformo x86.Okoliščine je mogoče licencirati tudi za komercialno uporabo, kar vam omogoča tudi popolno podporo x64, vendar boste licenčne pogoje videli šele po podpisu NDA.Mhook se brezplačno distribuira pod licenco MIT s podporo za x86 in x64.Objava se izogiba uradni podpori pritrditve kavljev na tekočo aplikacijo.Seveda lahko to storite svobodno - toda če na koncu povzročite naključni zrušitev tu ali tam, lahko krivite samo sebe.Mhook je bil namenjen temu, da lahko nastavi in odstrani kljuke v delujočih aplikacijah - nenazadnje to potrebuješ v resničnem svetu.Po najboljših močeh prepreči prepisovanje kode, ki bi jo morda izvajala druga nit.Obroki podpirajo transakcijsko zaskočenje in odpenjanje;to je, da hkrati postavite kup kavljev s pristopom vse ali nič.Kljuke bodo nastavljene le, če jih je mogoče nastaviti, sicer bo knjižnica vrnila vse spremembe.Mhook tega ne stori.Končno je Mhook precej len, ko gre za upravljanje spomina za trampoline, ki jih uporablja.Za odvoz dodeli bloke pomnilnika in uporabi izbrano območje podatkov za shranjevanje toliko trampolinov, kot ustreza.Mhook na drugi strani uporablja en klic za nastavljen VirtualAlloc na kavelj.Vsak kavelj potrebuje manj kot 100 bajtov prostora za shranjevanje, zato je to zelo potratno, saj VirtualAlloc na koncu zgrabi 64K iz virtualnega naslovnega prostora procesa, ko ga Mhook pokliče.(Dejansko dodeljeni pomnilnik bo ena sama stran, ki je tudi precej zapravljiva.) Na koncu pa to verjetno ni resnično pomembno, razen če v aplikacijo nastavite zelo veliko število trnkov.Tudi to je zelo enostavno popraviti.