Kisah satu retas atau jangan membuat marah programmer

gambar Saya mungkin tidak akan menulis artikel ini jika saya tidak menemukan artikel lain tentang peretas . Yang menarik perhatian saya: ini adalah penggunaan kata peretas yang sangat sepihak dan jelas salah, yang tipikal untuk pernyataan modern di media, blog, dan artikel.

Secara historis, kata peretas dan peretasan memiliki interpretasi yang jauh lebih luas. Di satu sisi, ini adalah keputusan yang cerdas dalam kode program, di sisi lain, ini adalah "peretasan" sistem dalam arti yang lebih luas: tidak hanya sistem informasi, tetapi juga sistem realitas lain di sekitar kita (dengan kata lain, dunia nyata - RL).

Tetapi bahkan jika kita berbicara tentang "peretas sistem informasi", maka kita tidak bisa tidak menyebutkan konsep seperti topi hitam dan topi putih.

Nah, sekarang, mencoba untuk memulihkan ketidakadilan terminologis tentang peretas, saya ingin berbicara tentang satu peretasan perangkat keras murni dari salah satu sistem RL.

Latar belakang


Kebetulan dalam beberapa tahun terakhir saya praktis berhenti menggunakan uang tunai. Tinggal di kota modern, semakin sedikit tempat di mana saya tidak bisa membayar dengan kartu. Sekitar satu setengah tahun yang lalu, saya mendapat kartu dengan NFC. Tetapi membawanya di saku Anda masih bodoh (saya tahu sedikit tentang bagaimana semuanya terjadi dengan pembayaran NFC ini).

Lain kali saya mengganti telepon (lebih tepatnya, smartphone), saya memilih model dengan NFC dan dengan cepat sampai di sana "BlaBla" Bayar atau cukup * Bayar (sebut saja untuk menghindari iklan yang tidak perlu). Segera, saya menjadi yakin bahwa praktis tidak ada terminal yang tersisa yang tidak dapat melakukan * NFC pada * Bayar di lingkungan sehari-hari saya. Sekali lagi, mengetahui bagaimana semuanya bekerja di tempat kerja (* Bayaran adalah sistem yang jauh lebih aman daripada kartu dengan NFC di saku Anda), saya dengan cepat mulai meninggalkan kartu bank di rumah.

Dan ini dia, masa depan teknologi modern yang cerah, ketika untuk kehidupan sehari-hari di saku Anda, Anda hanya perlu telepon! ... dan kunci-kunci apartemen.

Betapa brutalnya saya "mendarat" dalam "modernitas kuno" ketika saya sekali lagi mengunjungi toko yang agak modern dan berteknologi tinggi dan mendapati bahwa saya tidak dapat mengambil kereta grosir tanpa 5 atau 10 koin rubel. Beberapa orang bijak memutuskan untuk memotong biaya pada orang-orang selatan yang mengumpulkan gerobak di tempat parkir di sekitarnya dan seperti pria hemat kami untuk 5 atau 10 rubel yang susah payah akan membawanya ke tempat parkir umum gerobak di pintu masuk toko.

Saya sangat modern, hidup di dunia modern yang cerah, ketika saya memiliki kartu diskon dan * Bayar di ponsel saya, dan saya langsung mengambil pemindai dari kartu diskon ini di kamar, dan saya memindai produk saya sendiri, dan kemudian saya membayar dengan telepon tanpa kasir, tetapi bawa kereta di sini - bawa dan temukan koin sialan itu !!!

Saya harus mengatakan segera: Saya dalam keadaan pingsan. Reaksi pertama saya adalah mulai bersumpah dengan sangat keras. Lalu saya mencoba untuk "menembak anak babi" di pengunjung lain dari toko: ya, kami punya koin 5 rubel - uang kertas yang Anda tidak dapat benar-benar membeli apa pun, tidak ada yang akan memberi Anda begitu saja. Lalu saya berpikir - mungkin seseorang melempar troli di tempat parkir - tetapi masih belum - sesama warga kami ingin mendapatkan kembali 5/10 rubel yang mereka peroleh dengan susah payah bahkan jika mereka berada jauh untuk membawa tas berat ke mobil mereka. Kemudian saya menyadari bahwa saya masih dapat mengambil jaring (sehingga saya bisa membawanya di tangan saya) tanpa uang tunai di saku saya. Tetapi saya membutuhkan sekitar 3 grid, tetapi hanya dua tangan ... Sebenarnya itu pertama kalinya saya hanya mengurangi daftar belanja saya menjadi "hanya yang perlu" dan mengelola grid yang sama.

Dan ya, di samping itu mereka menggantung jenis alat ini:

gambar

Pertanyaan terpisah bagi saya adalah proposal untuk menukar 10 rubel dengan koin dengan 10 rubel dengan koin ... tetapi, yang paling penting, saya masih tidak begitu mengerti: di mana saya meletakkan ponsel cerdas saya dengan * Bayar ke perangkat ini?

Hussars, tetap diam!
Tidak perlu menawarkan kata dalam surat sebagai tanggapan atas "di mana harus meletakkannya" - dengan cara ini Anda masih tidak akan mendapatkan 10 rubel dari mesin.

Yah - mereka membuatku kesal.


Dan ini tidak layak dilakukan ...

Malam berlalu dengan pikiran. Jalan mereka kira-kira seperti ini:

  1. Membawa sebuah toko 5/10 rubel di saku saya - ketika saya menemukan diri saya di toko, koin-koin ini akan, seperti keberuntungan, di saku pakaian lain. Bukan pilihan.
  2. Bor lubang di koin dan pasang seperti gantungan kunci ke kunci (yah, ini sebenarnya artefak permanen kedua di saku saya) - tapi kemudian saya akan berkeliling toko dengan kunci tergantung di gerobak. Omong kosong! Tentu saja, Anda dapat menggantungnya di carabiner, tetapi bagaimanapun - tidak nyaman untuk melepaskan dan mengikat setiap kali.
  3. Buat lencana (seperti yang dari Finlandia) - pengganti koin - kembali ke opsi 1 dan 2.
  4. Penting untuk memastikan bahwa saya dapat membuka dan kemudian tidak meninggalkan apa pun di pemblokir. Yaitu memerlukan "kunci utama" untuk penerima koin dari kunci. Di sini gantungan kuncinya dapat digantung dan dilepas setiap saat tanpa perlu.

Itulah ide 4 dan saya berhenti. Hal pertama yang harus dilakukan adalah mencari tahu persis bagaimana koin diblokir dan apakah itu bisa dengan bodoh ditarik keluar dari sana ... tapi tidak, hal pertama yang saya lihat adalah aturan untuk pembeli beberapa toko di mana kunci tersebut ada di troli, dan saya tidak menemukan barang di sana yang akan dilarang untuk dimasukkan ke dalam penerima koin dari gerobak adalah sesuatu selain koin dalam denominasi 5 atau 10 rubel. Mungkin tentu saja saya terlihat sangat buruk ...

Dan sekarang memastikan bahwa secara resmi saya tidak melanggar aturan, saya mulai mengumpulkan informasi dan eksperimen.

Apakah Anda ingin mencapai hasil - menetapkan tujuan


Jadi, memilih arah, saya memutuskan untuk merumuskan persyaratan untuk "produk akhir":

  1. "Produk" harus dibuat dalam bentuk gantungan kunci untuk banyak kunci dan tidak perlu melepasnya dari banyak
  2. "Produk" harus berhasil membuka kunci keranjang
  3. "Produk" harus dilepaskan tanpa upaya apa pun dari kunci setelah membuka kunci troli
  4. (persyaratan tambahan) troli biasanya harus dikencangkan ke troli lain di "parkir" troli (dengan "produk" yang diekstraksi atau dengan yang dimasukkan).

Anda melihat tujuannya - bergerak!


Untuk memulai (melihat sedikit ke depan) saya akan mendaftar pemblokir yang saya temui dan di mana saya menguji solusi saya:

1. Pemblokir yang disebut oleh saya "Plastik" - itu benar-benar plastik dan agak tipis. Itu mengatur pengalaman pertama dalam cerita ini.



2. Kunci di bawah nama kode "Kondovy" - sudah cukup lama (saya telah melihat waktu yang lama dan berkali-kali). Itu dibuat cukup nyenyak. Dialah yang menjadi objek yang saya putuskan untuk menguji semua keputusan saya.



3. "Zhlobsky" blocker - itu ditemukan secara kebetulan selama pengujian solusi, itu mendapat namanya karena hanya dapat dibuka dengan 10 koin rubel.



Nah, arah sudah ditentukan, data primer dikumpulkan, kita mulai pergerakan


Pertama-tama, saya mengambil beberapa kartu plastik tua dan memotong “koin dengan pena” darinya. Koin 5 rubel diambil untuk spesimen. Untuk menambah ketebalan, kami menempelkan dua bagian identik yang dipotong oleh gunting dari peta (+ file finishing kecil). Ini adalah bagaimana "Skeleton Key v1.0" muncul (sayangnya tidak ada foto, tetapi di bawah ini ada foto "Skeleton Key v.2.1" yang, ketika dilipat, mengulangi "Skeleton Key v1.0").

Pengalaman pertama dengan blocker "Plastik" menunjukkan bahwa "Lock Pick v1.0" dihapus dari blocker dengan beberapa upaya. Namun, Kondovy menunjukkan karakternya - mengeluarkan "produk" saya darinya menghabiskan banyak usaha, kunci master yang rusak (itu bertingkat dan takik muncul di tepi), dan itu secara tidak sengaja robek dengan kunci jari.

Hanya para pengecut menyerah setelah kegagalan pertama


Itu penting. Dalam kedua percobaan dengan "Lock Pick v1.0", saya berhasil membuka kunci troli, serta merapat troli ke yang lain di "tempat parkir" tanpa memasukkan "kunci utama" ke dalam kunci. Ini berarti bahwa setidaknya gol No. 1, 2 dan 4 telah tercapai - dan ini sudah beberapa pencapaian.

Nah, kegagalan dengan tujuan nomor 3 hanyalah alasan untuk memikirkan kembali. Itu benar, pada malam hari yang sama ketika saya gagal dengan "Lock Pick v1.0", saya duduk dan memotong dua opsi lagi dari kartu plastik lama: "Lock Pick v.2.0" dan "Lock Pick v.2.1"

Yang pertama adalah "Skeleton Key v1.0" lagi terpaku dari dua bagian di mana luka dibuat di samping (di mana si pengganggu itu). Dengan demikian, disk yang mensimulasikan koin menerima takik.

Seperti yang ditunjukkan oleh pengalaman saya yang gagal, koin dalam kunci dipasang pada kedua sisi, sehingga pemberhentian pada koin terletak pada sudut sekitar 200 derajat.

Gagasan takik adalah takik dapat diposisikan berlawanan dengan kait koin di satu sisi, dan di sisi lain, disk yang mensimulasikan koin dapat melewati kait.
Foto "Kunci Kerangka v.2.0" utama belum dilestarikan, tetapi sedikit kemudian akan ada foto "Kunci Kerangka v.2.0.1" yang sedikit dimodifikasi.

"Kunci Kerangka v.2.1" yang kedua muncul dari asumsi bahwa kait koin entah bagaimana bisa bekerja secara salah ketika kereta tidak terkunci jika mereka tidak bersandar pada tepi koin. "Kunci utama" ini terdiri dari dua bagian, yang masing-masing mengulangi gagasan "Kunci Master v.2.0", tetapi potongan dibuat lebih dalam, dan ketika dilipat bersama kedua bagian ini membentuk garis besar "Kunci Master v1.0" - "koin dengan pegangan" yang pasti bisa membuka kunci troli (akan bodoh jika tidak menggunakan hasil tes pertama yang berhasil sebagian).

Inilah yang tampak seperti "Kunci Pick v.2.1" ketika dilipat dan dibuka:



Tes "Kunci Tengkorak v.2.0" dan "Kunci Tengkorak v.2.1" dimulai dengan pemblokir "Plastik". Hasil:

"Skeleton Key v.2.0": berhasil membuka kunci troli, namun ternyata sulit untuk dilepaskan. Setelah menempatkan slot di seberang salah satu kait koin, kunci master menempel pada badan kunci. Namun demikian, mereka berhasil mendapatkan "Skeleton Key v.2.0", namun, mengingat fakta bahwa "Skeleton Key v.1.0" telah dihapus dari blocker ini, tetapi terjebak dalam "Kondovoy", hasil tes harus dianggap tidak memuaskan.

"Master key v.2.1" juga berhasil membuka kunci troli, melepaskan bagian-bagiannya tidak memerlukan usaha apa pun dan sangat sederhana sehingga satu bagiannya sendiri jatuh dari pemblokir troli sementara saya menggulungnya dari "parkir" troli ke lantai perdagangan.

