Bolehkah golang didecompiled?

青灯夜游
Lepaskan: 2022-12-28 11:14:14
asal
6143 orang telah melayarinya

golang tidak boleh dikompilasi. Sebab: Golang ialah bahasa statik yang disusun akan menghasilkan fail binari selepas penyusunan, dan fail binari ialah fail yang mengandungi arahan data atau program yang ditulis dalam ASCII dan aksara ASCII yang dilanjutkan.

Bolehkah golang didecompiled?

Persekitaran pengendalian tutorial ini: sistem Windows 7, GO versi 1.18, komputer Dell G3.

golang tidak menyokong penyahkompilasi.

Sebab:

Bahasa Go ialah bahasa statik yang disusun, jadi sebelum menjalankan atur cara bahasa Go, ia mesti disusun menjadi dokumen boleh laku binari.

Golang akan menjana fail binari selepas penyusunan, dan fail binari ialah fail yang mengandungi data atau arahan program yang ditulis dalam ASCII dan aksara ASCII lanjutan Fail ini mengandungi format khas dan kod komputer, jadi ia tidak boleh dinyahkompilasi.

Faedah Fail Binari

Mengapa menggunakan fail binari. Mungkin terdapat tiga sebab:

Yang pertama ialah fail binari menjimatkan ruang, dan tiada perbezaan antara keduanya apabila menyimpan data aksara. Walau bagaimanapun, apabila menyimpan nombor, terutamanya nombor nyata, binari lebih menjimatkan ruang Contohnya, menyimpan data Sebenar*4: 3.1415927, fail teks memerlukan 9 bait, dan masing-masing menyimpan: 3. 1 4 1 5 9 2 7 9 ini. Nilai ASCII, manakala fail binari hanya memerlukan 4 bait (DB 0F 49 40)

Sebab kedua ialah data yang terlibat dalam pengiraan dalam ingatan disimpan dalam format binari tidak berformat, oleh itu, gunakan Simpanan binari ke fail adalah lebih pantas. Jika disimpan sebagai fail teks, proses penukaran diperlukan. Apabila jumlah data adalah besar, akan terdapat perbezaan kelajuan yang ketara antara kedua-duanya.

Ketiga, untuk sesetengah data yang agak tepat, menggunakan storan binari tidak akan menyebabkan kehilangan bit yang sah.

Cara menyimpan fail binari

Senaraikan fail binari seperti berikut:

00000000h:0F 01 00 00 0F 03 00 00 12 53 21 45 58 62 35 34; .........S!EXb54
00000010h:41 42 43 44 45 46 47 48 49 47 4B 4C 4D 4E 4F 50; ABCDEFGHIGKLMNOP
Salin selepas log masuk

Yang disenaraikan di sini dilihat dalam UltraEdit (UE) kepada sesuatu. Malah, hanya bahagian merah adalah kandungan fail. Yang sebelumnya ialah nombor baris yang ditambah oleh UE. Yang berikut ialah rujukan yang cuba ditafsirkan oleh UE sebagai watak.

Fail ini berukuran 32 bait. Dipaparkan sebagai dua lajur 16 bait setiap satu. Sebenarnya, ini hanyalah paparan UE. Fail sebenar tidak mempunyai baris yang berasingan. Hanya mengetahui kandungan fail ini, jika kami tidak mempunyai sebarang penjelasan, kami tidak dapat melihat sebarang maklumat yang berguna.

Saya akan menetapkan penjelasan di bawah: Kami percaya bahawa 4 bait pertama ialah data integer 4-bait (0F 01 00 00 perenambelasan: 10Fh perpuluhan: 271). 4 bait selepas 4 bait ini ialah 4 bait lagi data integer (0F 03 00 00 heksadesimal: 30Fh perpuluhan: 783). 4 bait berikut (12 53 21 45) mewakili data sebenar 4 bait: 2.5811919E+3. 4 bait berikut (58 62 35 34) mewakili 4 bait lagi data pelaksanaan: 1.6892716E-7. Dan hanya 16 bait terakhir (41 42 43 44 45 46 47 48 49 47 4B 4C 4D 4E 4F 50) yang kami anggap sebagai rentetan 16 bait (ABCDEFGHIGKLMNOP)

Sebenarnya, fail binari data tanpa menyatakan jenis data Contohnya, bait ke-9 hingga bait ke-16 di atas (12 53 21 45 58 62 35 34), kami hanya fikir ia adalah dua jenis sebenar 4-bait, tetapi ia sebenarnya boleh Dianggap sebagai satu Jenis aksara 8-bait (S!EXb54). Rentetan 16-bait berikut (ABCDEFGHIGKLMNOP) juga boleh dianggap sebagai dua integer 8-bait, atau empat integer 4-bait, atau bahkan dua jenis sebenar 8-bait, dan empat jenis sebenar 4-bait, dsb.

Oleh itu, apabila berhadapan dengan fail binari, kita tidak dapat mengetahui dengan tepat maksudnya. Kami memerlukan penerangan tentang kaedah penyimpanan datanya. Perihalan ini memberitahu kami jenis data dari bait mana ke bait mana dan apakah maksud data yang disimpan. Jika tidak, kita hanya boleh meneka atau tidak berdaya.

[Cadangan berkaitan: Pergi tutorial video, Pengajaran pengaturcaraan]

Atas ialah kandungan terperinci Bolehkah golang didecompiled?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan