Hooking Aplikasi Android di 2022: Magisk, Zygisk, LSPosed dan JShook

Artikel ini ditujukan untuk para reverse engineer dan pentester yang ingin mengetahui situasi terbaru hooking Android pada awal tahun 2022. Hooking Android artinya kita menulis kode untuk mengintercept fungsi yang ada dan menggantinya dengan milik kita. Tujuan hooking ada banyak, misalnya: bypass SSL Pinning, security testing, cheating game, dsb.

Di tahun 2019 saya pernah menuliskan tentang Magisk, Frida, dan XPosed Framework. Artikel ini merupakan update situasi terkini. Untuk Frida, saya pernah menulis lebih detail di sini (2019), dan XPosed pernah saya tulis di sini (2016).

Zygisk

Setelah capek kucing-kucingan dengan Google dalam hal Safety Net, akhirnya Magisk Hide dihapus. Selain Magisk Hide, Magisk memiliki banyak modul. Modul Magisk sifatnya low level, seperti menyembunyikan, memindahkan, menggantikan atau menambahkan file tertentu di Android.

Modul Magisk yang saya pakai

Sekarang ini ada modul magisk baru bernama Zygisk. Ini sekedar untuk meload sebuah .so di setiap proses (dan otomatis dipanggil ketika proses dimulai). Dengan ini, developer Magisk hanya ingin bilang: ini saya sediakan akses untuk hook low level, silakan dimanfaatkan untuk apapun.

Lanjutkan membaca “Hooking Aplikasi Android di 2022: Magisk, Zygisk, LSPosed dan JShook”

Cheating Game Android yang dibuat dengan Unity

Setelah tulisan saya mengenai Cheat dan AntiCheat pada game, banyak yang bertanya ke saya tentang cheating game. Kebanyakan adalah pemula yang tidak tahu programming, dan hanya sekedar memakai tool yang sudah jadi. Biasanya mereka mentok jika gamenya crash, atau jika modifikasinya tidak berhasil.

https://twitter.com/bambenek/status/1365800872786157571

Tulisan ini bertujuan untuk menginspirasi: ada begitu banyak hal yang bisa dipelajari dari sekedar keisengan untuk mencurangi game. Tapi tentunya jangan sekedar cuma bisa mengikuti tutorial dan mentok di situ. Dari cheating game ini ada banyak hal tingkat lanjut dalam bidang programming dan security yang bisa dipelajari.

Di tulisan lalu, saya sudah memberi tahu bahwa ada begitu banyak game engine, dan ada banyak tool, banyak proteksi pada sebuah game. Di tulisan sebelumnya saya membahas game secara umum, jadi sekarang saya ingin mengambil contoh yang lebih konkrit: game yang dibuat dengan game engine Unity dan hanya pada Android.

Lanjutkan membaca “Cheating Game Android yang dibuat dengan Unity”

SSL Pinning dan Pentester Ngawur

Tulisan ini saya buat untuk mengkritik para pentester yang nggak paham apa tujuan SSL pinning dan menyusahkan programmer. Kasusnya adalah SSL Pinning yang bisa dibypass dianggap sebagai bug, sedangkan cara bypassnya memerlukan Magisk dan Frida. Ibaratnya di dunia fisik begini: kalau ada jendela terbuka, itu bug. Tapi setelah jendelanya ditutup, dilaporkan lagi begini: pak, ini ada celah keamanannya: kalau kita masuk ke dalam rumah, ternyata jendelanya bisa dibuka dari dalam pak. Logikanya: kalau seseorang sudah bisa masuk, ngapain lagi buka jendela?

Maksud dan Tujuan SSL Pinning

Mari kita mundur sejenak, sebenarnya apa sih tujuan SSL Pinning? Saya sudah membuat artikel yang lebih detail di sini, tapi sekarang saya akan membahas versi sederhananya saja: tujuan SSL pinning adalah memastikan kita terhubung ke server yang memang kita tuju. Ini untuk mencegah MITM (Man In the Middle Attack) jika attacker dapat membuat certificate baru yang dipercaya oleh aplikasi/sistem operasi.

