[英]How to pass va_list between method IMPs? (objective c)
我正在嘗試混淆一個函數,並使用函數args調用原始實現。 新的IMP具有以下形式:
static id WrapperFunction(id self, SEL _cmd, ...) {
va_list args;
va_start(args, _cmd);
originalImp(self, _cmd, args);
...
}
這顯然是錯誤的,因為args
現在包含_cmd,而...
沒有。
我如何將...
傳遞給originalImp?
Gcc具有: http : //gcc.gnu.org/onlinedocs/gcc/Constructing-Calls.html
clang沒有任何內容,您必須進行匯編才能做到這一點(基本上,如果您知道originalImp的地址,則只想對其“ jmp”即可)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.