#include <stdio.h>#include <stdlib.h>#include <windows.h>void func(DWORD** a1,DWORD** a2){DWORD** v9; // [sp+68h] [-18h]DWORD** v10; // [sp+6Ch] [-14h]v9 = a1;v10 = a2;DWORD* v7=NULL;if (!v9 || *v9) // v9=a1为指针数组 参数一为指针数组,参数二为指针的指针{if (!v10 || *v10){printf("hello world");}else{*v10 = v7;}}else{*v9 = v7;// 根据这个可知参数一a1传入的是一个指针数组的第一个元素的地址(数组的首地址),不然的话v9就代表}}int main(int argc, char* argv[]){DWORD* v7[7];DWORD* v6;v6 = 0;v7[0] = 0;func(v7, &v6);}
