123
Mhook

Mhook

Pokud se v této oblasti potkáte, budete již vědět, že Detours z Microsoft Research do značné míry nastavuje měřítko, pokud jde o připojení API.
Pokud se v této oblasti potkáte, budete již vědět, že Detours od společnosti Microsoft Research určují měřítko, pokud jde o připojení API.Proč potom rychle nezískáme srovnání?DETOURS VS.MHOOK Detours je k dispozici zdarma s nekomerční licencí, ale podporuje pouze platformu x86.Objížďky mohou být licencovány také pro komerční použití, které vám také poskytuje plnou podporu x64, ale podmínky licence získáte až po podpisu NDA.Mhook je volně distribuován na základě licence MIT s podporou pro x86 a x64.Objížďky se vyhýbají oficiální podpoře připojení háčků k běžící aplikaci.Samozřejmě, můžete to udělat zdarma - ale pokud nakonec způsobíte náhodné zhroucení sem nebo tam, můžete vinit pouze sebe.Mhook měl být schopen nastavit a odstranit háčky v běžících aplikacích - koneckonců to je to, co potřebujete pro skutečný svět.Snaží se zabránit přepsání kódu, který by mohl být prováděn jiným vláknem.Detours podporuje transakční zaháknutí a uvolnění;to znamená, nastavit hromadu háčků současně s přístupem „vše nebo nic“.Háčky budou nastaveny, pouze pokud je lze všechny nastavit, jinak knihovna vrátí zpět provedené změny.Mhook to nedělá.Konečně, Mhook je docela líný, pokud jde o správu paměti pro trampolíny, které používá.Detours přiděluje bloky paměti podle potřeby a výslednou datovou oblast ukládá tolik trampolín, kolik se vejde.Mhook, na druhé straně, používá jedno volání VirtualAlloc na nastavený háček.Každý háček potřebuje méně než 100 bajtů úložného prostoru, takže je to velmi zbytečné, protože VirtualAlloc po každém zavolání Mhook popadne 64 kB z virtuálního adresového prostoru procesu.(Skutečně přidělená paměť bude jedna stránka, která je také velmi zbytečná.) Nakonec to však na tom opravdu nezáleží, pokud v aplikaci nenastavíte velký počet háčků.Také je to velmi snadné opravit.

Alternativy k Mhook pro Mac s komerční licencí