Seorang teman saya mengunduh beberapa malware dari Facebook, dan I'm penasaran untuk melihat apa yang dilakukannya tanpa menginfeksi diri sendiri. Saya tahu bahwa anda dapat't benar-benar menguraikan an .exe, tapi setidaknya aku bisa melihat itu di Majelis atau melampirkan debugger?
Edit untuk mengatakan tidak .NET executable, tidak ada CLI header.
Dengan debugger anda dapat melangkah melalui program perakitan secara interaktif.
Dengan disassembler, anda dapat melihat program perakitan secara lebih detail.
Dengan decompiler, anda dapat mengubah program kembali ke sebagian source code, dengan asumsi anda tahu apa itu tertulis dalam (yang dapat anda temukan dengan alat gratis seperti PEiD - jika program ini dikemas, anda'll harus membongkar terlebih dahulu ATAU Mendeteksi-itu-Mudah jika anda dapat't menemukan PEiD di mana saja. MATI memiliki komunitas pengembang yang kuat pada github saat ini).
Beberapa alat-alat terkait yang mungkin datang berguna dalam apa pun yang anda're lakukan adalah sumber editor seperti ResourceHacker (gratis) dan hex editor seperti Hex Workshop (komersial).
Selain itu, jika anda melakukan analisis perangkat lunak perusak (atau menggunakan SICE), dengan segenap hati saya menyarankan untuk menjalankan segala sesuatu di dalam mesin virtual, yaitu VMware Workstation. Dalam kasus SICE, itu akan melindungi anda sebenarnya sistem dari BSODs, dan dalam kasus malware, itu akan melindungi anda sebenarnya sistem dari sasaran program. Anda dapat membaca tentang malware analisis dengan VMware di sini.
Secara pribadi, saya roll dengan Olly, WinDbg & W32Dasm, dan beberapa yang lebih kecil alat utilitas.
Juga, ingat bahwa pembongkaran atau bahkan debugging orang lain's software biasanya terhadap EULA di sangat paling tidak :)
psoul's sangat baik posting jawaban untuk pertanyaan anda, jadi saya tidak't meniru pekerjaan yang baik, tapi saya merasa itu'd membantu untuk menjelaskan mengapa hal ini sekaligus sah tapi juga sangat pertanyaan konyol. Setelah semua, ini adalah tempat untuk belajar, kan?
Program komputer Modern yang diproduksi melalui serangkaian konversi, dimulai dengan input yang dapat dibaca manusia tubuh dari teks instruksi (disebut "source code") dan berakhir dengan sebuah komputer yang dapat dibaca oleh tubuh dari petunjuk (atau disebut "biner" atau "kode mesin").
Cara agar komputer berjalan satu set mesin kode petunjuk pada akhirnya sangat sederhana. Setiap tindakan prosesor dapat mengambil (misalnya, membaca dari memori, tambahkan dua nilai) diwakili dengan kode angka. Jika saya mengatakan kepada anda bahwa nomor 1 berarti berteriak dan nomor 2 berarti tertawa, dan kemudian mengangkat kartu dengan 1 atau 2 pada mereka mengharapkan anda untuk berteriak atau tertawa dengan demikian, saya akan menggunakan apa yang pada dasarnya sama dengan sistem yang menggunakan komputer untuk beroperasi.
File biner adalah salah satu set kode-kode (biasanya menyebutnya "op kode") dan informasi ("argumen-argumen") yang op kode bertindak.
Sekarang, bahasa assembly adalah bahasa komputer dimana setiap kata perintah dalam bahasa yang mewakili tepat satu op-code pada prosesor. Ada yang langsung 1:1 terjemahan antara bahasa assembly perintah dan prosesor op-code. Ini adalah mengapa coding perakitan untuk x386 prosesor yang berbeda dari coding assembly untuk prosesor ARM.
Pembongkaran hanya ini: program membaca melalui biner (kode mesin), mengganti op-kode dengan mereka yang setara dengan bahasa assembly perintah, dan output hasil sebagai file teks. It's penting untuk memahami hal ini; jika komputer anda dapat membaca biner, maka anda bisa membaca biner juga, baik secara manual dengan op-code tabel di tangan anda (ick) atau melalui disassembler.
Pengurai memiliki beberapa trik baru, tapi itu's penting untuk memahami bahwa disassembler pada akhirnya adalah sebuah pencarian dan mengganti mekanisme. Itulah sebabnya mengapa setiap EULA yang melarang hal ini pada akhirnya meniup udara panas. Anda dapat't sekaligus memungkinkan komputer membaca data program dan juga melarang komputer membaca data program.
(Don't get me wrong, telah ada upaya untuk melakukannya. Mereka bekerja serta DRM pada file lagu.)
Namun, ada peringatan untuk pembongkaran pendekatan. Nama-nama variabel yang tidak ada; hal seperti itu doesn't ada untuk CPU anda. Perpustakaan panggilan yang membingungkan seperti neraka dan sering memerlukan pembongkaran lebih lanjut binari. Dan perakitan sulit sekali untuk dibaca dalam kondisi terbaik.
Kebanyakan programmer profesional dapat't duduk dan membaca bahasa assembly tanpa sakit kepala. Untuk amatir it's tidak akan terjadi.
Anyway, ini adalah agak dipoles-atas penjelasannya, tapi saya harap ini membantu. Semua orang dapat merasa bebas untuk mengoreksi salah saji pada bagian saya; itu's been a while. ;)
Jika anda hanya mencoba untuk mencari tahu apa yang malware tidak, itu mungkin akan jauh lebih mudah untuk menjalankannya di bawah sesuatu seperti gratis alat Proses Monitor yang akan melaporkan setiap kali ia mencoba untuk mengakses file sistem, registry, pelabuhan, dll...
Juga, dengan menggunakan mesin virtual seperti gratis VMWare server ini sangat bermanfaat untuk pekerjaan semacam ini. Anda dapat membuat "bersih" gambar, dan kemudian hanya pergi kembali ke bahwa setiap kali anda menjalankan malware.
Apa yang anda inginkan adalah sebuah jenis perangkat lunak yang disebut "Disassembler".
Google cepat panen ini: http://www.geocities.com/~sangcho/disasm.html
Anda mungkin mendapatkan beberapa informasi yang melihat hal itu di majelis, tapi saya pikir hal yang termudah untuk dilakukan adalah menjalankan mesin virtual dan melihat apa yang dilakukannya. Pastikan anda tidak membuka saham atau sesuatu seperti itu bahwa itu dapat melompat melalui sekalipun ;)
Saya dapat't percaya tidak ada yang mengatakan apa-apa tentang Immunity Debugger, namun.
Immunity Debugger adalah alat yang ampuh untuk menulis eksploitasi, menganalisis malware, dan reverse engineering file biner. Awalnya berbasis di Ollydbg 1.0 source code, tapi dengan nama resoution bug tetap. Ini telah didukung Python API untuk memudahkan diperpanjang, sehingga anda dapat menulis skrip python untuk membantu anda keluar pada analisis.
Juga, ada's merupakan salah satu yang baik Peter dari Corelan tulis tim yang disebut mona.py, excelent alat btw.
Jika anda tidak punya waktu, mengirimkan malware ke cwsandbox:
http://jon.oberheide.org/blog/2008/01/15/detecting-and-evading-cwsandbox/
HTH
I'd mengatakan di 2019, Ghidra (https://ghidra-sre.org/) adalah senilai check-out. It's open source (gratis), dan telah fenomenal kode analisis kemampuan, termasuk kemampuan untuk menguraikan semua jalan kembali ke cukup mudah dibaca C code.
The explorer suite dapat melakukan apa yang anda inginkan.