Minggu, 08 Maret 2015

C++ : Cara mengubah file dari C++ source code ke Assembly menggunakan GNU Assembly (gas/as)


Cara mengubah file dari C++ source code ke Assembly menggunakan GNU Assembley (gas/as):

g++ -S -o LatihanA.s Latihan1.cpp


Nanti hasilnya adalah LatihanA.s yg kalau dibuka pakai Gedit, maka didalamnya adalah source code binary yg merupakan terjemahan dari file Latihan1.cpp.


Kemudian source code Gnu Assembly ini kita compile menjadi file .o yg merupakan binary dari GNU Assembly dengan perintah:

g++ -c LatihanA.s


Sehingga menghasilkan file:

LatihanA.o


Kemudian file LatihanA.o ini kita buat menjadi bisa di eksekusi dengan perintah:

chmod +x LatihanA.o

maka warna file LatihanA.o ketika di terminal berubah menjadi hijau, tapi ketika dijalankan perintah:

./LatihanA.o

file executable nya bukannya jalan sesuai harapan melainkan malah muncul pesan error:

bash: ./LatihanA.o: Permission denied



Maka solusinya agar bisa dijalankan adalah dengan perintah:

g++ -m32 LatihanA.o -o LatihanA


maka akan ada file baru bernama:

LatihanA


jalankan file LatihanA dengan perintah:

./LatihanA

maka hasilnya sesuai harapan.



Kita bisa membaca isi file LatihanA.o menggunakan perintah:

readelf -a LatihanA.o


Baca keterangan nya disini:





Catatan penting untuk ubah C++ ke Assembly hingga executable dalam Assembly bisa di eksekusi:







Catatan-catatan lain yg penting tentang shellcode:



















Tidak ada komentar:

Posting Komentar

silahkan mengisikan komentar apa aja, bebas aja, disini tempatnya ngomong bebas