Open shatyuka opened 3 years ago
你好,这个问题解决了吗
你好,这个问题解决了吗
mprotect
有什么解决办法啊,我试了SandHook在Android10也不行
请问mprotect这个要怎么修改?
请问mprotect这个要怎么修改?
https://github.com/shatyuka/Zhiliao/blob/master/app/src/main/cpp/zhiliao.cpp
感谢回复,修改后,还是一样的崩溃=。=
void addr = (void )DobbySymbolResolver(NULL, "fopen"); LOGI("addr = %p",addr);
int PageSize = sysconf(_SC_PAGE_SIZE);
LOGI("PageSize = %d",PageSize);
if(PageSize == -1){
LOGI("PageSize == -1 error");
return;
}
void * page_start = (void*)((long long)addr & ~(PageSize-1));
LOGI("page_start = %p",page_start);
//addr &= ~PMD_MASK;
int ret = mprotect(page_start, PageSize, PROT_READ | PROT_WRITE | PROT_EXEC);
LOGI("ret = %d",ret);
DobbyHook((void *)addr, (void *)fake_fopen, (void **)&orig_fopen);
void addr = (void )DobbySymbolResolver(NULL, "fopen"); LOGI("addr = %p",addr);
int PageSize = sysconf(_SC_PAGE_SIZE); LOGI("PageSize = %d",PageSize); if(PageSize == -1){ LOGI("PageSize == -1 error"); return; } void * page_start = (void*)((long long)addr & ~(PageSize-1)); LOGI("page_start = %p",page_start); //addr &= ~PMD_MASK; int ret = mprotect(page_start, PageSize, PROT_READ | PROT_WRITE | PROT_EXEC); LOGI("ret = %d",ret); DobbyHook((void *)addr, (void *)fake_fopen, (void **)&orig_fopen);
非常感谢,解决了~
都应该感谢楼主~~
void addr = (void )DobbySymbolResolver(NULL, "fopen"); LOGI("addr = %p",addr);
int PageSize = sysconf(_SC_PAGE_SIZE); LOGI("PageSize = %d",PageSize); if(PageSize == -1){ LOGI("PageSize == -1 error"); return; } void * page_start = (void*)((long long)addr & ~(PageSize-1)); LOGI("page_start = %p",page_start); //addr &= ~PMD_MASK; int ret = mprotect(page_start, PageSize, PROT_READ | PROT_WRITE | PROT_EXEC); LOGI("ret = %d",ret); DobbyHook((void *)addr, (void *)fake_fopen, (void **)&orig_fopen);
非常感谢,解决了~
都应该感谢楼主~~