Mhook

Mhook

Om du dabbar inom det här området vet du redan att Microsoft Research's Omgångar ganska mycket sätter riktmärket när det gäller API-koppling.
Om du dabbar inom det här området vet du redan att Microsoft Research's Omgångar ganska mycket sätter riktmärket när det gäller API-koppling.Varför får vi inte en jämförelse snabbt då?DETOURS VS.MHOOK Detours är gratis tillgängligt med en icke-kommersiell licens, men den stöder bara x86-plattformen.Omvägar kan också licensieras för kommersiellt bruk, vilket också ger dig full x64-support, men du får bara se licensvillkoren efter att du har undertecknat en NDA.Mhook distribueras fritt under en MIT-licens med stöd för x86 och x64.Omvägar skjuter bort från att officiellt stödja kopplingen av krokar till en löpande applikation.Naturligtvis är du fri att göra det - men om du hamnar en slumpmässig krasch här eller där kan du bara skylla på dig själv.Mhook var tänkt att kunna ställa in och ta bort krokar i applikationer som kör - det är ju vad du behöver för den i den verkliga världen.Det gör sitt bästa för att undvika att skriva över kod som kan köras av en annan tråd.Omvägar stöder transaktionshakning och avkoppling;det vill säga att sätta ett gäng krokar samtidigt med en allt-eller-ingenting-strategi.Krokar kommer bara att ställas in om alla kan ställas in, annars kommer biblioteket att återföra eventuella ändringar.Mhook gör inte detta.Slutligen är Mhook ganska lat när det gäller att hantera minne för de trampoliner som den använder.Omvägar tilldelar minnesblock efter behov och använder det resulterande dataområdet för att lagra så många trampoliner inom som det passar.Mhook använder å andra sidan ett samtal till VirtualAlloc per krok som ställs in.Varje krok behöver mindre än 100 byte lagringsutrymme så det är mycket slöseri eftersom VirtualAlloc hamnar i 64K från processens virtuella adressutrymme varje gång Mhook kallar det.(Det faktiska tilldelade minnet kommer att vara en enda sida som också är ganska slösaktig.) I slutändan spelar det förmodligen inte så mycket om du inte ställer in ett mycket stort antal krokar i en applikation.Detta är också mycket enkelt att fixa.
mhook

Alternativ till Mhook för Windows

WinAPIOverride

WinAPIOverride

Denna programvara låter dig övervaka och / eller ändra alla funktioner i en process för alla samtalskonventioner (stdcall eller cdecl).
CodeMaid

CodeMaid

CodeMaid är en öppen källkod för Visual Studio för att rensa, gräva igenom och förenkla våra C #, C ++, F #, VB, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript och TypeScript ...
HookInjEx

HookInjEx

Demo-applikation som demonstrerar hur man injicerar kod i ett annat processutrymme adressutrymme och sedan kör det i samband med denna process.
Microsoft Research Detours

Microsoft Research Detours

Microsoft Research Detours v3 Professional är ett bibliotek för instrumentering av godtyckliga Win32-funktioner på x86, x64 och IA64-maskiner.Nu kan du fånga Win32-funktioner genom att skriva om minneskoden för målfunktioner.
Deviare In-Process

Deviare In-Process

Deviare In-Process är en kodavlyssningsmotor för Microsoft Windows®.Det är ett bibliotek med dubbla licenser, GPLv3 och Commercial.Källkoden är tillgänglig på GitHub.
Berlioz

Berlioz

Berlioz är här för att ge dig en moln-agnostisk miljö.
CxxProf

CxxProf

CxxProf är ett manuellt instrumenterat profileringsbibliotek för C ++.Målet är att tillhandahålla enkel integration i befintliga projekt med så lite omkostnad som möjligt.
Tuple Spaces

Tuple Spaces

Använd utrymme med time-out och transaktioner.Funktioner: Parallell och distribuerad databehandling. Lokal och fjärr processkoordinering. Meddelandepassering. Master-Worker-mönster.
Idecryptit

Idecryptit

När du uppdaterar din iDevice hämtar iTunes en firmwarefil.Den firmwarefilen är en generisk ZIP-fil.Om du extraherar det hittar du många filer.
Smartcar

Smartcar

Hos Smartcar ger vi utvecklare möjlighet att bygga framtidens rörlighet.