123
Mhook

Mhook

Jeśli zagłębisz się w tę dziedzinę, będziesz już wiedział, że Objazdy Microsoft Research praktycznie wyznaczają standardy, jeśli chodzi o przechwytywanie API.
Jeśli zagłębisz się w tę dziedzinę, będziesz już wiedział, że Objazdy Microsoft Research praktycznie wyznaczają standardy, jeśli chodzi o przechwytywanie API.Dlaczego więc nie uzyskamy szybkiego porównania?DETOURS VS.MHOOK Detours jest dostępny za darmo z licencją niekomercyjną, ale obsługuje tylko platformę x86.Objazdy mogą być również licencjonowane do użytku komercyjnego, co zapewnia również pełną obsługę x64, ale warunki licencyjne można zobaczyć tylko po podpisaniu umowy NDA.Mhook jest swobodnie rozpowszechniany na licencji MIT ze wsparciem dla x86 i x64.Objazdy unikają oficjalnego wspierania mocowania haków do działającej aplikacji.Oczywiście możesz to zrobić dowolnie - ale jeśli doprowadzisz do przypadkowej katastrofy tu i tam, możesz winić tylko siebie.Mhook miał być w stanie ustawiać i usuwać zaczepy w uruchomionych aplikacjach - w końcu to jest to, czego potrzebujesz w prawdziwym świecie.Stara się unikać nadpisywania kodu, który może być wykonywany przez inny wątek.Objazdy obsługują zaczepianie i odczepianie transakcyjne;to znaczy ustawiając jednocześnie kilka haczyków z podejściem „wszystko albo nic”.Haki zostaną ustawione tylko wtedy, gdy wszystkie będą mogły zostać ustawione, w przeciwnym razie biblioteka cofnie wszelkie dokonane zmiany.Mhook tego nie robi.Wreszcie, Mhook jest dość leniwy, jeśli chodzi o zarządzanie pamięcią dla używanych przez siebie trampolin.Objazdy przydziela bloki pamięci zgodnie z potrzebami i wykorzystuje wynikowy obszar danych do przechowywania tylu trampolin, ile będzie pasować.Z drugiej strony Mhook używa jednego wywołania VirtualAlloc na każdy ustawiony hak.Każdy haczyk potrzebuje mniej niż 100 bajtów pamięci, więc jest to bardzo marnotrawstwo, ponieważ VirtualAlloc kończy pobieranie 64 KB z wirtualnej przestrzeni adresowej procesu za każdym razem, gdy Mhook go wywołuje.(Rzeczywista przydzielona pamięć będzie pojedynczą stroną, co również jest dość marnotrawstwem.) Ostatecznie jednak to chyba nie ma znaczenia, chyba że ustawisz bardzo dużą liczbę haków w aplikacji.Jest to również bardzo łatwe do naprawienia.

Alternatywy dla Mhook'a dla wszystkich platform z dowolną licencją

Playlyfe

Playlyfe

Playlyfe umożliwia programistom projektowanie, prototypowanie i integrację gier z gamami z ich produktami / stronami internetowymi / aplikacjami mobilnymi w ciągu kilku minut.
CodeMaid

CodeMaid

CodeMaid to rozszerzenie Visual Studio o otwartym kodzie źródłowym do czyszczenia, kopania i upraszczania naszych C #, C ++, F #, VB, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript i TypeScript ...
WinAPIOverride

WinAPIOverride

To oprogramowanie pozwala monitorować i / lub modyfikować dowolną funkcję procesu dla dowolnej konwencji wywoływania (stdcall lub cdecl).
HookInjEx

HookInjEx

Aplikacja demonstracyjna pokazująca, jak wstrzyknąć kod do przestrzeni adresowej innego procesu, a następnie wykonać go w kontekście tego procesu.
Microsoft Research Detours

Microsoft Research Detours

Microsoft Research Detours v3 Professional to biblioteka do instrumentowania dowolnych funkcji Win32 na maszynach x86, x64 i IA64.Teraz możesz przechwytywać funkcje Win32, ponownie zapisując kod w pamięci dla funkcji docelowych.
Deviare In-Process

Deviare In-Process

Deviare In-Process to silnik przechwytywania kodu dla systemu Microsoft Windows®.Jest to biblioteka podwójnej licencji, GPLv3 i Commercial.Kod źródłowy jest dostępny na GitHub.
apibldr.com

apibldr.com

ApiBldr to darmowa aplikacja Visual OpenAPI Editor do tworzenia i aktualizowania definicji OpenAPI (aka swagger).
CxxProf

CxxProf

CxxProf to ręcznie instrumentowana biblioteka profilowania dla C ++.Jego celem jest zapewnienie łatwej integracji z istniejącymi projektami przy minimalnym obciążeniu.
Smartcar

Smartcar

W Smartcar umożliwiamy programistom budowanie przyszłości mobilności.
Berlioz

Berlioz

Berlioz jest tutaj, aby zapewnić ci środowisko agnostyczne w chmurze.
MrApi

MrApi

Premium API za darmo!Przydatny w każdym języku programowania.Zbudowany przez programistów dla programistów.
Ask a Dev

Ask a Dev

Znasz to uczucieOdświeżanie pamięci podręcznej odświeża, czerstwą kawę, kępki włosów.Musi być lepszy sposób.Ktoś musi wiedzieć, co robię źle.
dashdash

dashdash

dashdash to arkusz kalkulacyjny, który robi więcej.Wiele więcej.Znajdź firmy i osoby.Wysyłaj powiadomienia e-mail i powiadomienia o luzie.Zautomatyzuj swój CRM.Wszystko przy użyciu umiejętności arkusza kalkulacyjnego.
Tuple Spaces

Tuple Spaces

Próbuj miejsca z limitami czasu i transakcjami.Funkcje: przetwarzanie równoległe i rozproszone, lokalna i zdalna koordynacja procesów, przekazywanie wiadomości, wzorzec Master-Worker.
Featurekit

Featurekit

Featurekit to łatwy sposób na poinformowanie użytkowników o nowych funkcjach, które zbudowałeś od ich ostatniej wizyty, aby założyciele mogli poświęcić czas na inne rzeczy.