You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Øïèîíñêàÿ<br />
çàïèñü îäíîé<br />
ðàäèîïåðåäà÷è<br />
ÈÑÕÎÄÍÈÊ<br />
Compiling:<br />
tasm32 /m /ml slow.asm<br />
tlink32 /Tpe /c /x /aa slow.obj<br />
Source code: slow.asm<br />
includelib import32.lib<br />
extrn ExitProcess:near<br />
.486p<br />
model flat<br />
.data<br />
db <br />
.code<br />
start:v<br />
call j1<br />
j1: pop edi ;Ñ÷èòûâàåì EIP<br />
lea esi,[edi+j2-j1] ; esi - àäðåñ òî÷êè âõîäà äëÿ<br />
;íîâîãî îáðàáîò÷èêà INT 3<br />
push esp<br />
push edx<br />
sidt [esp+2h] ;Ñîõðàíÿåì çíà÷åíèå IDTR<br />
pop edx<br />
pop ebx ;è îòïðàâëÿåì åãî â ebx<br />
xchg [ebx+18h],si ;Ïåðåõâàò INT 3h ñ îäíîâðåìåííûì çàíåñåíèåì<br />
rol esi,10h ;àäðåñà ñòàðîãî îáðàáîò÷èêà<br />
xchg [ebx+1eh],si ;â esi<br />
int 3<br />
push 0<br />
call ExitProcess<br />
j2: mov [ebx+1eh],si ;Òî÷êà âõîäà â INT 3<br />
shr esi,10h<br />
mov [ebx+18h],si<br />
xor ecx,ecx<br />
push 0Fh<br />
;Âûäåëÿåì 4-êèëîáàéòîâóþ ñòðàíèöó<br />
;â ñèñòåìíîé îáëàñòè ïàìÿòè<br />
push ecx<br />
push -1h<br />
push ecx<br />
push ecx<br />
push ecx<br />
inc ecx<br />
push ecx<br />
push ecx<br />
ter: db 0CDh,20h,53h,00h,01h,00h<br />
;VMMCall Page allocate<br />
add esp,20h<br />
lea esi,[edi+j3-j1] ;esi - àäðåñ îáðàáîò÷èêà<br />
;ïðåðûâàíèé îò òàéìåðà<br />
xchg edi,eax<br />
push edi<br />
cld<br />
push j4-j3<br />
pop ecx<br />
rep movsb ;Çàïèñûâàåì îáðàáîò÷èê â âûäåëåííóþ ïàìÿòü<br />
cli<br />
;Çàïðåò ïðåðûâàíèé îò âíåøíèõ óñòðîéñòâ<br />
pop ecx<br />
add ebx,280h<br />
xchg [ebx],cx ;Ïåðåõâàòûâàåì INT 50h, íà êîòîðîå â Windows<br />
rol ecx,10h ;ïîâåøåí îáðàáîò÷èê IRQ0, òî<br />
xchg [ebx+6h],cx ;åñòü ïðåðûâàíèé îò òàéìåðà<br />
rol ecx,10h<br />
mov [edi+j7-j4+1h],ecx ;Ñîõðàíÿåì àäðåñ ñòàðîãî îáðàáîò÷èêà<br />
iretd<br />
j3: pushfd ;ñîõðàíÿåì ðåãèñòð ôëàãîâ è EAX<br />
push eax<br />
call j5<br />
j5: pop eax<br />
dec byte ptr ss:[eax+jbyte-j5]<br />
jnz j6<br />
mov byte ptr ss:[eax+jbyte-j5],3h<br />
;ïðîãëàòûâàåì êàæäîå òðåòüå ïðåðûâàíèå<br />
mov al,60h<br />
out 20h,al<br />
pop eax<br />
popfd<br />
iret<br />
;Âêëþ÷àåì àïïàðàòíîå ïðåðûâàíèå îò<br />
;òàéìåðà â ðåæèìå áåç ïðèîðèòåòîâ<br />
j6: pop eax<br />
popfd<br />
j7: push 088888888h ;Ïåðåõîä íà ïðåäûäóùóþ<br />
;ïðîöåäóðó îáðàáîòêè ïðåðûâàíèÿ<br />
;â ýòî ïîëå áóäåò<br />
;çàïèñàí àäðåñ ñòàðîãî îáðàáîò÷èêà<br />
ret<br />
jbyte: db 1h<br />
j4:<br />
end start<br />
< Âçëîì >20/12\01<br />
5 Êîäèíã 6 Hack-Faq 7 JoyStick 8 Þíèòû 9 Quit> 53