00:00:00(suara keyboard) Jadi saya ingin melihat skandal besar Honey yang sedang terjadi ini.
00:00:12Jika kamu tidak familiar dengan Honey,
00:00:14Honey adalah salah satu ekstensi Chrome untuk kupon,
00:00:17yang artinya semua kodenya tersedia untuk saya periksa.
00:00:19Jadi saya bisa melihat hal-hal yang dituduhkan dalam video-video YouTube ini dan saya bisa benar-benar melihat,
00:00:25apakah ini benar terjadi?
00:00:26Tapi lebih dari itu,
00:00:27dalam hal ekstensi,
00:00:28saya sebenarnya bisa melihat dari waktu ke waktu dan melihat,
00:00:32apakah keputusan-keputusan buruk ini dibuat dan apakah para software engineer telah melakukan perubahan untuk tidak hanya melanjutkan,
00:00:39tapi membuat perilaku buruk ini menjadi lebih baik dan lebih kokoh?
00:00:44Ya, memang begitu.
00:00:45Dan saya akan menunjukkan bagaimana itu terjadi.
00:00:47Tapi saya tahu ada banyak dari kalian yang mungkin tidak tahu apa yang sedang terjadi.
00:00:50Kalian bahkan tidak familiar dengan Honey.
00:00:52Jadi kalian belum pernah benar-benar mengikuti perkembangannya.
00:00:55Ini sebenarnya melibatkan operasi yang sangat spesifik dari Honey yang ingin saya bahas.
00:00:59Jadi kita akan menonton cuplikan tiga menit dari video pengungkapan Honey terbaru ini.
00:01:05Dan kemudian saya akan membahas tentang menelusuri kode yang diminifikasi dan apa yang saya temukan serta maksud di baliknya,
00:01:11yang cukup mengejutkan.
00:01:12Nah,
00:01:12kalau ada satu hal yang dibenci orang lebih dari penipuan,
00:01:15itu adalah pencurian.
00:01:15Dan di video pertama saya,
00:01:16saya menunjukkan bagaimana Honey mencuri uang dari para influencer.
00:01:19Tapi yang tidak saya katakan adalah bahwa perilaku ini dalam kebanyakan kasus,
00:01:23secara tegas tidak diperbolehkan.
00:01:25Kamu tahu,
00:01:25perusahaan-perusahaan yang menjalankan industri ini,
00:01:28yaitu jaringan afiliasi,
00:01:29sangat paham bahwa ekstensi kupon seperti Honey memiliki kemungkinan tinggi untuk membajak komisi dari influencer,
00:01:34blogger,
00:01:35dan afiliasi berbasis konten lainnya.
00:01:37Lebih penting lagi,
00:01:38mereka juga memahami bahwa ini tidak adil,
00:01:40terutama di bawah kebijakan klik terakhir yang menang,
00:01:44yang tetap menjadi standar industri.
00:01:46Jadi untuk mencegah jenis pencurian komisi ini,
00:01:48sebagian besar jaringan afiliasi besar memberlakukan yang dikenal sebagai kebijakan stand down.
00:01:53Mari saya tunjukkan seperti apa itu di Honey.
00:01:55Mari kita kunjungi newegg.com terlebih dahulu tanpa link afiliasi.
00:01:58Dan seperti yang kamu lihat,
00:02:00Honey langsung muncul menawarkan cashback.
00:02:02Tapi kalau kita lakukan ini lagi,
00:02:03kali ini menggunakan link afiliasi saya untuk Newegg,
00:02:06kamu akan melihat bahwa Honey tidak muncul sama sekali.
00:02:08Dan kalau kita klik ikon Honey,
00:02:09kamu bisa melihat bahwa Honey sekarang dinonaktifkan.
00:02:12Jadi begitulah seharusnya Honey berperilaku ketika pengguna sudah mengklik link afiliasi orang lain.
00:02:17Lalu di mana penipuan yang dituduhkan itu, kamu tanya?
00:02:20Nah,
00:02:20ternyata,
00:02:21Honey selalu memiliki sistem stand down yang dibangun ke dalam aplikasi mereka,
00:02:24tapi mereka secara selektif memilih kapan dan kepada siapa menerapkan aturan tersebut.
00:02:28Mari kita uji link afiliasi saya untuk Newegg lagi.
00:02:31Hanya kali ini saya punya dua browser Chrome yang sepenuhnya terpisah terbuka pada saat yang bersamaan,
00:02:36dan masing-masing login ke akun Honey yang berbeda.
00:02:38Akun Honey di sebelah kiri memiliki nol poin cashback,
00:02:41sementara akun Honey di sebelah kanan telah mengumpulkan poin cashback.
00:02:45Sekarang,
00:02:45apa yang terjadi ketika saya membuka link afiliasi Newegg di kedua browser?
00:02:49Akun Honey di sebelah kiri melakukan stand down seperti pertama kali.
00:02:52Tapi lihat ini,
00:02:53akun di sebelah kanan,
00:02:54yang memiliki poin cashback,
00:02:56tidak melakukan stand down.
00:02:58Jadi kenapa begitu?
00:02:59Jadi ini adalah hal yang ingin saya uji.
00:03:01Saya ingin menelusurinya karena ini adalah kode.
00:03:03Saya bisa memahami kode.
00:03:05Saya bisa melihat JSON yang turun dan saya bisa memahaminya.
00:03:09Tidak hanya itu,
00:03:09tapi kekuatan AI akan memungkinkan saya untuk menelusuri kode yang diminifikasi dengan kecepatan yang tidak pernah saya bayangkan sebelumnya di sepanjang karir pemrograman saya.
00:03:18Jadi yang kami lakukan adalah kami pertama kali mendapatkan banyak versi Honey.
00:03:22Jadi yang saya telusuri dimulai dari sekitar Februari 2019,
00:03:27sampai hari ini,
00:03:281901.
00:03:29Dan dengan itu,
00:03:29yang ingin saya lakukan adalah,
00:03:31oke,
00:03:32pertama-tama,
00:03:32apakah semacam poin pengguna ini yang menentukan kapan dan kapan tidak menampilkan menu stand down,
00:03:38apakah itu ada?
00:03:38Ya, itu memang ada.
00:03:40Tapi pertanyaan sebenarnya adalah, apakah itu sudah berubah?
00:03:43Karena saya pernah bekerja di perusahaan besar,
00:03:45saya pernah bekerja di perusahaan besar,
00:03:46kan,
00:03:46kalian juga pernah bekerja di perusahaan besar,
00:03:47saya yakin kalian pernah,
00:03:48atau sebagian dari kalian pernah,
00:03:49dan kalian tahu bahwa terkadang kode itu ya tetap bertahan saja.
00:03:50Kalian tahu,
00:03:51itu seperti ups kesalahan kecil,
00:03:52tapi ya tetap ada di sana,
00:03:53tidak ada yang mengubahnya selama lima tahun,
00:03:55begitulah adanya.
00:03:55Dan itulah yang saya cari,
00:03:57yaitu,
00:03:58apakah kode tersebut tetap bertahan?
00:04:00Atau sudah ada perubahan yang signifikan?
00:04:03Bukan seperti perbaikan bug kecil-kecilan.
00:04:05Baiklah,
00:04:05jadi untuk menghindari pelanggaran hak cipta,
00:04:07karena ternyata pengacara PayPal akan menggugat dengan DMCA,
00:04:10siapa pun yang benar-benar menampilkan kodenya.
00:04:13Itu berarti saya harus melakukan sandiwara aneh ini di papan tulis tua untuk menunjukkan kepada kalian apa yang terjadi.
00:04:18Jadi dimulai dari versi 11,
00:04:20ingat,
00:04:20yang sekitar tahun 2019,
00:04:22versi ini memang memiliki logika stand down.
00:04:25Bahkan ada hal-hal yang disebut logika stand down SSD.
00:04:29Itu cocok dengan file JSON yang dikirim dengan banyak data.
00:04:32Inilah stand down saya untuk pengguna yang bahkan tidak login sama sekali,
00:04:36hal-hal paling dasar.
00:04:38Di sini, kalian bisa lihat UP adalah poin pengguna.
00:04:41ADB adalah seperti waktu terakhir add block digunakan.
00:04:45Ada juga is account logged in.
00:04:47Dan ada beberapa field lain yang tampaknya muncul sesekali.
00:04:50Jadi yang menarik adalah pada tahun 2019 di bawah versi 11,
00:04:53hal-hal sering terlihat seperti ini.
00:04:55Ada seperti pernyataan switch raksasa yang akhirnya memiliki kasus-kasus di mana seperti,
00:05:00oke,
00:05:00hei,
00:05:01apakah kita menguji email?
00:05:02Dan ya, itu benar-benar memiliki string.
00:05:04Apakah email ini mengandung kata test?
00:05:06Maka selalu stand down, yang omong-omong, mencurigakan.
00:05:10Ini menghindari akun pengujian link tersebut untuk masuk dan berperilaku seperti link share test untuk melihat apakah ini benar-benar berfungsi?
00:05:16Karena mari kita hadapi saja,
00:05:17siapa di sini yang tidak punya akun tester yang tidak mengandung kata test?
00:05:20Saya pasti punya.
00:05:22Tapi meskipun begitu, ini adalah pemeriksaan eksplisit.
00:05:24Jika Anda memiliki kata test di mana pun di email Anda,
00:05:27itu akan menonaktifkan Anda.
00:05:29Tapi lebih dari itu,
00:05:30maksud saya,
00:05:30ini sudah dibicarakan,
00:05:31tapi lebih dari itu hal-hal yang benar-benar membingungkan adalah melewati serangkaian pemeriksaan dan akan seperti,
00:05:37hei,
00:05:37apakah provider yang saat ini aktif sama dengan LS,
00:05:40yaitu link share?
00:05:41Jika ya, saya ingin Anda menerapkan aturan yang tepat ini.
00:05:44Dan kemudian nanti,
00:05:45ada pemeriksaan di mana ia menelusuri semua aturan yang telah ditemukan,
00:05:49lalu ia akan satu per satu dalam loop kecil memeriksa setiap aturan ini dan memeriksa,
00:05:53apakah ada yang gagal?
00:05:55Jika ada yang gagal, itu akan stand down.
00:05:57Jadi ini adalah proses yang cukup hard coded,
00:06:00seperti yang bisa kalian lihat,
00:06:01karena ada seperti baris literal yang mengatakan,
00:06:04jika link share,
00:06:05lakukan tindakan ini.
00:06:06Jika kita berada di provider lain ini, lakukan hal lain.
00:06:08Sekarang tentu saja saya sudah mengerjakan banyak sekali proyek di mana hal semacam ini terjadi.
00:06:12Ini sangat normal.
00:06:14Anda mulai dari mana Anda seperti,
00:06:15oke,
00:06:15hei,
00:06:16kita mungkin punya satu atau dua provider dan itu saja.
00:06:18Jadi saya hanya akan menaruh beberapa kasus khusus hard code di sini dan kita akan pastikan saja hal-hal ditangani dengan cara tertentu.
00:06:24Kita stand down untuk beberapa durasi,
00:06:25yang omong-omong,
00:06:26bukan bagian yang sangat panjang.
00:06:27Kalian harus menonton video MegaLag untuk mengetahui betapa buruknya aturan tersebut sebenarnya.
00:06:34Tapi sekali lagi,
00:06:34tujuan saya adalah untuk bertanya,
00:06:36oke,
00:06:36apakah mereka membuat perubahan pada kode yang merupakan perbaikan bug?
00:06:39Apa yang terjadi?
00:06:40Nah,
00:06:40di sinilah hal-hal menjadi sedikit membingungkan karena antara versi 11 hingga 14,
00:06:46yang saya percaya sampai tahun 2022,
00:06:49ya,
00:06:492022,
00:06:50hal-hal tetap cukup konstan.
00:06:52Tidak ada yang benar-benar berubah,
00:06:53sedikit pengeditan,
00:06:54tidak ada yang benar-benar menunjukkan banyak hal.
00:06:56Tapi dimulai sekitar,
00:06:57saya percaya di versi 16,
00:06:59jadi di tahun 2024,
00:07:00ada refactor kuat yang dibuat sehingga mereka dapat menggerakkan banyak keputusan ini dari endpoint di Honey.
00:07:07Sekarang endpoint ini mengirimkan objek yang terlihat seperti ini,
00:07:11yang memiliki nilai dasar ini,
00:07:12lalu memiliki nilai-nilai ini,
00:07:14lalu memiliki nilai-nilai ini di bawah X.
00:07:16Jadi itu berarti versi sebelumnya,
00:07:18menggunakan sekelompok pernyataan if untuk menentukan jenis perilaku yang ingin dilakukannya.
00:07:23Kemudian sistem akan melakukan evaluasi aturan untuk melihat,
00:07:26apakah aturan ini benar-benar lolos?
00:07:28Apakah kita benar-benar mendapatkan hasil true atau false?
00:07:30Tapi di versi 16,
00:07:31mereka memutuskan untuk lebih serius dalam hal rekayasa perangkat lunak.
00:07:36Kita semua tahu apa yang harus dilakukan ketika kamu punya banyak pernyataan if yang melakukan pembungkusan data dan melakukan mutasi dasar pada sebuah objek?
00:07:45Tentu saja kamu ingin menjalankannya melalui semacam konfigurasi.
00:07:48Kamu ingin menjalankannya melalui sesuatu yang lebih dinamis agar sedikit lebih mudah.
00:07:52Dan itulah persis yang mereka lakukan.
00:07:53Jadi kalau kita kembali ke sini dan melihat data yang dikirim kepada saya,
00:07:56seorang pengguna Honey yang tidak login,
00:07:58kamu akan melihat di sini bahwa saya punya base class.
00:08:00Base class ini akan menjadi objek dasar untuk menentukan bagaimana Honey mengambil keputusan.
00:08:05Saat ini untuk pengguna yang tidak login dengan base class ini,
00:08:09saya memerlukan 65.000 poin pengguna agar Honey tidak mundur.
00:08:13Kalau saya punya kurang dari 65.000 poin,
00:08:15ingat saya tidak login jadi saya punya nol poin,
00:08:17sistem akan bilang,
00:08:18maaf,
00:08:18saya mundur.
00:08:18Saya menghindari ini.
00:08:20Nah,
00:08:20ketika sistem mendapatkan base itu,
00:08:22yang kemudian dilakukannya adalah memeriksa bagaimana kita sampai di sini?
00:08:25Dari mana kita sampai di sini?
00:08:27Mengapa kita sampai di sini?
00:08:28Dan sistem melakukan pemeriksaan berikutnya,
00:08:29apakah ini berasal dari salah satu jaringan afiliasi ini?
00:08:32Dan kemudian sistem akan mulai membungkus semuanya.
00:08:33Jadi,
00:08:33oke,
00:08:34jika saya datang dari tempat link share,
00:08:37sekarang poin yang dibutuhkan hanya 5.001.
00:08:40Sistem akan mengedit objek dasar ini.
00:08:41Ini sebenarnya melakukan rekayasa yang lebih baik dan lebih canggih.
00:08:44Ini bukan lagi serangkaian pernyataan if yang di-hardcode.
00:08:48Sebaliknya, sistem melakukan, hei, ambil dot base.
00:08:51Lalu saya ingin mengatakan, apakah kamu punya provider saya?
00:08:55Kalau kamu punya provider saya,
00:08:57saya ingin menyebarkan nilai-nilai provider saya atau hanya objek kosong.
00:09:01Dan kemudian sistem melakukan sesuatu yang lebih liar lagi,
00:09:04yaitu semua ini di sini di bawah X.
00:09:07Ini semua adalah nilai-nilai spesifik toko.
00:09:09Kemudian sistem akan memeriksa,
00:09:11hei,
00:09:12toko mana pun yang saat ini saya kunjungi,
00:09:14saya juga ingin menerapkan nilai-nilai itu juga.
00:09:17Dan kemudian sistem akan melakukan logika aturan dasar,
00:09:19menunjukkan bahwa ini tidak lagi berada di bawah semacam mode pemeliharaan.
00:09:23Ini menunjukkan bahwa ini tidak lagi semacam hal yang di-hardcode secara sembarangan yang sudah ada selama seperti satu dekade.
00:09:29Sebaliknya, mereka beralih dari itu.
00:09:31Dan di tahun 2024, mereka berkata, tahu nggak?
00:09:33Kita perlu lebih tangguh dan kita perlu bisa membuat lebih banyak keputusan tentang lebih banyak toko dan lebih banyak provider dengan cara yang lebih mudah dipelihara.
00:09:43Ini adalah rekayasa perangkat lunak sejati dan mereka melakukannya.
00:09:46Jadi ketika saya melihat ini,
00:09:47yang saya lihat adalah bahwa dari waktu ke waktu,
00:09:50mereka telah membuat perubahan untuk membuat sistem mereka lebih baik,
00:09:53yang berarti ada niat di baliknya.
00:09:54Mereka ingin mempertahankan apa pun yang dilakukan sistem itu,
00:09:57apakah itu curang atau tidak.
00:09:59Saya tidak bisa mengatakan itu untuk orang lain yang memutuskan,
00:10:02tapi setidaknya saya bisa mengatakan bahwa keputusan mereka adalah untuk membuatnya lebih tangguh dan lebih baik.
00:10:07Dan mengingat fakta bahwa persepsi umum terhadap sistem ini cukup mencurigakan,
00:10:11mereka telah membuat sistem mereka yang cukup mencurigakan menjadi jauh,
00:10:15jauh lebih baik.
00:10:16Tapi itu bukan semua yang saya temukan.
00:10:17Saya menemukan sesuatu yang lain yang membangkitkan minat saya.
00:10:19Saya terus melihat kata VIM yang terus muncul.
00:10:23Nah saya berpikir, VIM, apa hubungannya dengan text editor?
00:10:26Ketika saya bertanya kepada Claude tentang hal itu,
00:10:29ia sebenarnya berkata,
00:10:30hei,
00:10:30kamu sedang membicarakan VIM instance manager yang ditemukan di dalam Honey?
00:10:34Dan saya seperti, VIM instance manager.
00:10:35Oke, tidak mungkin itu.
00:10:37Itu bukan itu.
00:10:38Dan kemudian ketika saya mulai melihat ini,
00:10:41yang akhirnya saya lihat adalah ada seluruh mesin JavaScript di dalam JavaScript yang berjalan di dalam plugin Honey.
00:10:49Nah, ini benar-benar hal paling aneh yang pernah saya lihat.
00:10:54Saya mencoba membaca tentang hal itu.
00:10:56Saya bukan ahli pengembang plugin dalam hal Chrome.
00:10:59Jadi saya tidak tahu mengapa ada orang yang akan menjalankan JavaScript di dalam JavaScript.
00:11:05Tapi yang dilakukan Honey adalah sebenarnya menggunakan Acorn,
00:11:09yang merupakan parser JavaScript dan menghasilkan AST dari JavaScript yang valid.
00:11:14Dan sistem mengambil ini,
00:11:15mengevaluasi JavaScript,
00:11:17dan kemudian memasukkannya ke dalam mesin VIM ini.
00:11:19Sekarang ada beberapa referensi dalam kode yang sebenarnya merujuk ke objek lain yang disebut cart ops retrieval JS dan product ops retrieval JS,
00:11:28yang terkadang tidak null,
00:11:30sebenarnya berisi kode.
00:11:31Dan ini juga merujuk ke kode JS ini,
00:11:33yang juga terkadang tidak null,
00:11:35seperti di sini,
00:11:36ini adalah JavaScript sungguhan.
00:11:38Tapi sejauh yang saya tahu,
00:11:39sebenarnya tidak mengeksekusi kode-kode ini.
00:11:41Saya mencoba mengatur beberapa breakpoint.
00:11:42Saya tidak pernah benar-benar sampai ke titik membuat pemicu,
00:11:45tapi bagaimanapun,
00:11:46ini memang ada.
00:11:47Mereka telah menyiapkan perangkat untuk dapat mengeksekusi kode jarak jauh di mesin Anda berdasarkan apa pun yang dikembalikan dari Honey dengan cara yang sangat,
00:11:56sangat dikaburkan.
00:11:57JavaScript dalam JavaScript ini,
00:11:59mereka punya parser JavaScript.
00:12:00Mereka punya mesin virtual JavaScript.
00:12:03Ini adalah JavaScript sungguhan di dalam JavaScript.
00:12:06Tapi mereka juga punya satu bagian yang hanya berisi semua fungsi yang dijadikan string.
00:12:11Dan ada banyak JavaScript inline yang penuh dengan cara-cara mereka menelusuri halaman dan hal-hal seperti ini.
00:12:18Tapi yang itu datang bersama produknya.
00:12:22Jadi secara teknis tidak melanggar ketentuan layanan Google yang lama.
00:12:26Karena jika Anda melihat persyaratan tambahan untuk manifest V3 bagi siapa pun yang melakukan ini,
00:12:31Anda seharusnya tidak diizinkan menggunakan JavaScript eval.
00:12:33Oke, jadi kita tidak akan melakukan itu.
00:12:34Kita tidak akan eval.
00:12:35Yang akan kita lakukan adalah hard code beberapa operasi yang tidak ingin kita ketahui oleh plugin lain.
00:12:40Dan kemudian kita akan memasukkan seluruh mesin JavaScript untuk menjalankannya guna lebih mengaburkan apa yang kita lakukan.
00:12:47Yang lucu karena V3 ini di sini,
00:12:49sepertinya dirancang khusus untuk Honey karena tertulis membangun interpreter untuk menjalankan perintah kompleks yang diambil dari sumber jarak jauh,
00:12:56bahkan jika perintah tersebut diambil sebagai data.
00:12:59Jadi mereka menghindarinya.
00:13:00Ini bukan hal-hal jarak jauh.
00:13:01Ini adalah string yang sebenarnya tersedia dalam ekstensi Honey.
00:13:05Tapi ini benar-benar pengaburan.
00:13:07Ini hal yang aneh.
00:13:09Saya pribadi tidak bisa memahami satu pun alasan mengapa ini benar-benar terjadi.
00:13:14Seperti yang saya katakan,
00:13:15rupanya ini karena interaksi dengan ekstensi lain,
00:13:17ekstensi lain yaitu pemblokir iklan.
00:13:19Rupanya pemblokir iklan mungkin memblokir iklan ekstensi Honey jika secara langsung menjalankan fungsi tertentu,
00:13:25tapi entah bagaimana melalui interpreter aneh ini,
00:13:28ia dapat menjalankan hal-hal yang menghindari deteksi.
00:13:31Saya tidak tahu, tapi sepertinya kacau sekali bagi saya.
00:13:34Dan saya merasa ini sangat,
00:13:34sangat menarik karena saya tidak pernah melakukan reverse engineering apa pun.
00:13:37Saya tidak pernah benar-benar melihat kode sumber orang lain,
00:13:39terutama kode sumber yang diminifikasi.
00:13:41Saya hanya ingin menunjukkan ini kepada kalian.
00:13:42Ini mungkin rekayasa paling tidak biasa yang pernah saya lihat dalam hidup saya.
00:13:46Saya pernah menjadi bagian dari basis kode yang panjangnya lebih dari 10 ribu baris dengan mesin state aneh dan mustahil untuk dikerjakan,
00:13:54sulit dipahami,
00:13:55tapi ini harus menjadi yang teratas.
00:13:57Ini harus menjadi alat yang paling kompleks,
00:14:00paling aneh,
00:14:00level Rube Goldberg yang pernah saya lihat.
00:14:03Tapi selain itu,
00:14:04aturan dinamis untuk melakukan hal stand down itu,
00:14:07mereka kuat.
00:14:08Apa pun tujuannya,
00:14:09apakah itu curang atau tidak,
00:14:11ini telah dirancang untuk dinamis dan dikontrol melalui JSON berdasarkan per toko,
00:14:17per penyedia,
00:14:18dan per pengguna.
00:14:19Tapi bagaimanapun,
00:14:20saya ingin memberikan terima kasih khusus kepada Magalega.
00:14:21Itu sangat keren.
00:14:22Saya sempat mengobrol dengannya.
00:14:23Dia membantu saya sedikit melihat beberapa hal.
00:14:25Jadi terima kasih banyak untuknya.
00:14:26Kalian pasti harus lihat videonya.
00:14:27Ada di deskripsi.
00:14:28Sangat bagus.
00:14:29Ada beberapa di antaranya dan saya sarankan kalian menonton semuanya.
00:14:32Sangat, sangat bagus.
00:14:33Juga, apakah kalian suka hal yang saya lakukan ini?
00:14:35Apakah kalian suka format ini?
00:14:36Saya tidak tahu.
00:14:37Ini agak baru.
00:14:38Ini hanya saya menghabiskan waktu di streaming,
00:14:40bersenang-senang,
00:14:40lalu melaporkan kembali kepada kalian.
00:14:42Jika kalian ada di streaming,
00:14:42kalian akan melihat ini terjadi secara langsung.
00:14:44Bisa jauh lebih menyenangkan bagi kalian.
00:14:45Namanya saya bukan reverse engineer,
00:14:48tapi ini sangat menyenangkan.
00:14:50Saya bisa melihat mengapa orang melakukannya.
00:14:51Sampai jumpa.
00:14:52Hei, itu HTTP ya?
00:14:55Singkirkan itu dari sini.
00:14:56Bukan begitu cara kita memesan kopi.
00:14:57Kita pesan kopi lewat SSH, terminal.shop.
00:15:00Ya, kamu mau pengalaman yang nyata?
00:15:02Kamu mau kopi yang asli?
00:15:03Kamu mau langganan keren yang bikin kamu nggak perlu ingat-ingat lagi?
00:15:06Oh,
00:15:07kamu mau campuran eksklusif dengan kopi eksklusif dan konten eksklusif?
00:15:12Kalau begitu coba CRON.
00:15:13Kamu nggak tahu SSH itu apa?
00:15:14Yah, mungkin kopinya bukan buat kamu.
00:15:18♪ Kopi terminal di tangan ♪ ♪ Hidup dalam mimpi ♪