簡體   English   中英

如何在方法IMP之間傳遞va_list? (目標c)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM