1
我使用osxinj項目掛鉤了系統調用open,read,write,lstat等。注入到由蘋果提供的TextEdit應用程序,一切正常。當我使用textedit打開新文件時,opencallback被調用並且消息被記錄在system.log文件中。馬赫注入:在Excel中注入時系統調用未被插入
typedef int (*open_type)(const char *, int, mode_t);
open_type open_func = 0;
int opencallback(const char* path, int oflag, mode_t mode)
{
syslog(LOG_ALERT, "In open...");
int returnVal = open_func(path, oflag, mode);
syslog(LOG_ALERT,"Open, ends\n");
return returnVal;
}
注入到Excel中,並試圖覆蓋使用下面的代碼開放的系統調用:注射到文字編輯時
void* func_ptr = dlsym(RTLD_NEXT, "open");
if (func_ptr)
{
open_func = (open_type)func_ptr;
mach_error_t me = mach_override_ptr(func_ptr,
(void*)&opencallback,
(void**)&open_func);
}
opencallback的調用,但在Microsoft Excel中注入時,它是沒有得到調用。但是在其他系統調用的同一行上寫入的代碼讀取,寫入,lstat在注入Excel時被插入。
任何想法,爲什麼打開時不插入注入到Excel中。