pyc文件加密防止反編譯 既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?C語言實(shí)際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。它之所以古老是因?yàn)镃語言出現(xiàn)得很早。盡管FORTRAN和COB
既然Python是用C實(shí)現(xiàn)的,那為什么Python不能直接生成exe呢?
C語言實(shí)際上是一種“舊”和“底層”語言。其執(zhí)行效率僅次于匯編語言。
它之所以古老是因?yàn)镃語言出現(xiàn)得很早。
盡管FORTRAN和COBOL比C語言出現(xiàn)得早,但現(xiàn)代主流操作系統(tǒng)(windows、Mac OS、Linux、IOS、Android、Unix)都是從C語言中誕生的。
最根本的原因是C語言被設(shè)計(jì)用來同時(shí)編寫匯編語言。從理論上講,它可以用外匯來表示。匯編語言是最有效的語言。
所以Python是用C語言編寫的也就不足為奇了。它與能否生成exe無關(guān)。
Exe文件是Windows平臺的專用格式。最簡單的exe是com可執(zhí)行文件。EXE文件實(shí)際上由引導(dǎo)加載程序和解釋器組成。
由Python語言生成的代碼只能通過引導(dǎo)加載程序和解釋器作為EXE文件執(zhí)行。
因此Python生成EXE文件并不困難。只是它是否愿意提供的問題。
使用python語言如何保密源代碼以防止逆向工程?
我以前做過這種事,那時(shí)候更嚴(yán)格了。需要打包并部署到客戶的服務(wù)只在有效期內(nèi)有效,證書必須在有效期后更新。
Python代碼不能以任何方式保密。此時(shí),您可以考慮使用一個(gè)工具“nuitka”。這個(gè)工具將把你的Python源代碼映射到C,然后將它編譯成二進(jìn)制文件,所以另一方無論如何也不能得到你的源代碼。
代價(jià)是工具nuitka不是完美的。有些限制不能完美地轉(zhuǎn)換所有Python代碼。
python寫的程序,轉(zhuǎn)成了exe文件,怎么進(jìn)行反編譯為python源碼?
您可以解開執(zhí)行文件。
如果它位于單個(gè)目錄中,則可以在臨時(shí)文件中找到它。在Untied目錄中找到PyC文件,然后使用反編譯工具將PyC反編譯成py文件。但有些程序是加密的。他們的PyC是在重寫python編譯器之后的自定義加密格式,這不能用通常的方式解決。你需要在內(nèi)存中反編譯。內(nèi)存中的反編譯技術(shù)還沒有被公開,但它應(yīng)該并不困難。如果您感興趣,可以嘗試根據(jù)Python規(guī)范編寫一個(gè)。
用Python2.7.1寫的小程序可以反編譯得到它的源代碼嗎?
http://depython.com/index.php
2、 https://github.com/eduble/pyc2py
3、 http://tool.lu/pyc/
但是,第一個(gè)似乎只適用于Python2.0-2.6,第二個(gè)適用于Python2.6,第三個(gè)應(yīng)該能夠反編譯2.7。你可以全部試試。
Python老師說Python是編程里最簡單的還是兩眼一抹黑咋辦?
慢慢學(xué)習(xí)這個(gè)程序!如果你剛開始學(xué)習(xí),就是這樣。其實(shí),你在學(xué)習(xí)程序的初期什么都不懂,你要學(xué)會模仿。你模仿得越多,你就越了解。
到了后面,就可以轉(zhuǎn)身依次學(xué)習(xí),這樣可以事半功倍!在早期,我們只需要完成老師說的話,然后花更多的時(shí)間去模仿和學(xué)習(xí),在后期,我們可以逆向?qū)W習(xí)。這很好,效果很明顯。