Logika Assembly 32 bit (Bahasa Rakitan)
lagi bikin w0rm buat 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 permanent dns attack soon)
logika and
logika ini mengharuskan kondisi keduanya terpenuhi jika ya maka true(1) jika tidak maka false (0).
contoh kode asm 32 bit dengan logika and:
assemble dan linker:
Ok sekarang kita analisis hasil statemen di atas dg gdb:
terlihat hasil logika and pada register eax:
eax —–> 23
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 :
jadi:
Logika or
rutin utama:
logika ini gak musti kondisi keduanya terpenuhi dia udah bisa true (1)
contoh kode asm 32 bit dengan logika or:
assemble dan linker:
analisis hasil dengan gdb:
eax menjadi berisi 70 yg merupakan hasil or dg ebx
perhatikan rutin simple ini:
mov eax,50 —-> register eax diisi 50
mov ebx,20 —-> register ebx diisi 20
or eax,ebx —-> lakukan logika or untuk reg eax dan ebx
itunganya gini:
50 = 01010000 -> dalam bilangan biner
20 = 00100000
logika dimulai:
keterangan logikanya:
0 or 0 = 0
1 or 0 = 1
1 or 1`= 1
Logika XOR (Exclusive Or)
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:
oke simpan dg nama xor.asm lalu assemble dan linker
gdb:
hasil xor terlihat pada register eax yg menjadi berisi 3 a.
Reade more >>
lagi bikin w0rm buat 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 permanent dns attack soon)
logika and
| ;contoh rutin utama: |
| mov eax,23 |
| mov ebx,23 |
| and eax,ebx |
contoh kode asm 32 bit dengan logika and:
| global _start |
| _start: |
| mov eax,23 |
| mov ebx,23 |
| and eax,ebx |
| bt ~ # nasm -f elf and.asm |
| bt ~ # ld -o and and.o |
| bt ~ # gdb -q and |
| (no debugging symbols found) |
| Using host libthread_db library "/lib/libthread_db.so.1". |
| (gdb) run |
| Starting program: /root/and |
| (no debugging symbols found) |
|
| Program received signal SIGSEGV, Segmentation fault. |
| 0x0804806c in ?? () |
| (gdb) i r |
| eax 0x17 23 |
| ecx 0x0 0 |
| edx 0x0 0 |
| ebx 0x17 23 |
| esp 0xbf99ad40 0xbf99ad40 |
| 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 |
| ---Type <return> to continue, or q <return> to quit--- |
eax —–> 23
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 :
| ------------ |
| 0 and 0 -> 0 |
| 1 and 0 -> 0 |
| 1 and 1 -> 1 |
| ------------- |
| 00100011 |
| 00100011 |
| _____________ (and) |
| 00100011 = 23 |
rutin utama:
| ;contoh rutin utama: |
| mov eax,50 |
| mov ebx,20 |
| or eax,ebx |
contoh kode asm 32 bit dengan logika or:
| global _start |
| _start: |
| mov eax,50 |
| mov ebx,20 |
| or eax,ebx |
1 | bt ~ # nasm -f elf or.asm |
2 | bt ~ # ld -o or or.o |
| bt ~ # gdb -q or |
| Using host libthread_db library "/lib/libthread_db.so.1". |
| (gdb) run |
| Starting program: /root/or |
| Program received signal SIGSEGV, Segmentation fault. |
| 0x0804806c in ?? () |
| (gdb) info reg eax |
| eax 0x70 112 |
| (gdb) |
perhatikan rutin simple ini:
mov eax,50 —-> register eax diisi 50
mov ebx,20 —-> register ebx diisi 20
or eax,ebx —-> lakukan logika or untuk reg eax dan ebx
itunganya gini:
50 = 01010000 -> dalam bilangan biner
20 = 00100000
logika dimulai:
1 | 01010000 |
2 | 00100000 |
3 | _________(or) |
4 | 01110000 ----------->>>> 70 |
0 or 0 = 0
1 or 0 = 1
1 or 1`= 1
Logika XOR (Exclusive Or)
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:
| global _start |
| _start: |
| mov eax,1 |
| mov ebx,2 |
5 | xor eax,ebx |
1 | nasm -f elf xor.asm -g |
2 | ld -o xor xor.o |
| Using host libthread_db library "/lib/libthread_db.so.1". |
| (gdb) run |
| Starting program: /root/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 0xbfdc5160 0xbfdc5160 |
| ebp 0x0 0x0 |
| esi 0x0 0 |
| edi 0x0 0 |
| eip 0x804806c 0x804806c |
| eflags 0x210206 [ PF IF RF ID ] |
| cs 0x73 115 |
| ss 0x7b 123 |
| ---Type <return> to continue, or q <return> to quit--- |
| 1 = 00000001 |
| 2 = 00000010 |
| ---------(xor) |
| 00000011Source : http://wisdomc0d3.wordpress.com | |

Blognya Dimas :D