RSS    

   Ðåôåðàò: Ñåìàíòè÷åñêèé àíàëèç ñòðóêòóðû EXE ôàéëà è äèñàññåìáëåð (ñ ïðèìåðàìè è èñõîäíèêàìè), âèðóñîëîãèÿ

DOS, ôóíêöèÿ 15h
Ïîñëåäîâàòåëüíàÿ çàïèñü â ôàéë ÷åðåç FCB

DOS, ôóíêöèÿ 17h
Ïåðåèìåíîâàòü ôàéë ÷åðåç FCB

DOS, ôóíêöèÿ 22h
Ïèñàòü ïðîèçâîëüíóþ çàïèñü ôàéëà

DOS, ôóíêöèÿ 26h
Ñîçäàòü íîâûé PSP

DOS, ôóíêöèÿ 27h
×èòàòü ïðîèçâîëüíûé áëîê ôàéëà

DOS, ôóíêöèÿ 28h
Ïèñàòü ïðîèçâîëüíûé áëîê ôàéëà

DOS, ôóíêöèÿ 31h
Çàâåðøèòüñÿ è îñòàòüñÿ ðåçèäåíòíûì

DOS, ôóíêöèÿ 3Ah
Óäàëèòü îãëàâëåíèå

DOS, ôóíêöèÿ 41h
Óäàëèòü ôàéë

DOS, ôóíêöèÿ 43h
Óñòàíîâèòü/îïðîñèòü àòðèáóòû ôàéëà

DOS, ôóíêöèÿ 44h
Óïðàâëåíèå óñòðîéñòâîì ââîäà/âûâîäà

DOS, ôóíêöèÿ 4Bh
Âûïîëíèòü èëè çàãðóçèòü ïðîãðàììó

DOS, ôóíêöèÿ 4Ch
Çàâåðøèòü ïðîãðàììó

DOS, ôóíêöèÿ 57h
Óñòàíîâèòü/îïðîñèòü äàòó/âðåìÿ ôàéëà

DOS, ôóíêöèÿ 5Ah
Ñîçäàòü óíèêàëüíûé âðåìåííûé ôàéë

DOS, ôóíêöèÿ 68h
Çàâåðøèòü ôàéë.

Ñïèñîê íàèáîëåå ÷àñòî èñïîëüçóåìûõ ôóíêöèé DOS.(àññåìáëåð ïðèìåð)

