Logika Assembly 32 bit (Bahasa Rakitan) lagi bikin b0tn3t buat prolonged/permanent dns attack eh tangan gue gatel mao nyambi maenan dulu ah biar gak puyeng (deface and ddos is common attacks, we don't play it anymore, we'are goin to play with prolonged / possible permanent dns attack soon) [b]logika and[/b] [code] ;contoh rutin utama: mov eax,23h mov ebx,23h and eax,ebx [/code] logika ini mengharuskan kondisi keduanya terpenuhi jika ya maka true(1) jika tidak maka false (0). contoh kode asm 32 bit dengan logika and: [code] global _start _start: mov eax,23h mov ebx,23h and eax,ebx [/code] assemble dan linker: [code] root@mywisdom-Vostro1310:/home/mywisdom/asm# nasm -f elf and.asm -g root@mywisdom-Vostro1310:/home/mywisdom/asm# ld -o and and.o [/code] Ok sekarang kita analisis hasil statemen di atas dg gdb: [code] root@mywisdom-Vostro1310:/home/mywisdom/asm# gdb -q and Reading symbols from /home/mywisdom/asm/and...done. (gdb) run Starting program: /home/mywisdom/asm/and Program received signal SIGSEGV, Segmentation fault. 0x0804806c in ?? () (gdb) i r eax 0x23 35 ecx 0x0 0 edx 0x0 0 ebx 0x23 35 esp 0xbffff480 0xbffff480 ebp 0x0 0x0 esi 0x0 0 edi 0x0 0 eip 0x804806c 0x804806c eflags 0x210202 [ IF RF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x0 0 (gdb) [/code] terlihat hasil logika and pada register eax: eax ----- 0x23 / 23h berikut ini cara kerja logika and tadi: mov eax,23 --- register eax diisi 23 mov ebx,23 --- register ebx diisi 23 23 dikonvert ke biner adalah: 00100011 berikut ini logika and : [code] ------------ 0 and 0 -> 0 1 and 0 -> 0 1 and 1 -> 1 ------------- [/code] jadi: [code] 00100011 00100011 _____________ (and) 00100011 = 23h [/code] [b]Logika or[/b] rutin utama: [code] ;contoh rutin utama: mov eax,50h mov ebx,20h or eax,ebx [/code] logika ini gak musti kondisi keduanya terpenuhi dia udah bisa true (1) contoh kode asm 32 bit dengan logika or: [code] global _start _start: mov eax,50h mov ebx,20h or eax,ebx [/code] assemble dan linker: [code] root@mywisdom-Vostro1310:/home/mywisdom/asm# nasm -f elf or.asm root@mywisdom-Vostro1310:/home/mywisdom/asm# ld -o or or.o [/code] analisis hasil dengan gdb: [code] root@mywisdom-Vostro1310:/home/mywisdom/asm# gdb -q or Reading symbols from /home/mywisdom/asm/or...(no debugging symbols found)...done. (gdb) r Starting program: /home/mywisdom/asm/or Program received signal SIGSEGV, Segmentation fault. 0x0804806c in ?? () (gdb) i r eax 0x70 112 ecx 0x0 0 edx 0x0 0 ebx 0x20 32 esp 0xbffff480 0xbffff480 ebp 0x0 0x0 esi 0x0 0 edi 0x0 0 eip 0x804806c 0x804806c eflags 0x210202 [ IF RF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x0 0 (gdb) [/code] eax menjadi berisi 0x70 yg merupakan hasil or dg ebx perhatikan rutin simple ini: mov eax,50h ----> register eax diisi 50 hex mov ebx,20h ----> register ebx diisi 20 hex or eax,ebx ----> lakukan logika or untuk reg eax dan ebx itunganya gini: 0x50 = 01010000 -> dalam bilangan biner 0x20 = 00100000 logika dimulai: [code] 01010000 00100000 _________(or) 01110000 ----------->>>> 0x70 [/code] keterangan logikanya: 0 or 0 = 0 1 or 0 = 1 1 or 1`= 1 [b]Logika XOR (Exclusive Or)[/b] xor ==exclusive or , ini semua logika sama dengan or tapi bedanya klo 2 kondisi true dia malah jadi false. check tis out: contoh potongan xor: [code] global _start _start: mov eax,1h mov ebx,2 h xor eax,ebx [/code] oke simpan dg nama xor.asm lalu assemble dan linker [code] nasm -f elf xor.asm -g ld -o xor xor.o [/code] gdb: [code] root@mywisdom-Vostro1310:/home/mywisdom/asm# gdb -q xor Reading symbols from /home/mywisdom/asm/xor...(no debugging symbols found)...done. (gdb) r Starting program: /home/mywisdom/asm/xor Program received signal SIGSEGV, Segmentation fault. 0x0804806c in ?? () (gdb) i r eax 0x3 3 ecx 0x0 0 edx 0x0 0 ebx 0x2 2 esp 0xbffff480 0xbffff480 ebp 0x0 0x0 esi 0x0 0 edi 0x0 0 eip 0x804806c 0x804806c eflags 0x210206 [ PF IF RF ID ] cs 0x73 115 ss 0x7b 123 ds 0x7b 123 es 0x7b 123 fs 0x0 0 gs 0x0 0 (gdb) [/code] hasil xor terlihat pada register eax yg menjadi 0x3 / 3 hexa . [code] 1 = 00000001 2 = 00000010 ---------(xor) 00000011 == 0x3 [/code] nih klo buat yg xor: [code] 1 xor 1 equ 0 1 xor 0 equ 1 0 xor 0 equ 0 [/code] .