Tuesday, June 7, 2011

Melihat metadata Exchange image file dengan Exiftool

Pada tutorial kali ini ialah meilhat metadata dari file image menggunakan Exiftool pada sistem operasi linux Ubuntu. Apa itu Exchangeable Image File ?. Exchangeable Image File merupakan format gambar,suara dan berbagai tag yang digunakan oleh kamera digital termasuk dari kamera smartphone,scanner dan berbagai sistem penanganan file gambar dana suara direkam oleh kamera digital.Exif yang diciptakan oleh the Japan Electronic Industry Development Association atau JEIDA memiliki spesifikasi format file metadata yang spesifik seperti JPEG DCT untuk kompresi gambar,TIFF Rev 6.0 (RGB atau TcbCr) untuk file gambar tidak terkompresi dan RIFF WAV untuk file audio.

Sunday, June 5, 2011

Belajar bahasa Assembly menggunakan NASM (Linux)

Untuk kali ini saya sharing belajar bahasa Assembly di linux menggunakan NASM, pada tutorial sebelumnya telah dijelaskan cara instalasi program nasm di sistem operasi linux menggunakan linux ubuntu. nah untuk program pertama yang sangat mudah karena masih belum menggunakan proses percabangan seperti interuksi jmp,je,ja sebagainya.. gunakan gedit,vi,pico atau aplikasi editor teks lainnya pada linux.
section .data
hello: db 'hello,Apa Kabar,,,?',10
nama: db 'Tri Wanda Septian',10
helloLen: equ $-hello
helloLna: equ $-nama
section .text

global _start

_start:
mov eax,4
mov ebx,1
mov ecx,hello
mov edx,helloLen
int 80h

mov ecx,nama
mov edx,helloLna
int 80h

mov eax,1
mov ebx,0
int 80h

Kemudian lakukan seperti pada postingan sebelumnya yaitu compile dan link ke objek

Analisa program
  • Menggunakan NASM

section .data
hello: db 'hello,Apa Kabar,,,?',10 ; 'hello,Apa Kabar,,,?' dengan banyak linefeed karakternya
nama: db 'Tri Wanda Septian',10 ; 'Tri Wanda Septian' dengan banyak linefeed karakternya
helloLen: equ $-hello ; batas untuk label hello yaitu 'hello,Apa Kabar,,,?'
helloLna: equ $-nama ; batas untuk label nama yaitu 'Tri Wanda Septian?'

section .text

global _start
;dimana pada bagian inilah kode assembly ditulis. Bagian teks. harus dimulai dengan global  _start ;sebagai deklarasi global, yang akan memberitahu kernel dimana eksekusi program dimulai.

_start:
mov eax,4 ; sistem pemanggilan untuk menulis (sys_write)
mov ebx,1 ; file pengdeskripsi yaitu 1 sebagai standar output
mov ecx,hello ;offset dari label hello ke register ecx
mov edx,helloLen ;batas dari string.label helloLen adalah konstan tidak perlu mengatakannya mode tak langsung ;seperti mov edx,[helloLen]
int 80h ; intruksi memanggil kernel

mov ecx,nama ;offset dari label nama ke register ecx
mov edx,helloLna ;batas dari string
int 80h ; interuksi memanggil kernel

mov eax,1;memanggil sistem untuk keluar (sys_exit)
mov ebx,0 ;interuksi keluar dengan kode 0
int 80h ; interuksi memanggil kernel

  • Menggunakan TASM pada DOS

.MODEL SMALL
.CODE
ORG 100h
Program : JMP Start
hello db 'hello,Apa Kabar,,,?$'
nama db 'Tri Wanda Septian$'
Start : mov ah,09h
mov dx,offset hello
int 21h

mov dx,offset nama
int 21h
int 20h
END Program

Silahkan belajar menganalisa perbandingan antara 2 program tersebut. :)

Sumber referensi :

  • http://docs.cs.up.ac.za/programming/asm/derick_tut/

Assembler NASM pengganti TASM di linux

Bahasa assembly merupakan bahasa tingkat rendah yang hanya mengindetifikasi register pada mikroprosesor, namun perlu kita ketahui struktur dari compiler untuk bahasa pemrograman assembly pada setiap sistem operasi agak sedikit berbeda dan kali ini, tutorial singkat untuk mencoba pemrograman bahasa assembly di linux(Ubuntu)

[Personal] Kemana isi blog di 2009 ?

Cerita ini merupakan sekilas heran dan baru sadarnya saya melihat gambar di bawah

[Personal] Perpustakaan yang terabaikan

Dari judulnya terlihat seperti sangat mengerikan,seakan sebuah tempat baca yang sudah lama tidak terpakai dan teabaikan, terlebih mungkin berhantu.(hihihihihi..:p).

Jangan salah kaprah dulu.(hehehe..) ini adalah mengenai perpustakaan saya sendiri yang saya kumpul dari saya awal kuliah sampai sekarang baik itu menganai hal – hal yang menarik buat dibaca. Walaupun dari e-book yang didownload, hampir jarang sekali untuk membukanya (jujur banget :D), kenapa ?.karena mungkin tidak ada niatan kalee..hehehe.