導航:首頁 > 源碼編譯 > python反編譯研究及應用

python反編譯研究及應用

發布時間:2024-04-17 10:45:05

python一般可以用來干什麼呢

Python實際上是一種編程語言,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智慧,Web開發等。

1989年聖誕節,阿姆斯特丹,為了度過無聊的聖誕節,年輕人Guido決定開發一種新的編程語言。 Python(Boa Constrictor)的名字是因為他是Monty Python喜劇小組的粉絲。你看,技術是如此隨意...

㈡ 反編譯是什麼意思

計算機軟體反向工程(Reverse engineering)也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(比如可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,

某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

(2)python反編譯研究及應用擴展閱讀

反編譯是一個復雜的過程,反編譯軟體有:

1、SWF相關的反編譯程序

Action Script Viewer

第一個也是最強大的商業SWF反編譯工具,同類產品中,它的AS代碼反編譯效果最好,SWF轉Fla工程重建成功率最高。

2、Android相關的反編譯程序

SMALI/BAKSMAL

SMALI/BAKSMALI是一個強大的apk文件編輯工具,用於Dalvik虛擬機(Google公司自己設計用於Android平台的虛擬機)來反編譯和回編譯classes.dex。其語法是一種寬松式的Jasmin/dedexer語法,而且它實現了.dex格式所有功能(註解,調試信息,線路信息等)。

3、Python相關的反編譯程序

uncompyle2

uncompyle2可以直接轉化為十分完美的python源碼,並可以將反編譯後的源碼再次生成位元組碼文件。

參考資料來源:網路-反向編譯

㈢ python-uncompyle反編譯

python的編譯後文尺蔽件pyc,可以將pyc文件反編譯為py文件。

相應的工具: uncompyle

github地址: https://github.com/rocky/python-uncompyle6/

安裝: pip install uncompyle

安裝好後,注碰困衫意執行的命令為 uncompyle6 ,而不是 uncompyle 。

查看幫助命令:笑腔 uncompyle6 --help 、 uncompyle6 -h

反編譯單個文件 : uncompyle6 foo.pyc > foo.py

反編譯多個文件: uncompyle6 -o . *.pyc

例子:

㈣ python寫的程序,轉成了exe文件,怎麼進行反編譯為python源碼

1、電腦桌面,輸入「win+R」組合鍵,在彈出窗口中輸入「cmd」,點擊確定。

㈤ 問一下,如何用python的decompile批量反編譯pyc 是批量

先將需要反編譯pyc,放在指定的路徑下,然後os.system.pat一個for 循環就可以批量編譯了。

>>> import os
>>> file_list=[]
>>>loc_path='/hadoop/hadoop/'
>>> file_list=os.listdir(loc_path)
>>> for f in file_list:
執行反編譯

㈥ Python灰帽子:黑客與逆向工程師的Python編程之道的前 言

「搞定了嗎?」,這可能是在Immunity公司出現頻率最高的一句話了。你也許會在類似以下的場景中聽到這樣的發問:「我正要給Immunity Debugger開發一個新的ELF載入器」,片刻停頓之後,「搞定了嗎?」或者,「我剛發現了IE瀏覽器的一個Bug!」又一片刻的沉寂之後,「那個漏洞利用程序搞定了嗎?」在日常的安全項目中我們幾乎無時無刻地須要創建或者改寫自己的安全工具,並在這些頻繁的活動中始終保持高速的開發節奏,這使得Python逐漸成為了這個舞台上的明星。你可以在下一個安全項目中選擇Python作為自己的開發工具,也許你將會用它來創建一個特殊的反編譯器或者開發一個完整的調試器。
當我走進位於南邁阿密海灘的Ace Hardware(美國的一家連鎖五金店),沿著擺放著螺絲刀的通道走過時,常常會感到目眩。你會看到接近50多種不同規格的螺絲刀以整齊的順序陳列在貨架上。每一種規格的螺絲刀都與緊鄰的螺絲刀有著微小卻又十分重要的區別。我不是一個合格的修理能手,因此無法准確地說出每一種螺絲刀最為理想的使用場合,但是我很確信類似的情況同樣適用於我們的安全工具軟體。尤其是當你在對Web類型或者其他類型的高度定製化的應用程序進行安全審計時,你會發現每一次的審計任務都會需要一把特殊的「螺絲刀」來解決問題。要知道能夠及時地拼湊出一些類似SQL API函數鉤子之類的安全小工具已經不止一次地拯救了Immunity的工作團隊。當然這些工具並不僅僅適用於安全審計任務,一旦你能夠使用鉤子函數對SQL API進行攔截,你就可以輕易地編寫出一個工具用於實時檢測可疑的異常SQL查詢,並及時向你的客戶公司提供修復方案,以抵禦那些來自頑固黑客們的攻擊。
眾所周知,要讓你的每一個安全研究人員真正成為團隊的一部分是一件棘手的事情。很多安全研究人員無論在面對何種類型的問題時,都懷揣著白手起家式的過度熱情,企圖將需要藉助的工具庫完全重寫。比如說Immunity發現了某個SSL Daemon的一個安全漏洞,接下來很有可能發生的一件事就是,你突然發現你的某個安全研究人員居然正在試圖從頭開始編寫一個SSL客戶端。而他們對此通常給出的解釋是「我能找到的SSL庫都醜陋不堪」。
你需要盡力避免這種情況發生。事實情況並不是現有的SSL庫醜陋不堪——它只是沒有按照某個安全研究人員的特別偏好風格來設計而已。而我們真正需要做的是能夠深入分析大量的現有代碼,快速地發現問題所在,並對其進行修改以適應自身所需,這才是及時地搭建出一個可用的SSL庫,並用其開發出一個尚處於保鮮期內的漏洞利用程序的關鍵。而要做到這一點,你需要使你的安全研究員們能夠像一個真正的團隊一樣去工作。一個熟練掌握了Python的安全研究人員就有了一個強大的武器,也許就像那些掌握了Ruby的安全研究人員一樣。然而Python真正的與眾不同之處顯現在那些Python狂熱分子們協同工作時,他們將猶如一個高速運轉的超個體①一樣戰鬥力驚人。正如你家廚房中的螞蟻大軍一樣,當它們的數量足夠組成一隻大烏賊時,要殺死它們將比殺死一隻烏賊棘手得多。而這正是本書極力告訴你的一個事實。
你也許已經為自己想做的事找到了一些工具。你也許會問:「我已經有了一套Visual Studio,裡面附帶了一個調試器,為什麼還要去編寫一個供自己專用的調試器。」或者「WinDbg不是有一個插件介面了嗎?」答案是肯定的。WinDbg的確提供了插件介面,你可以通過那些API慢慢地拼湊出一些有用的東西。直到某一天你很可能又會說:「Heck,如果我能和5000個WinDbg使用者互聯該有多好啊,這樣我們就可以互通各自的調試結果了」。如果你從一開始就選擇了Python,你只要寫 100 行左右的代碼就可以構建一個XML-RPC客戶端與服務端,接下來整個團隊可以同步地進行工作並使每個人及時地享有他人的成果和信息。
黑客絕不等同於逆向工程——你的目標並不是還原出整個應用程序的源碼。你的目標是對軟體系統獲得比系統開發者自身更加深入的理解。一旦你能做到這一點,無論目標以何種形式出現,你將最終成功地滲透它,獲得炙手可熱的漏洞利用(exploit)。這也意味著你需要成為可視化、遠程同步、圖論、線性方程求解、靜態分析技術以及其他很多方面的專家。因此,Immunity決定將這些都標准化實現在Python平台上,這樣一旦我們編寫了一個圖論演算法,這個演算法將在我們所有的工具中通用。
在第6章中,Justin向你演示了如何使用一個鉤子竊取Firefox瀏覽器中輸入的用戶名與密碼。這正是一個惡意軟體作者所做的事——從之前的一些相關報道中可以看出,惡意軟體作者通常使用一些更為高級語言來編寫此類程序。然而你同樣可以使用Python在15分鍾內編寫出一個樣常式序,用於向你的開發人員演示,讓他們明白他們對自己的產品所做的安全假設並不成立。現在的一些軟體公司出於他們所聲稱的安全考慮,在保護軟體內部數據方面的投資花費不菲。而實際上他們所做的往往只是實現了一些版權保護和數字版權管理機制而已。
這正是本書試圖教你的東西:快速創建安全工具的能力。你應當能夠藉助這種能力為你個人或者整個團隊帶來成功。而這也是安全工具開發的未來:快速實現、快速修改,以及快速互聯。我想,最後你唯一剩下的問題也許就是:「搞定了嗎?」
Immunity Ine的創始人兼CTO Dave Aitel
2009年2月於美國佛羅里達州,邁阿密海灘
致 謝
我想藉此機會感謝我的家人,對於他們在撰寫本書過程中所表現出來的理解和支持。感謝我的四個可愛的孩子:Emily、Carter、Cohen和Brady,是你們給了爸爸完成此書的理由,我為擁有你們而感到無比幸福。我還要為我的姐姐和兄弟們在這個過程中所給予的鼓勵說一聲謝謝,你們自己都曾經歷過著書立作的嚴苛和艱辛,擁有你們這些對技術作品出版感同身受的人真是受益匪淺——我愛你們。我還想對我的爸爸說,你的幽默感幫助我度過了那些難以執筆為繼的日子——我愛你,老爸,不要停止讓你周圍的人發出笑聲。
多虧了一路上眾多優秀的安全研究人員的幫助才使得本書得以羽翼漸豐,他們是:Jared DeMott、Pedram Amini、Cody Pierce、Thomas Heller(傳說中的無敵Python男)以及Charlie Miller——我欠你們大夥一個大大的感謝。至於Immunity團隊,毫無疑問,你們一直以來大度地支持著我來撰寫此書,正是得益於你們的幫助,我不僅僅成長為一個Python小子,同時更成為了一名真正的開發人員和安全技術研究者。Nico和Dami,抽出了額外的時間來幫助我解決問題,對此表示不勝感激。Dave Aitel,我的技術編輯,始終驅使著本書的進度直至完成,並確保本書的邏輯性與可讀性,在此致以莫大的感謝。對於另一個Dave, Dave Falloon,非常感謝你為我校閱此書,對於那些讓我自己都哭笑不得的錯誤,對於你在CanSecWest大會上拯救了本人的筆記本電腦的英雄行徑,以及你巫師一般神奇的網路知識,都令我印象深刻。
最後,是那些總是被放在最後感謝的傢伙們——No Starch出版團隊。Tyler與我經歷了本書的整個出版過程(相信我,Tyler將是你遇到的最有耐心的傢伙),Bill將鼓勵聲連同那個可愛的印有Perl小抄的咖啡杯贈予了我。Megan在本書創作的尾聲階段為我減輕了眾多的麻煩,還有其他為出版本書而工作在幕後的團隊成員——謝謝你們!。我對你們為我所做的每一件事充滿感激。現在這篇致謝詞的篇幅快要跟格萊美的獲獎感言有一拼了,最後再次說一聲感謝給所有那些幫助過我,卻可能被我忘記提及的朋友們——你們清楚自己之於本書的意義。
Justin Seitz

㈦ 有什麼工具可以將python編譯好的代碼.pyc反編譯為.py

depython是用來反編譯經過python編譯的後綴名為pyc或pyo的位元組碼文件的.
如果你找不到你寫的python源代碼,depython可以幫助你通過pyc/pyo文件來找回這些源代碼。
經depython反編譯得出的python源代碼,和你原來的代碼文件幾乎完全一樣。
http://www.depython.net/?lang=zh

閱讀全文

與python反編譯研究及應用相關的資料

熱點內容
單片機中三位數碼管原件 瀏覽:140
pdf可以刪除其中一頁 瀏覽:216
清dns緩存的命令 瀏覽:103
免費pdf在線轉換 瀏覽:768
堆貨演算法 瀏覽:878
vsc編譯vc程序 瀏覽:197
centos55命令 瀏覽:709
美國干編程有什麼條件 瀏覽:505
阿里雲伺服器遠程鏈接 瀏覽:251
墨鏡慧眼怎麼下載廠商的app 瀏覽:62
iphone加密專線 瀏覽:492
aes產生加密文件 瀏覽:416
編程實現藍牙通信 瀏覽:769
怎麼恢復掉簽的app 瀏覽:849
伺服器部署ip地址 瀏覽:323
涉密場所周邊安全防護距離演算法 瀏覽:674
安卓fpse模擬器怎麼設置加速 瀏覽:948
建行app怎麼生成電子簽章 瀏覽:510
獲取當前時間javadate 瀏覽:75
帶密碼的wifi如何加密 瀏覽:239