Saya selalu bertanya-tanya bagaimana Anda menemukan API tanpa dokumen / pribadi ?
Contohnya Apple tanpa dokumen / API pribadi, Play Station , Windows Phone 7 , Win32 Kernel , Windows API , panggilan balik tersembunyi , dll ...
Alat apa yang digunakan peretas untuk mencari tahu tentang fungsi pribadi dan tidak terdokumentasi?
Di mana saya bisa membaca tentang pengalaman orang-orang yang menggali API pribadi dan membalikkan teknik rekayasa yang mengungkapkan rahasia yang biasanya dijelaskan dalam dokumentasi API?
terima kasih,
A
Alat normal yang Anda gunakan untuk mengembangkan perangkat lunak :)
Biasanya fungsi-fungsi API tidak terdokumentasi hanya itu, rahasia-rahasia tidak terdokumentasi , dan tidak benar-benar tersembunyi.
Mendesain API bukti di masa depan sulit - Anda dapat dengan mudah menambahkan hal-hal ke dalam API, tetapi sangat sulit untuk menghapus apa pun (tanpa menghancurkan beberapa klien). Jadi, Anda sangat berhati-hati saat menambahkan sesuatu ke API. Itu sebabnya mungkin ada beberapa fungsi tambahan (untuk pengujian, dalam pengembangan, peretasan cepat?) Di API, yang tidak didokumentasikan dan tanpa jaminan bekerja atau berada di sana di versi berikutnya.
Fungsi-fungsi tidak berdokumen ini dapat ditemukan dengan agak mudah, mengingat Anda tahu bagaimana kompiler, tautan, pustaka, dan debugger berfungsi (hal-hal pemrograman sistem). Mengetahui bahasa assembly dari arsitektur target tidak ada salahnya. Jika IDE / kompiler Anda dapat membangun executable yang berfungsi, Anda dapat melakukannya "secara manual" juga, dan dengan tetap membuka mata di jalur itu Anda mungkin menemukan beberapa fitur tersembunyi :)
Contoh dalam lingkungan Unix: Skenario di mana kita memiliki dokumentasi hanya untuk fungsi printf dan ingin tahu apakah ada beberapa fungsi seperti printf lainnya . Kereta pikiran mungkin seperti:
1. Periksa file header
2. Periksa perpustakaan
3. Bongkar fungsi perpustakaan
Atau semacam itu...
sumber
disclaimer: Saya suka jawaban ChrisF. Itu tidak meninggalkan beberapa pendekatan, saya pikir. Jika ditempatkan di komentar untuk menjawab bagaimana mereka tercakup, saya akan menghapus jawaban saya.
Itu mungkin semacam jatuh di bawah dekompilasi:
Menemukan API tidak berdokumen lainnya juga dapat melalui debugging alat yang disediakan vendor yang melakukan apa yang Anda inginkan dan melacak panggilan antar perpustakaan. Dengan cara ini, Anda dapat mengetahui jenis data apa yang dikirim ke mana.
Alat "kustom" lainnya kemudian dapat ditulis untuk bermain dengan API tidak berdokumen ini menggunakan python dan CTYPES atau ruby dengan versi sesuatu yang serupa sampai Anda mengetahui persis apa yang dilakukannya atau mengelabui crash. Topik ini dibahas secara mendalam oleh Aaron Portnoy di: http://pentest.cryptocity.net/reverse-engineering/ dan beberapa pembicaraan lainnya di konferensi (Saya ingat dia berbicara tentang hal itu secara langsung di sebuah pembicaraan di Brasil ). Ini terkait dengan RE, tapi saya tidak berpikir itu hanya RE biasa saja. Catatan: video di pentest.cryptocity.net bukan hanya topik ini. Mereka menutupi area lain secara lebih mendalam, ini baru disentuh. Saya pikir karena seringkali sesuatu yang penguji jaga sebagai "langkah-langkah pasti akan memberikan rahasia kita".
Terima kasih telah membaca umpan balik apa pun yang dihargai.
sunting: satu alat yang terbukti bermanfaat untuk ini di sisi windows dibahas minimal di sini: http://breakingcode.wordpress.com/2010/08/24/winappdbg-1-4-is-out/
panggilan pembajakan untuk java tebal klien untuk mengaburkan layanan jaringan kustom dicakup di sini: http://www.securitytube.net/JavaSnoop-Bagaimana- untuk-hack-semua-ditulis-dalam-Java-video.aspx
yang terakhir hanya relevan minimal, tetapi bisa membuktikan relevan ke mana si penanya akhirnya pergi. menggunakan API yang tidak Anda miliki untuk melakukan ... apa pun.
sumber
Peretasan terdengar sangat romantis, spionase industri, kebocoran, suap, pencurian, dan keberuntungan tidak. Saya tidak akan menghitungnya.
sumber