Membaca Source Code

Ada beberapa pertanyaan yang ditujukan ke saya yang jawabannya mudah jika sang penanya bisa membaca source code. Sayangnya skill membaca source code ini sering kali tidak dimiliki, padahal sangat diperlukan oleh programmer dan juga para reverse engineer. Saat ini mungkin sekitar 90% pertanyaan programming bisa dicari jawabannya dengan Google, dan biasanya jawabannya akan ditemukan di… Continue reading Membaca Source Code

Published
Categorized as umum

Mengenal Bahasa Pemrograman Forth

Di posting ini saya ingin memperkenalkan bahasa pemrograman Forth. Bahasa Forth sudah ada selama 50 tahun dan cukup menarik walaupun saat ini sudah cukup jarang dipakai. Forth memakai notasi postfix, berbasis stack, dan merupakan contoh dari concatenative programming language. Forth merupakan bahasa yang sangat sederhana dan dapat diimplementasikan di sistem dengan spesifikasi sangat rendah, bahkan… Continue reading Mengenal Bahasa Pemrograman Forth

Code Obfuscation

Code Obfuscation adalah salah satu bentuk proteksi agar kode sulit dibongkar orang lain. Inti dari obfuscation adalah menyamarkan/membuat kode sulit dibaca. Obfuscation bisa dilakukan manual atau dengan tool yang disebut “obfuscator”. Sementara itu dari sisi reverse engineering, proses mengembalikan dari bentuk samar ini disebut “deobfuscation”. Meskipun kata “samar” sepertinya cukup berpadanan dengan “obfuscated” saya akan… Continue reading Code Obfuscation

Mendalami Bahasa C

Saya memberikan saran agar seseorang “mendalami bahasa C” jika ingin belajar reverse engineering. Ada pertanyaan menarik yang diajukan ke saya: sedalam apa belajarnya pak? apa yang harus dipelajari. Sesuai KBBI mendalami di sini berarti: meresapi; menyelami; mempelajari (menelaah, menyelidiki) dalam-dalam. Saya tidak akan membahas dalam mengenai kenapa seseorang perlu memahami bahasa C, singkatnya: saat ini… Continue reading Mendalami Bahasa C

Published
Categorized as c, umum

Matematika dan Programming

Di kala senggang saya masih menjawab pertanyaan via Facebook/Email/Telegram dan banyak calon programmer yang sudah takut sebelum belajar programming: apakah akan butuh matematika? Jawabannya singkatnya tergantung. Tergantung ingin memprogram apa dan sedalam apa. Matematika dasar tentunya sangat diperlukan, misalnya perkalian, pembagian, penjumlahan pengurangan. Hampir di semua bidang diperlukan ilmu dasar geometri. Misalnya tentang sistem koordinat… Continue reading Matematika dan Programming

Published
Categorized as teknis, umum

Signature email jaman kuliah

Dulu waktu kuliah, saya punya signature email seperti ini: Ternyata masih ada beberapa orang yang ingat, dan masih banyak yang penasaran apa artinya (cuma satu kata: Yohanes) dan  kok bisa muncul seperti itu?. Pertama, menurut standar C lama, sebuah fungsi tanpa kembalian akan mengembalikan sebuah int, dan parameter yang tanpa tipe juga adalah sebuah int,… Continue reading Signature email jaman kuliah

Published
Categorized as c, iseng, umum

Modifikasi Aplikasi Android

Ada banyak alasan kenapa kadang kita ingin memodifikasi aplikasi Android, dan ada banyak cara untuk melakukannya. Beberapa alasan saya pernah memodifikasi Android di antaranya: untuk pentest, untuk membuat aplikasi bisa berjalan lagi, dan untuk mencurangi game. Untuk pentesting, modifikasi yang sering perlu dilakukan adalah: mematikan certificate pinning, mematikan root checking, dan juga menambahkan tracing untuk… Continue reading Modifikasi Aplikasi Android

Memprogram Apa Saja

Saya punya hobi memprogram benda apa saja dengan bahasa apa saja. Pertama saya contohkan dulu benda-benda yang saya program, lalu saya akan berusaha menjelaskan kenapa saya punya hobi ini, dan kenapa menyukai hobi ini. Saya belajar memprogram otodidak waktu kelas 2 SMP dengan komputer Apple II/e dengan bahasa Basic. Waktu itu semuanya masih ngasal karena… Continue reading Memprogram Apa Saja

Published
Categorized as umum

Memahami Static dan Shared Library di Linux

Saya masih sering melihat programmer C dan juga administrator yang bingung dengan konsep shared library. Shared library adalah file berisi kode yang bisa diload saat program dieksekusi (runtime). Karena diload pada runtime, maka sebuah shared library bisa digunakan oleh lebih dari satu program. Penjelasan mengenai static dan shared library biasanya membingungkan, jadi di posting ini… Continue reading Memahami Static dan Shared Library di Linux

Published
Categorized as linux, teknis

Mengapa memakai bahasa pemrograman tertentu?

Mengapa seseorang memilih suatu bahasa tertentu untuk menyelesaikan suatu masalah atau membuat aplikasi tertentu? Ternyata jawabannya bisa banyak.  Kebanyakan pilihan intinya adalah keterpaksaan dan terakhir baru faktor kenyamanan. Non Teknis Keterpaksaan pertama dari non teknis, misalnya dari permintaan atasan atau permintaan client. Hal ini sering kali tidak bisa ditawar lagi, terutama jika sudah melibatkan kontrak… Continue reading Mengapa memakai bahasa pemrograman tertentu?

Published
Categorized as bahasa, umum