Jika aplikasi mengecek tidak melakukan SSL Pinning maka ada dua kelemahan yang bisa dieksploitasi. Pertama adalah melakukan attack terhadap ponsel spesifik, dan kedua adalah membuat certificate yang dipercaya secara default oleh sistem operasi.

Lanjutkan membaca “SSL Pinning dan Pentester Ngawur”

Protokol Penelusuran Kontak Google/Apple

Dalam masa pandemi ini, Google dan Apple bekerja sama dalam proyek untuk penelusuran kontak yang tetap menjaga privasi. Ini merupakan salah satu dari beberapa protokol tracing yang saat ini sedang bersaing di berbagai negara. Sebagian protokol yang direncanakan di berbagai negara sifatnya tersentralisasi, dan sebagian terdesentralisasi. Apple dan Google membuat protokol terdesentralisasi dan menyerahkan masalah pembuatan aplikasi untuk end user ke masing-masing negara.

Saat ini hampir semua ponsel sudah memiliki fitur Bluetooth Low Energy (BLE). BLE ini sekarang digunakan untuk koneksi berbagai device yang sudah sangat populer, misalnya jam pintar dan timbangan pintar. Dengan protokol contact tracing, BLE bisa digunakan untuk menyiarkan data yang mengumumkan keberadaan kita dan sekaligus mencatat keberadaan ponsel-ponsel di sekitar kita. Jika ada orang yang kemudian hari didapati positif, kita bisa diberi tahu jika pernah berdekatan dengan orang tersebut.

Protokol Google/Apple Privacy-Preserving Contact Tracing Project  dibuat diilhami oleh protokol DP-3T (Decentralized Privacy-Preserving Proximity Tracing). Salah satu alasan Google dan Apple mengimplementasikan ini di level sistem operasi karena berbagai batasan aplikasi biasa ketika mengakses bluetooth di latar belakang. Dengan implementasi dari Apple dan Google, kendali bluetooth ini bisa dilakukan di level sistem operasi dan akan lebih mulus dan hemat batere. Google dan Apple juga merupakan dua penguasa sistem operasi mobile saat ini dan jika keduanya membuat protokol yang kompatibel, maka dipastikan bisa berjalan lancar untuk hampir semua orang.

Lanjutkan membaca “Protokol Penelusuran Kontak Google/Apple”

Buku-buku Sesame Street di Google Playbooks

Ada yang anak-anaknya suka dengan Elmo dari Sesame Street? Ada yang masih kekurangan bacaan selama di rumah saja ini? Nah ini, saya mau berbagi info soal buku-buku Sesame Street yang sedang gratis di Google Play Books.

Udah dibacain berkali-kali tetep aja pada nempel begini

Ada banyaaaak buku-bukunya, dan sampai hari ini yang jelas masih gratis. Gak tahu juga sampai kapan gratisnya, jadi kalau suka sebaiknya segera download.

Lanjutkan membaca “Buku-buku Sesame Street di Google Playbooks”

Forest App: Fokus Bekerja bonus Tanam Pohon Beneran

Apa hubungannya fokus bekerja dan tanam pohon? Ceritanya dengan menginstal aplikasi ini, kita bisa diingatkan untuk tetap fokus dengan apa yang kita kerjakan dan bukan mainan handphone melulu. Kalau target tercapai sesuai waktu yang kita tentukan, kita diberikan koin. Nanti koinnya dikumpulkan bisa untuk membeli fitur tambahan atau bisa juga untuk menanam pohon beneran.

Sudah beberapa lama Jonathan pakai aplikasi Forest ini, dan dia sudah mengumpulkan cukup koin untuk menanam 1 pohon beneran (yang nanam nantinya orang dari pembuat app ini). Saya jadi terpikir untuk ikutan instal aplikasi forest ini, siapa tau jadi lebih fokus dan produktif dan bisa ikutan nanam pohon beneran.

Jonathan udah mengumpulkan cukup koin untuk tanam 1 pohon beneran

