文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>通用ShellCode学习笔记——win7中获得LoadLibrary地址

通用ShellCode学习笔记——win7中获得LoadLibrary地址

时间:2010-09-19  来源:zodiac21

win7中使用了LoadLibraryExA,不能通过调用GetProcAddress来获得

代码如下:

int main()
{
        __asm
        {
                push ebp;
                sub esp,100;预留函数地址空间
                mov ebp,esp;

                mov eax,fs:0x30;
                mov eax,[eax+0x0c];
                mov esi,[eax+0x1c]
                lodsd
                mov edi,[eax+0x08];获取kernel32

                mov eax,[edi+3ch];pe header
                mov edx,[edi+eax+78h]
                add edx,edi
                mov ecx,[edx+18h];number of functions
                mov ebx,[edx+20h]
                add ebx,edi;AddressOfName
search:
                dec ecx
                mov esi,[ebx+ecx*4]
                add esi,edi;
                mov eax,0x50746547;PteG("GetP")
                cmp [esi],eax
                jne search
                mov eax,0x41636f72;Acor("rocA")
                cmp [esi+4],eax
                jne search
                mov ebx,[edx+24h]
                add ebx,edi;index address
                mov cx,[ebx+ecx*2]
                mov ebx,[edx+1ch]
                add ebx,edi
                mov eax,[ebx+ecx*4]
                add eax,edi
                mov [ebp+76],eax;将GetProcAddress地址存在ebp+76中

                push DWORD PTR 0x00004178
                push DWORD PTR 0x45797261;Ayra("aryE")
                push DWORD PTR 0x7262694c;rbiL("Libr")
                push DWORD PTR 0x64616f4c;daoL("Load")
                push esp
                push edi
                call [ebp+76]
                mov [ebp+80],eax;将LoadLibraryA地址存在ebp+80中

                /*
                ;构造函数名
                push dword ptr 0xAAAAAAAA
                push dword ptr 0xAAAAAAAA
                push dword ptr 0xAAAAAAAA
                           .
                                   .
                                   .
                push esp
                push edi;kernel32地址
                call [ebp+76];调用GetProcAddress
                mov [ebp+X],eax;该函数地址存放在ebp+X中
                */
        }
        return 0;
}
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载