Sedikit tentang kondisi pengujian
Saya memiliki sedikit keraguan bahwa saya akan dapat menyingkirkan klaim pekerja keamanan toko dengan mengacu pada peraturan, tetapi saya tidak ingin menghubungi mereka. Dan di beberapa toko, salah satu penjaga terus-menerus memantau area "parkir" gerobak. Agar tidak menarik perhatian, saya datang dengan "kunci utama" dan koin asli (jika terjadi kegagalan tahap pertama dari uji kunci utama - membuka kunci troli) Saya mengambil troli dan, seperti semua pelanggan, pergi ke lantai perdagangan. Dan sudah ada di lantai perdagangan pengujian tahap kedua sedang berlangsung - menghapus "kunci utama" dari pemblokir.

Hanya dalam kasus kunci Zhlobsky, tidak ada yang mengendalikan kereta (baik penjaga maupun kamera yang saya lihat) dan di sana saya bereksperimen tanpa mengambil kereta dari tempat parkir, yang secara signifikan mempercepat finalisasi versi terbaru dari "produk".

Dengan demikian, pengujian "Pilihan Kunci v.2.1" hanya dapat dikenali sebagai sebagian berhasil. Selain itu, "Skeleton Key v.2.1" terdiri dari dua bagian independen dan akan sulit untuk menempatkannya sebagai kunci fob pada kunci tanpa harus menghapus satu atau dua bagian dari cincin kunci, yang tidak memenuhi persyaratan proyek No. 1.

Cahaya sudah terlihat di ujung terowongan, dan bahkan mungkin bukan kereta listrik ...


Kelemahan menghina dari versi yang cukup diterima dari "Skeleton Keys v.2.0" tidak menghentikan saya, saya menemukan pisau lipat ala-Swiss dengan gunting kecil di saku saya, dan mereka memotong pegangan dan guntingan "Skeleton Keys v.2.0" yang mengubahnya menjadi "Skeleton Key v." 2.0.1 ".

Satu panggilan lagi (saya memotong tepat di toko, tepat setelah serangkaian tes "master key v.2.x") dan voila: "Master key v.2.0.1" berhasil dihapus dari kunci Plastik tanpa usaha apa pun. Sebelum pengujian selanjutnya pada kunci "Kondovy", "Skeleton Key v.2.0.1" sedikit didoping untuk penampilan terakhirnya dengan file. Hasil dari tes yang berulang adalah kesuksesan total!

"Produk siap" - "Skeleton Key v.2.0.1":



Tujuan tercapai, tetapi apakah itu layak untuk dihentikan?


Hal pertama yang saya putuskan untuk memeriksa tambahan adalah apakah ketebalan "produk" berperan, apakah mungkin untuk membuka sandwich dari detail tanpa lem dan tanpa mencari bahan yang lebih tebal untuk pembuatan "produk".

Dan di sini tes memberikan hasil yang sangat beragam. Itu benar-benar ambigu - jenis kunci yang sama dibuka sekali, tetapi tidak pada waktu yang lain (koin cadangan disimpan dari penggalian yang tidak perlu di "parkir" troli).

Itu dia. Bagaimana cara memahami ini? Di satu sisi - yah, jika sandwich berfungsi, maka oke, tapi pertanyaannya adalah - tetapi tidak ada jawaban.

Dan di sini, secara kebetulan (saya tidak mencarinya secara khusus), saya menemukan pemblokir Zhlobsky dan kondisi untuk tes sangat ideal (tidak ada yang mengontrol "parkir" troli). Namun, di saku hanya ada "Skeleton Key v.2.0.1" dan dua bagian "Skeleton Key v.2.1", semua ini dilakukan untuk 5 rubel, well, ada pisau dengan gunting ... "Skeleton key v.2.1", "berputar dengan gerakan tangan yang mudah, bergantian "In" Lock Pick v.3.0 "- sepuluh rubel! Tapi chervonet lebih lebar dari nikel, sehingga dalam ketebalan, dilipat menjadi dua bagian, "Skeleton Keys v.3.0" tidak mencapai lebar yang diinginkan.

Pengujian diam-diam (kondisi pengujian ideal) "Kunci pilihan v.3.0" pada "Zhlobsky" - tidak jelas - akan membuka kunci setiap waktu. Terkadang itu jatuh lebih dalam.

Penerapan metode poking ilmiah (dalam hal ini, secara harfiah) memberikan kira-kira pemahaman berikut: pelat itu sendiri yang didorong oleh koin ketika membuka gerobak jelas memiliki ketebalan kurang dari koin. Dan jika Anda benar-benar tidak masuk ke dalamnya dengan "kunci master" yang sempit, maka membuka kunci tidak akan terjadi.

Sebenarnya, ini adalah jawaban untuk pertanyaan mengapa “kunci utama” yang lebih sempit membuka troli sesekali. Kesimpulan: ketebalan "kunci utama" masih layak untuk dipilih sesuai dengan ketebalan koin. Ini akan menjamin penguncian kereta yang andal pada percobaan pertama.

Bagaimana semuanya berakhir


Sebenarnya, jawaban atas pertanyaan: apa yang akan menjadi versi akhir dari "produk" saya? Diputuskan tepat setelah penemuan pemblokir Zhlobsky. Jika ada kunci yang dibuka oleh rubel ke-5 dan ke-10 dan yang dibuka hanya oleh rubel ke-10, maka harus ada "kunci pick" sepuluh-rubel di saku Anda.

Jadi, inilah desain terakhir: "Skeleton Key v3.1" - ini adalah bentuk yang mengalir dipadukan dengan pegangan elegan yang memanjang. Itu terbuat dari sandwich tiga yang terbuat dari kartu plastik, dimodifikasi oleh file dengan file.



Tes pada ketiga jenis blocker adalah 100% berhasil. Pena itu ternyata agak sempit, tetapi indah.

PS "Mengapa bukan kode sumber di GitHub-e?"

Saya tidak akan memberikan gambar yang tepat (saya tidak memilikinya - saya melakukan segalanya "dengan mata"): Anda dapat melakukan sendiri "kunci utama" sendiri: melingkari koin dan melukis potongan dan pena, memotongnya (dengan margin kecil), dipangkas dan siap . Jika Anda merekatkan dari beberapa lapisan, maka saya menyarankan Anda untuk menggiling satu blanko ke ukuran yang diinginkan (Anda dapat menggilingnya dengan koin), dan merekatkan dua blank yang lain pada sisi yang berbeda dari yang pertama dan menggiling (setelah lem telah mengering) bersama-sama, menggunakan lapisan tengah sebagai titik akhir.

Saya berharap Anda berhasil dalam meretas dan membiarkannya sesuai dengan hukum.

PPS tentang kehormatan hati nurani dan semua itu
Jika seseorang ingin memanggil saya ke hati nurani saya atau ke istilah lain yang tidak cukup jelas bagi saya, saya akan mengklarifikasi untuk Anda secara terpisah:

  1. Tujuan untuk menghilangkan kolektor malang yang malang di tempat parkir tidak berdiri di depan saya - saya biasanya mencoba mengambil troli tanpa kunci koin, bahkan jika tidak ke "parkir" troli, tetapi setidaknya ke tempat di mana lebih dekat dan lebih nyaman untuk mengumpulkan. Setelah beralih ke "kunci utama", saya membawa troli ke "tempat parkir" umum troli.
  2. "Produk" yang dihasilkan tidak dapat digunakan untuk pengayaan ilegal dengan mencuri koin dari pemblokir gerobak orang lain. Ini hanya berfungsi untuk membuka kunci gerobak.
  3. Saya sudah memperhatikan beberapa kali di toko orang-orang sama bingungnya dengan saya, pertama kali saya menemukan kunci bodoh ini di mana mereka tidak ada di sana sebelumnya. Jadi masalahnya bukan urusan saya sendiri. Selama tes saya, saya menyerahkan beberapa gerobak orang seperti itu tanpa koin di kunci.
  4. Saya tidak berpikir bahwa orang lain akan datang ke solusi yang dipublikasikan di sini. Terlebih lagi, saya yakin bahwa saya “menciptakan sepeda”: jika Anda menggunakan google dengan baik, maka Anda pasti akan menemukan lebih dari satu solusi semacam itu.
  5. Jika aturan beberapa toko dengan jelas menyatakan bahwa Anda tidak dapat mendorong apa pun kecuali 5 dan 10 koin rubel ke dalam kunci gerobak, maka Anda dapat menyuarakan toko-toko ini - saya tidak akan pergi ke sana dengan kunci master saya.

... dan secara umum: jangan mengajari saya cara hidup, dan saya tidak akan memberi tahu Anda jenis perjalanan yang perlu Anda kunjungi, tetapi membantu saya secara finansial (hanya bercanda).

Source: https://habr.com/ru/post/id475432/


All Articles