Teorinya membuat kita produktif tapi kenyataannya bisa saja kita nyalakan di HP terus kita nonton TV atau tinggal tidur. Atau bahkan kalau curang, kita bisa masukkan aplikasi Netflix atau browser ke whitelist-nya (daftar aplikasi pengecualian). Tapi inti dari pemakaian app ini sih untuk membantu kita tetap fokus dengan pekerjaan kita supaya target tercapai dan tidak terus-terusan mainan HP. Jadi kembali ke kita juga mau sekedar biar dapat koin banyak terus bisa tanam pohon, atau mau berusaha fokus.

Misalnya nih, buat yang lagi berusaha baca buku di HP tapi selalu tergoda buat liat aplikasi messenger atau cek medsos terus-terusan, bisa saja kita set aplikasi e-book readernya masuk ke dalam whitelist, tapi browser dan segala aplikasi untuk akses media sosial akan menyebabkan pohon yang ditanam terhenti.

Udah dapat gambaran gak aplikasi Forest itu seperti apa? Pertama donlot dulu dari playstore (gratis) atau dari applestore ($1.99) untuk iOs. Aplikasi ini menawarkan in-app purchase juga, jadi ya hati-hati kalau dimainin anak-anak.

Untuk tanam 1 pohon benerannya kita harus mengumpulkan 2500 koin dan menjadi premium member dengan biaya sekitar 29000 rupiah. Bayar member premiumnya cukup sekali, nantinya setelah jadi member premium, setelah kita berhasil mengumpulkan 2500 koin kita bisa klaim supaya pihak penyedia jasa aplikasi tanam 1 pohon. Info lengkapnya baca di link ini aja ya.

Saya lagi coba nih nulis blog ini di PC, sambil nyalain aplikasi forestnya. Kalau mau bener-bener fokus, kita harus instal juga di browser PC kita untuk membatasi godaan buka-buka sosmed. Heran ya, pengendalian diri terhadap sosmed aja harus sampai pake app begini. Tapi namanya melatih diri, kadang-kadang butuh sedikit pemaksaan. Saya senang dengan aplikasi ini karena banyak peringatan-peringatan lucu kalau kita mau menyerah.

Ini contoh screen capturenya:

Nah yang paling memotivasi sih selain supaya target tercapai yang kemarin sudah dituliskan di google calendar, tapi juga kita bisa ngumpulin koin buat tanam pohon beneran. Jadi ya motivasinya buat diri sendiri dan buat bumi lebih hijau juga.

Katanya sih pesan-pesan untuk meninggalkan layarnya bisa kita tulis sendiri juga kalau mau, tapi sepertinya peringatan dan penyemangat dari aplikasinya juga sudah cukup buat saya.

Karena beberapa hal dari target yang ingin saya capai membutuhkan aplikasi di HP, jadi daftar whitelist saya termasuk Memrise, DuoLingo, Kindle, Playbook, dan Apple Music.

Ada yang sudah tanam pohon banyak gak dari memakai aplikasi ini? kalau belum, yuk coba pakai siapa tau jadi lebih fokus bekerjanya.

Melatih diri menyelesaikan Target dengan Goal di Calendar HP

Kemarin saya lagi kepikiran, ada gak ya aplikasi checklist untuk hal-hal yang dikerjakan setiap harinya oleh Jonathan yang dia bisa lihat di HP. Sebelumnya, saya pernah cetak dan minta dia memberi tanda centang setiap kali pekerjaanya selesai, tapi prakteknya sering lupa juga.

Sebenarnya saya tidak ingin menambahkan aplikasi baru, ataupun harus bawa-bawa buku untuk mengingat daftar hal yang dilakukan setiap hari ini. Terus waktu saya lagi mengisi jadwal kegiatan minggu depan di Google Calendar, eh gak sengaja nemu ada fitur membuat Goal juga yang fungsinya kurang lebih bisa seperti yang saya inginkan. Intinya Jonathan bisa lihat apa yang harus dia lakukan hari itu dan kalau sudah selesai bisa beri tanda sudah dikerjakan. Selain untuk Jonathan, tentunya fitur ini berguna untuk saya juga.

