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:
| bt ~ # nasm -f elf and.asm |
Ok sekarang kita analisis hasil statemen di atas dg gdb:
| (no debugging symbols found) |
| Using host libthread_db library "/lib/libthread_db.so.1". |
| Starting program: /root/and |
| (no debugging symbols found) |
| Program received signal SIGSEGV, Segmentation fault. |
| esp 0xbf99ad40 0xbf99ad40 |
| eflags 0x210206 [ PF IF RF ID ] |
| ---Type <return> to continue, or q <return> to quit--- |
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:
1 | bt ~ # nasm -f elf or.asm |
analisis hasil dengan gdb:
| Using host libthread_db library "/lib/libthread_db.so.1". |
| Starting program: /root/or |
| Program received signal SIGSEGV, Segmentation fault. |
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:
4 | 01110000 ----------->>>> 70 |
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:
| Using host libthread_db library "/lib/libthread_db.so.1". |
| Starting program: /root/xor |
| Program received signal SIGSEGV, Segmentation fault. |
| esp 0xbfdc5160 0xbfdc5160 |
| eflags 0x210206 [ PF IF RF ID ] |
| ---Type <return> to continue, or q <return> to quit--- |
hasil xor terlihat pada register eax yg menjadi berisi 3 a.
| 00000011
Source : http://wisdomc0d3.wordpress.com | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
0 komentar:
Posting Komentar