Hooking Example (case 2. class method hooking)


This is an example of hooking a class function.
This article doesn't have many examples of hooking c ++ classes.

The following code:
Class TestClass {
Public:
int myPrintf(const std::string & id, const int & value);
}


Hook code:

int TestClass::myPrintf(const std::string & id, const int & value) {
    typedef int (TestClass::*HookFunction)(const std::string & id, const int & value);
    static HookFunction orgMethod = 0;
    if (orgMethod == 0) {
        void *tmpPtr = dlsym(RTLD_NEXT, "Mangling Name");
        memcpy(&orgMethod, &tmpPtr, sizeof(void *));
    }
   
    int orgRetValue;
    orgRetValue = (this->*orgMethod)(id, value);

    return orgRetValue;


#C #C++ #Linux #Embedded #Hooking Example #Hooking #Class Hooking

No comments:

Post a Comment

알뜰폰 삼성페이 교통카드 '한도 초과' 오류(등록 불가 오류) 해결방법

sk7mobile 알뜰폰 삼성페이 교통카드 등록 시, 한도 초과 문제 해결방법 skt usim 해킹 사건으로 인해 sk7mobile 알뜰폰을 사용하는 저도 usim을 바꾸고 나니 삼성페이 교통카드가 등록이 안되더라구요...  삼성페이 교통카드 기능 은...