Ini contoh goal dan jadwal kemarin dan hari ini

Setiap harinya, saya menggunakan aplikasi DuoLingo 15 menit dan aplikasi Memrise untuk latihan bahasa Korea. Selain itu saya juga ingin mulai melatih diri rutin bermain piano dan membaca buku paling tidak 15 menit sehari. Untuk menulis blog, saya alokasikan waktunya sore hari 1 jam, tapi ya kalau ada waktu siang saya akan kerjakan juga dan nanti tingal kasih tanda selesai.

Ternyata melihat jadwal dan hal-hal yang harus dilakukan jadi lebih mudah, karena kita bisa set alarm untuk mengingatkan kita. Bahkan bisa set alarm sebelum dan setelah waktunya diingatkan apa sudah dikerjakan atau belum.

Percobaan beberapa hari ini ke Jonathan, walau saya masih harus bertanya apa yang harus dilakukan berikutnya oleh Jonathan, dia juga bisa dengan lebih cepat melihat apa yang harus dikerjakan hari ini dan apa yang masih belum selesai.

Melihat hal-hal yang kita daftarkan berhasil dilakukan semua, memberikan kepuasan tersendiri. Sementara ini efeknya saya jadi rajin dan mengerjakan sebelum alokasi waktu malahan hehehe.

Apa saja yang bisa kita set jadi Goal di Google Calendar dan bagaimana cara mengaturnya? Lengkapnya ada di link ini. Tapi saya akan kasih sedikit langkah-langkahnya juga.

Pertama tentunya buka aplikasi Google Calendar, lalu klik tanda + di sudut kanan bawah dan pilih Goal. Berikutnya pilihlah mau mengatur Goal yang mana.

Pengingat Olahraga dan Menambah keahlian
Pengingat mencari waktu untuk teman, diri sendiri dan lebih terorganisasi

Namanya juga pengingat ya, tentunya hanya bisa mengingatkan yang kita masukkan untuk diingat. Kalau kita gak ingat mengatur apa yang perlu diingat, tentunya aplikasinya lebih ga tau lagi hehehe.

Di dalam pilihan Organise my life, ada pilihan untuk menyediakan waktu membuat list of things to do. Untuk sekarang ini saya coba membuat pengingat untuk membuat jadwal selama 15 menit di pagi hari.

Nantinya Google Calendar akan membantu mencarikan slot waktu di antara slot waktu kosong kita (tentunya kalau ada jadwal yang sudah pasti, harus kita tambahkan dulu sendiri). Fitur ini juga akan mencatat keberhasilan kita menyelesaikan target kita dalam seminggu berapa kali kita lakukan.

Sementara ini, saya berusaha menuliskan Goal dari hal-hal yang memang sudah rutin saya lakukan. Nantinya aplikasi ini bisa dipakai juga untuk melatih diri untuk kebiasaan yang baru (misalnya olahraga? hehehe). Jadi dengan begini Smart Phone yang kita pakai semakin bikin kita smart karena selalu ingatin kita untuk hal-hal yang emang kita jadwalkan sebelumnya.

Buat yang rutin teleponan dengan keluarga yang jauh, bisa juga menjadwalkan pengingat berkabar ria dengan keluarga. Buat ibu-ibu yang merasa jadwal padat dan ga punya me time juga bisa menjadwalkan ke salon misalnya hehehe.

Sekali lagi, ini kan namanya aplikasi untuk menetapkan target ya, kalau misalnya target hari ini belum tercapai ya jangan menyerah. Tetap semangat menentukan target untuk hari berikutnya hehehe. Mulai dengan target yang kecil-kecil dan pasti bisa dilakukan, kalau melihat banyak yang kita targetkan tercapai rasanya lebih memotivasi untuk menyelesaikan lebih banyak lagi.

Contohnya ya ini, target nulis blog malam hari, akhirnya saya kerjakan siang menjelang sore supaya bisa kasih tanda Did it.

Yay, Nulis blog hari ini selesai