Как разобраться в написанном? - Assembler
Формулировка задачи:
Подскажите пожалуйста , открыл файл в IDA , вижу там следующее
это часть текста из файла , что это примерно ? Похоже это на ассемблер , или это что то другое ? Как разобраться в написанном ? Куда рыть и что читать , примерно хотя бы ...
1C01 ; --------------------------------------------------------------------------- seg000:00011C01 test byte ptr [eax], 0 seg000:00011C04 div eax seg000:00011C06 icebp seg000:00011C07 sal esi, cl seg000:00011C09 hlt seg000:00011C0A ; --------------------------------------------------------------------------- seg000:00011C0A icebp seg000:00011C0B out 40h, al ; Timer 8253-5 (AT: 8254.2). seg000:00011C0D inc eax seg000:00011C0E inc eax seg000:00011C0F inc eax seg000:00011C10 inc eax seg000:00011C11 inc eax seg000:00011C12 add [eax+eax], bl seg000:00011C15 or eax, 0FACD2h seg000:00011C1A sub al, 0 seg000:00011C1C or eax, 0EDCD2h seg000:00011C21 cdq seg000:00011C22 pushf seg000:00011C23 add ds:74CD3h, cl seg000:00011C29 out 40h, eax ; Timer 8253-5 (AT: 8254.2). seg000:00011C2B inc eax seg000:00011C2C inc eax seg000:00011C2D inc eax seg000:00011C2E inc eax seg000:00011C2F inc eax seg000:00011C30 cdq seg000:00011C31 pushf seg000:00011C32 add ds:7C0D3h, cl seg000:00011C38 icebp seg000:00011C39 inc eax seg000:00011C3A inc eax seg000:00011C3B inc eax seg000:00011C3C inc eax seg000:00011C3D inc eax seg000:00011C3E inc eax seg000:00011C3F cdq seg000:00011C40 pushf seg000:00011C41 add ds:730D4h, cl seg000:00011C47 hlt seg000:00011C47 ; --------------------------------------------------------------------------- seg000:00011C48 db 40h ; @ seg000:00011C49 db 3 dup(40h) seg000:00011C4C dd 9C994040h, 9CD40D00h, 40F50007h, 40404040h, 9C9940h seg000:00011C4C dd 710D50Dh, 4040F600h, 40404040h, 0D009C99h, 784D5h, 404040F9h seg000:00011C4C dd 99404040h, 0D50D009Ch, 0F20006E8h, 4040404Ch, 99404040h seg000:00011C4C dd 0D60D009Ch, 4D00074Ch, 40404040h, 9C994040h, 0B8D60D00h seg000:00011C4C dd 40600007h, 40404040h, 9C9940h, 724D70Dh, 40406100h seg000:00011C4C dd 40404040h, 0D009C99h, 79CD7h, 404040C1h, 99404040h seg000:00011C4C dd 0D80D009Ch, 0C2000708h, 40404040h, 1C004040h, 84D80D00h seg000:00011C4C dd 2C000Fh, 0FCCD80Dh, 0D003C00h, 0E40D9h, 0D009C99h, 7B4D9h seg000:00011C4C dd 404040C5h, 99404040h, 0DA0D009Ch, 0C6000738h, 40404040h seg000:00011C4C dd 9C994040h, 0B0DA0D00h, 40C70007h, 40404040h, 9C9940h seg000:00011C4C dd 71CDB0Dh, 4040C800h, 40404040h, 0D009C99h, 788DBh, 404040C9h seg000:00011C4C dd 99404040h, 0DB0D009Ch, 0D30007FCh, 40404040h, 9C994040h seg000:00011C4C dd 68DC0D00h, 40D40007h, 40404040h, 9C9940h, 7E4DC0Dh seg000:00011C4C dd 4040D800h, 40404040h, 0D009C99h, 75CDDh, 404040D9h seg000:00011C4C dd 99404040h, 0DD0D009Ch, 0E40007D8h, 40404040h, 1C004040h seg000:00011C4C dd 58DE0D00h, 2C000Fh, 0F98DE0Dh, 0D003C00h, 0F24DFh, 0DF0D004Ch seg000:00011C4C dd 99000EB0h, 0E00D009Ch, 0F000073Ch, 40404040h, 9C994040h seg000:00011C4C dd 0C8E00D00h, 40F10007h, 40404040h, 9C9940h, 748E10Dh seg000:00011C4C dd 4040F200h, 40404040h, 0D009C99h, 7D0E1h, 404040F3h seg000:00011C4C dd 99404040h, 0E20D009Ch, 0F4000750h, 40404040h, 9C994040h seg000:00011C4C dd 0C4E20D00h, 40F50007h, 40404040h, 9C9940h, 748E30Dh seg000:00011C4C dd 4040F600h, 40404040h, 0D009C99h, 6CCE3h, 40404CF3h seg000:00011C4C dd 40404040h, 0D009C99h, 748E4h, 4040404Dh, 99404040h seg000:00011C4C dd 0E40D009Ch, 4E0007ACh, 40404040h, 9C994040h, 10E50D00h seg000:00011C4C dd 405B0007h, 40404040h, 9C9940h, 774E50Dh, 40405C00h seg000:00011C4C dd 40404040h, 0D009C99h, 7E4E5h, 4040405Dh, 99404040h seg000:00011C4C dd 0E60D009Ch, 60000760h, 40404040h, 9C994040h, 0DCE60D00h seg000:00011C4C dd 40610007h, 40404040h, 9C9940h, 758E70Dh, 40407A00h seg000:00011C4C dd 40404040h, 0D009C99h, 7DCE7h, 4040407Eh, 99404040h seg000:00011C4C dd 0E80D009Ch, 0C1000748h, 40404040h, 9C994040h, 0C8E80D00h seg000:00011C4C dd 40C20007h, 40404040h, 9C9940h, 748E90Dh, 4040C300h seg000:00011C4C dd 40404040h, 0D009C99h, 7B0E9h, 404040C4h, 99404040h seg000:00011C4C dd 0EA0D009Ch, 0C500071Ch, 40404040h, 9C994040h, 90EA0D00h seg000:00011C4C dd 40C60007h, 40404040h, 1C0040h, 0F04EB0Dh, 0D002C00h seg000:00011C4C dd 0E2CEBh, 0D009C99h, 7ACEBh, 404040C7h, 404040h, 0EC0D001Ch seg000:00011C4C dd 2C000F30h, 58EC0D00h, 9C99000Eh, 0DCEC0D00h, 40C80007h seg000:00011C4C dd 40404040h, 1C0040h, 0F60ED0Dh, 0D002C00h, 0E88EDh, 0D009C99h seg000:00011C4C dd 708EEh, 404040C9h, 99404040h, 0EE0D009Ch, 0D100078Ch seg000:00011C4C dd 40404040h, 9C994040h, 0EF0D00h, 40D20007h, 40404040h seg000:00011C4C dd 9C9940h, 764EF0Dh, 4040D300h, 40404040h, 0D009C99h seg000:00011C4C dd 7C8EFh, 404040D4h, 404040h, 0F00D001Ch, 2C000F38h, 60F00D00h seg000:00011C4C dd 9C99000Eh, 0D4F00D00h, 40D50007h, 40404040h, 1C0040h seg000:00011C4C dd 0F4CF10Dh, 0D002C00h, 0E74F1h, 0D009C99h, 7E8F1h, 404040D7h seg000:00011C4C dd 404040h, 0F20D001Ch, 2C000F60h, 88F20D00h, 9C99000Eh seg000:00011C4C dd 0F30D00h, 40D80007h, 40404040h, 1C0040h, 0F7CF30Dh seg000:00011C4C dd 0D002C00h, 0A4F3h, 2 dup(0) seg000:00012000 db 3 seg000:00012001 ; --------------------------------------------------------------------------- seg000:00012001 test byte ptr [eax], 0 seg000:00012004 div eax seg000:00012006 icebp seg000:00012007 sal esi, cl seg000:00012009 hlt seg000:00012009 ; --------------------------------------------------------------------------- seg000:0001200A dw 0D8F3h seg000:0001200C ; --------------------------------------------------------------------------- seg000:0001200C inc eax seg000:0001200D inc eax seg000:0001200E inc eax seg000:0001200F inc eax seg000:00012010 inc eax seg000:00012011 inc eax seg000:00012012 cdq seg000:00012013 pushf seg000:00012014 add ds:724F4h, cl seg000:0001201A hlt seg000:0001201B ; --------------------------------------------------------------------------- seg000:0001201B inc eax seg000:0001201C inc eax seg000:0001201D inc eax seg000:0001201E inc eax seg000:0001201F inc eax seg000:00012020 inc eax seg000:00012021 cdq seg000:00012022 pushf seg000:00012023 add ds:7A4F4h, cl seg000:00012029 cmc seg000:0001202A inc eax seg000:0001202B inc eax seg000:0001202C inc eax seg000:0001202D inc eax seg000:0001202E inc eax seg000:0001202F inc eax seg000:00012030 cdq seg000:00012031 pushf seg000:00012032 add ds:714F5h, cl seg000:00012038 test dword ptr [eax+40h], 40404040h seg000:0001203F add [eax+eax], bl seg000:00012042 or eax, 0E84F5h seg000:00012047 cdq seg000:00012048 pushf seg000:00012049 add ds:6B4F5h, cl seg000:0001204F hlt seg000:0001204F ; --------------------------------------------------------------------------- seg000:00012050 db 5Ch ; \ seg000:00012051 db 40h ; @ seg000:00012052 db 40h ; @ seg000:00012053 db 40h ; @ seg000:00012054 db 40h ; @ seg000:00012055 db 40h ; @ seg000:00012056 db 40h ; @ seg000:00012057 db 99h ; Щ seg000:00012058 db 9Ch ; Ь seg000:00012059 align 2 seg000:0001205A db 0Dh seg000:0001205B db 0F6h ; Ў seg000:0001205C db 18h seg000:0001205D db 7 seg000:0001205E dw 5D00h seg000:00012060 db 40h ; @ seg000:00012061 db 40h ; @ seg000:00012062 db 40h ; @ seg000:00012063 db 40h ; @ seg000:00012064 db 40h ; @ seg000:00012065 db 40h ; @ seg000:00012066 db 99h ; Щ seg000:00012067 db 9Ch ; Ь seg000:00012068 dd 84F60D00h, 40600007h, 40404040h, 9C9940h, 7F0F60Dh seg000:00012068 dd 40406B00h, 40404040h, 0D009C99h, 758F7h, 4040406Ch seg000:00012068 dd 99404040h, 0F70D009Ch, 6E0007D4h, 40404040h, 9C994040h seg000:00012068 dd 54F80D00h, 406F0007h, 40404040h, 9C9940h, 7D4F80Dh seg000:00012068 dd 40407A00h, 40404040h, 0D009C99h, 754F9h, 404040C3h seg000:00012068 dd 99404040h, 0F90D009Ch, 0C40007D0h, 40404040h, 9C994040h seg000:00012068 dd 48FA0D00h, 40C60007h, 40404040h, 9C9940h, 7C0FA0Dh seg000:00012068 dd 4040C900h, 40404040h, 0D009C99h, 740FBh, 404040D1h seg000:00012068 dd 99404040h, 0FB0D009Ch, 0D20007ACh, 40404040h, 9C994040h seg000:00012068 dd 18FC0D00h, 40E20007h, 40404040h, 1C0040h, 0F8CFC0Dh seg000:00012068 dd 0D002C00h, 0EC4FCh, 0D009C99h, 738FDh, 404040E3h, 99404040h seg000:00012068 dd 0FD0D009Ch, 0E50007ACh, 40404040h, 9C994040h, 18FE0D00h seg000:00012068 dd 40E60007h, 40404040h, 9C9940h, 79CFE0Dh, 4040F500h seg000:00012068 dd 40404040h, 0D009C99h, 728FFh, 404040F9h, 99404040h seg000:00012068 dd 0FF0D009Ch, 0F50006A0h, 4040405Ch, 99404040h, 0E009Ch seg000:00012068 dd 5D000700h, 40404040h, 9C994040h, 70000E00h, 40C90007h seg000:00012068 dd 40404040h, 9C9940h, 7E0000Eh, 4040D100h, 40404040h seg000:00012068 dd 0E009C99h, 76001h, 404040E4h, 99404040h, 10E009Ch, 0E50007E0h seg000:00012068 dd 40404040h, 9C994040h, 50020E00h, 40E60007h, 40404040h seg000:00012068 dd 9C9940h, 7BC020Eh, 4040E700h, 40404040h, 0E009C99h seg000:00012068 dd 72803h, 404040E8h, 99404040h, 30E009Ch, 0E9000794h seg000:00012068 dd 40404040h, 9C994040h, 40E00h, 40F00007h, 40404040h seg000:00012068 dd 9C9940h, 784040Eh, 4040F100h, 40404040h, 0E009C99h seg000:00012068 dd 7F404h, 404040F2h, 99404040h, 50E009Ch, 0F3000764h seg000:00012068 dd 40404040h, 9C994040h, 0EC050E00h, 40F40007h, 40404040h seg000:00012068 dd 9C9940h, 75C060Eh, 4040F500h, 40404040h, 0E009C99h seg000:00012068 dd 7C406h, 404040F6h, 99404040h, 70E009Ch, 0F800072Ch seg000:00012068 dd 40404040h, 9C994040h, 0A0070E00h, 40F90007h, 40404040h seg000:00012068 dd 9C9940h, 604080Eh, 404CF600h, 40404040h, 9C9940h, 768080Eh seg000:00012068 dd 40404D00h, 40404040h, 0E009C99h, 7DC08h, 4040404Eh seg000:00012068 dd 99404040h, 90E009Ch, 5B000768h, 40404040h, 9C994040h seg000:00012068 dd 0E8090E00h, 405C0007h, 40404040h, 9C9940h, 7740A0Eh seg000:00012068 dd 40405D00h, 40404040h, 0E009C99h, 7F40Ah, 40404060h seg000:00012068 dd 99404040h, 0B0E009Ch, 61000778h, 40404040h, 9C994040h seg000:00012068 dd 0F40B0E00h, 406B0007h, 40404040h, 1C0040h, 0F780C0Eh seg000:00012068 dd 0E002C00h, 0EB00Ch, 0E009C99h, 72C0Dh, 4040406Ch, 99404040h seg000:00012068 dd 0D0E009Ch, 6E0007A8h, 40404040h, 9C994040h, 2C0E0E00h seg000:00012068 dd 40C10007h, 40404040h, 1C0040h, 0FB00E0Eh, 0E002C00h seg000:00012068 dd 0F040Fh, 0F0E003Ch, 4C000F7Ch, 0F80F0E00h, 9C99000Eh seg000:00012068 dd 74100E00h, 40C20007h, 40404040h, 1C0040h, 0FF0100Eh seg000:00012068 dd 0E002C00h, 0F4411h, 110E003Ch, 4C000FBCh, 38120E00h seg000:00012068 dd 9C99000Eh, 0B4120E00h, 40C30007h, 40404040h, 1C0040h seg000:00012068 dd 0F30130Eh, 0E002C00h, 0FB813h, 140E003Ch, 4C000F34h seg000:00012068 dd 0B0140E00h, 5C000Fh, 0E28150Eh, 9C9900h, 7A4150Eh, 4040C400h seg000:00012068 dd 40404040h, 0E001C00h, 2016h, 2 dup(0) seg000:00012400 db 3 seg000:00012401 db 0F1h ; ё seg000:00012402 align 4 seg000:00012404 div eax seg000:00012406 icebp seg000:00012407 sal esi, cl seg000:00012409 hlt
Решение задачи: «Как разобраться в написанном?»
textual
Листинг программы
seg000:0000000A a00000000000000 db '00000000000000000000000000',0 seg000:00000025 db '>',0 seg000:00000027 db 2 seg000:00000028 dd 3000000h, 0 seg000:00000030 dd 40001h, 0 seg000:00000038 db 4 seg000:00000039 dd offset word_E6 seg000:0000003D db 13h seg000:0000003E align 10h seg000:00000040 dd 0 seg000:00000044 dd 2A1D0000h, 0 seg000:0000004C db 2 seg000:0000004D db 2 seg000:0000004E dw 2 seg000:00000050 dd 6 dup(0) seg000:00000068 dd 2B1D0000h, 2 dup(9B330058h), 2 dup(0) seg000:0000007C dd 5C0100h, 0 seg000:00000084 dd 2C1A1100h, 4040202h, 2000100h, 0 seg000:00000094 dd 40000h, 0 seg000:0000009C dd 80000000h, 3 dup(0) seg000:000000AC dd 0FE030000h, 0Dh dup(0) seg000:000000E4 db 2 dup(0) seg000:000000E6 word_E6 dw 0 ; DATA XREF: seg000:00000039o seg000:000000E8 dword_E8 dd 0C6h dup(0) seg000:00000400 dd offset unk_1200 seg000:00000404 dd 0C000000h, 80000h, 100006h, 1, 0FAh dup(0) seg000:000007FC dd offset unk_7EFF seg000:00000800 db 80h ; А seg000:00000801 db 2Eh, 2 dup(0) seg000:00000804 db 0F7h ; ў seg000:00000805 db 0F0h, 0F1h, 0D3h seg000:00000808 dd 0F8F8F0F2h, 4040F2F1h, 1C004040h, 100100h, 0FFFF0000h seg000:00000808 dd 3 dup(0FFFFFFFFh), 100FFFFh, 14h, 0F3h dup(0) seg000:00000BFC dd offset dword_8200 seg000:00000C00 db 82h ; В seg000:00000C01 db 16h seg000:00000C02 align 4 seg000:00000C04 db 40h ; @ seg000:00000C05 db 3 dup(40h)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д