123
Mhook

Mhook

이 분야에 익숙하다면 Microsoft Research의 Detours가 API 후크와 관련하여 벤치 마크를 설정한다는 것을 이미 알고 있습니다.
이 분야에 익숙하다면 Microsoft Research의 Detours가 API 후크와 관련하여 벤치 마크를 설정한다는 것을 이미 알고 있습니다.그렇다면 우리는 신속하게 비교에서 벗어나지 않겠습니까?DETOURS VS.MHOOK Detours는 비 상업 라이센스로 무료로 제공되지만 x86 플랫폼 만 지원합니다.Detours는 상업적 사용을 위해 라이센스가 부여되어 x64를 완벽하게 지원할 수 있지만 NDA에 서명 한 후에 만 ​​라이센스 조건을 확인할 수 있습니다.Mhook은 x86 및 x64를 지원하는 MIT 라이센스에 따라 자유롭게 배포됩니다.우회는 공식적으로 실행중인 응용 프로그램에 대한 후크 연결을 지원하지 않습니다.물론, 당신은 그것을 자유롭게 할 수 있습니다-그러나 당신이 여기저기서 임의의 충돌을 일으킨다면, 당신은 자신을 비난 할 수 있습니다.Mhook은 실행중인 응용 프로그램에서 후크를 설정하고 제거 할 수있게 되었기 때문에 결국 현실에서 필요한 것입니다.다른 스레드에서 실행중인 코드를 덮어 쓰지 않는 것이 가장 좋습니다.우회는 트랜잭션 후킹 및 언 후킹을 지원합니다.즉, 전혀 또는 전혀 접근하지 않는 방식으로 많은 후크를 동시에 설정하는 것입니다.후크는 모두 설정할 수있는 경우에만 설정되며 그렇지 않은 경우 라이브러리는 변경 사항을 롤백합니다.Mhook은 이것을하지 않습니다.마지막으로 Mhook은 사용하는 트램폴린의 메모리를 관리 할 때 게으르다.Detours는 필요에 따라 메모리 블록을 할당하고 결과 데이터 영역을 사용하여 원하는만큼 트램폴린을 저장합니다.반면에 Mhook은 설정된 후크마다 VirtualAlloc에 ​​대해 한 번의 호출을 사용합니다.Virtualhook는 Mhook이 호출 할 때마다 프로세스의 가상 주소 공간에서 64K를 가져 오기 때문에 모든 후크는 100 바이트 미만의 스토리지를 필요로하기 때문에 매우 낭비입니다.(실제로 할당 된 메모리는 단일 페이지 일 것이므로 상당히 낭비입니다.) 결국 응용 프로그램에서 매우 많은 수의 후크를 설정하지 않는 한 이것은 실제로 중요하지 않습니다.또한 이것은 수정하기가 매우 쉽습니다.

Android 용 Mhook의 대안

Smartcar

Smartcar

Smartcar에서 개발자는 미래의 모빌리티를 구축 할 수 있습니다.