[AK]       Âîò ñïèñîê ôóíêöèé, êîòîðûå âàæíî ïîìíèòü ïðè ðàçðàáîòêå                âèðóñîâ:

               Óñòàíîâèòü àäðåñ DTA.

               ~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 1Ah

                               ds:dx      = àäðåñ

               âûõîä:

                               íåò

                                

               Ïîëó÷èòü àäðåñ DTA.

               ~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 2Fh

               âûõîä:

                               es:bx       = òåêóùèé àäðåñ

                                

               Create - Ñîçäàòü ôàéë.

               ~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 3Ch

                               cx            = àòðèáóòû ôàéëà (òàá 1)

                               ds:dx      = ïóòü è èìÿ ôàéëà â ôîðìàòå asciz

               âûõîä:

                               if CF=0 then

                                 ax          = äåñêðèïòîð ôàéëà

                               else

                                 ax          = êîä îøèáêè (3,4,5) (òàá 2)

                                

               Open - Îòêðûòü ñóùåñòâóþùèé ôàéë

               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 3Dh

                               al             = ðåæèì äîñòóïà (òàá 2)

                               cx            = àòðèáóòû

                               ds:dx      = èìÿ

               âûõîä:

                               if CF=0 then

                                 ax          = äåñêðèïòîð ôàéëà

                               else

                                 ax          = êîä îøèáêè (1,2,3,4,5,0C)

              

               Close - Çàêðûòü ôàéë

               ~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 3Eh

                               bx           = äåñêðèïòîð

                               ds:dx      = èìÿ

               âûõîä:

                               if CF=0 then

                                 ax          =

                               else

                                 ax          = êîä îøèáêè (6)

              

               Read - ×òåíèå èç ôàéëà

               ~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 3Fh

                               bx           = äåñêðèïòîð

                               cx            = ÷èñëî áàéò

                               ds:dx      = áóôåð äëÿ ÷òåíèÿ

               âûõîä:

                               if CF=0 then

                                 ax          = ÷èñëî ïðî÷èòàííûõ áàéò

                                                Ýòî çíà÷åíèå ìîæåò áûòü ìåíüøå CX.

                                                Íàïðèìåð ïîòîìó, ÷òî ïðåâûñèëè äëèíó ôàéëà.

                               else

                                 ax          = êîä îøèáêè (5,6)

               Write - Çàïèñàòü â ôàéë

               ~~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 40h

                               bx           = äåñêðèïòîð

                               cx            = ÷èñëî áàéò

                               ds:dx      = äàííûå äëÿ çàïèñè

               âûõîä:

                               if CF=0 then

                                 ax          = ÷èñëî çàïèñàííûõ áàéò

                               else

                                 ax          = êîä îøèáêè (5,6)

              

               Unlink - Óäàëèòü ôàéë

               ~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 41h

                               cx            = àòðèáóòû

                               ds:dx      = èìÿ

               âûõîä:

                               if CF=0 then

                                 ax          =

                               else

                                 ax          = êîä îøèáêè (2,3,5)

              

               LSeek - Óñòàíîâèòü óêàçàòåëü â ôàéëå

               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 42h

                               al             = òî÷êà îòñ÷åòà óêàçàòåëÿ:

                                                0 - îò íà÷àëà ôàéëà

                                                1 - îò òåêóùåãî ïîëîæåíèÿ

                                                2 - îò êîíöà

                               bx           = äåñêðèïòîð

                               cx:dx      = ñìåùåíèå (cx=ñòàðøèå 16 áèò, dx=ìëàäøèå)

               âûõîä:

                               if CF=0 then

                                 dx:ax    = íîâîå ïîëîæåíèå óêàçàòåëÿ îòíîñèòåëüíî íà÷àëà

                               else

                                 ax          = êîä îøèáêè (1,6)

              

               Ïîëó÷èòü àòðèáóòû ôàéëà

               ~~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ax            = 4300h

                               ds:dx      = èìÿ

               âûõîä:

                               if CF=0 then

                                 cx          = àòðèáóòû

                               else

                                 ax          = êîä îøèáêè (1,2,3,5)

              

               Chmod - Óñòàíîâèòü àòðèáóòû ôàéëà

               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ax            = 4301h

                               cx            = íîâûå àòðèáóòû

                               ds:dx      = èìÿ

               âûõîä:

                               if CF=0 then

                                 ax          =

                               else

                                 ax          = êîä îøèáêè (1,2,3,5)

               Âûäåëèòü áëîê ïàìÿòè

               ~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 48h

                               bx           = ðàçìåð áëîêà â ïàðàãðàôàõ

               âûõîä:

                               if CF=0 then

                                 ax          = ñåãìåíò áëîêà

                               else

                                 ax          = êîä îøèáêè (7,8)

                                 bx         = ðàçìåð íàèáîëüøåãî äîñòóïíîãî áëîêà

               Îñâîáîäèòü ïàìÿòü

               ~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 49h

                               es            = ñåãìåíò áëîêà

               âûõîä:

                               if CF=0 then

                                 ax          =

                               else

                                 ax          = êîä îøèáêè (7,9)

               Èçìåíèòü ðàçìåð áëîêà ïàìÿòè

               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 4Ah

                               bx           = íîâûé ðàçìåð

                               es            = ñåãìåíò

               âûõîä:

                               if CF=0 then

                                 ax          =

                               else

                                 ax          = êîä îøèáêè (7,8,9)

                                 bx         = ðàçìåð íàèáîëüøåãî äîñòóïíîãî áëîêà

               Exec - çàãðóçèòü èëè âûïîëíèòü ïðîãðàììó.

               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

               âõîä:

                               ah            = 4Bh

                               al             = òèï çàãðóçêè:

Ñòðàíèöû: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17


Íîâîñòè


Áûñòðûé ïîèñê

Ãðóïïà âÊîíòàêòå: íîâîñòè

Ïîêà íåò

Íîâîñòè â Twitter è Facebook

                   

Íîâîñòè

© 2010.