0
我「米試圖編寫使用makecontext在linux代碼32位 該名男子文件包含以下代碼陣列炭爲Linux化妝方面
#include <ucontext.h>
#include <stdio.h>
#include <stdlib.h>
static ucontext_t uctx_main, uctx_func1, uctx_func2;
//function here
int main(int argc, char *argv[])
{
char func1_stack[16384];
char func2_stack[16384];
if (getcontext(&uctx_func1) == -1)
handle_error("getcontext");
uctx_func1.uc_stack.ss_sp = func1_stack;
uctx_func1.uc_stack.ss_size = sizeof(func1_stack);
uctx_func1.uc_link = &uctx_main;
makecontext(&uctx_func1, func1, 0);
// other context code
如何使適合更多環境驗證碼,我的主要問題是如何創建的char funcN_stack
? 數組我想這個代碼將建立與函數N尺寸的功能和環境
做完你最想做的事情之後,我簡單地寫下'uctx_funcx.uc_stack.ss_sp = staks [x];' –
或者更好的辦法就是擁有一個'ucontext'數組。 – abligh