21.01.2015 Views

WebMoney - Xakep Online

WebMoney - Xakep Online

WebMoney - Xakep Online

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!