最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python反編譯的兩種實(shí)現(xiàn)方式

 更新時(shí)間:2024年06月21日 09:34:46   作者:偶爾敲代碼  
這篇文章主要介紹了Python反編譯的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python反編譯兩種方式

以前聽(tīng)說(shuō)py編譯的程序不安全,容易被反。這兩天刮臺(tái)風(fēng)了,閑著也是閑著,自己也跟著搗鼓了一番。

為了不給別人帶來(lái)不好的影響,我編譯我自己寫(xiě)的代碼來(lái)做測(cè)試,代碼頭部如下圖,引用了幾個(gè)常見(jiàn)庫(kù):

.

用pyinstaller進(jìn)行完整打包:

pyinstaller -F g.py

.

打包結(jié)束,在dist目錄得到目標(biāo)程序g.exe:

.

接下來(lái)用兩種方式進(jìn)行反編譯:

一、pyinstxtractor+uncompyle6方式

將pyinstxtractor.py和目標(biāo)exe放在同一個(gè)目錄

.

在目錄進(jìn)入命令行窗口,輸入命令:

python pyinstxtractor.py g.exe

.

會(huì)在當(dāng)前目錄生成一個(gè)目標(biāo)_extracted 的文件夾,里面有一大堆文件,其中有一個(gè)與目標(biāo)exe同名的pyc文件,我這邊就是g.pyc。

安裝uncompyle6庫(kù),按以下命令安裝:

pip install uncompyle6

將pyc文件反編譯為py文件:

在第2步的目標(biāo)_extracted 文件夾進(jìn)入命令行窗口,輸入以下命令,后面的.py文件名隨意:

uncompyle6 g.pyc>g.py

.

回車(chē)后在當(dāng)前目錄生成對(duì)應(yīng)的py文件:

.

打開(kāi)瞧一瞧,和源文件對(duì)比一下,頭部多了一些uncompyle6的信息,其余的和源文件一毛一樣。

.

二、pycdc方式

前面還是同上面的方式,得到pyc文件(步驟2);

將pycdc.exe和pyc文件放同一目錄,進(jìn)入命令行窗口,輸入以下命令:

pycdc.exe g.pyc > g.txt

反編譯結(jié)果被輸出到g.txt中,當(dāng)然后綴也可以改成.py啥的。

.

對(duì)比結(jié)果,這種方式好像代碼都變成純文本了,除了一些換行會(huì)錯(cuò)亂,其他的還原度還是極好的。

.

總結(jié)

以上只是最基本的兩種反編譯Python打包的exe方式,也都順利拿到我們想要的py源碼。

實(shí)際反編譯的時(shí)候,可能會(huì)遇到很多情況,比如加密、magic頭變化、依賴庫(kù)、py版本等問(wèn)題,只能相應(yīng)的再去找解決辦法,見(jiàn)招拆招了。

當(dāng)然,網(wǎng)上還有很多方法,比如pyi-archive_viewer提取pyc文件,但大體思路都是exe > pyc > py。

這些僅為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 利用Python實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的示例代碼

    利用Python實(shí)現(xiàn)簡(jiǎn)易計(jì)算器的示例代碼

    最近學(xué)習(xí)了字符串,運(yùn)算符,條件語(yǔ)句,循環(huán)語(yǔ)句,我在想可以用我最近學(xué)的東西做什么? 看到運(yùn)算我就想到了可以做一個(gè)簡(jiǎn)易的計(jì)算器,感興趣的可以了解一下
    2022-11-11
  • Pandas實(shí)現(xiàn)數(shù)據(jù)拼接的操作方法詳解

    Pandas實(shí)現(xiàn)數(shù)據(jù)拼接的操作方法詳解

    Python處理大規(guī)模數(shù)據(jù)集的時(shí)候經(jīng)常需要使用到合并、鏈接的方式進(jìn)行數(shù)據(jù)集的整合,本文為大家主要介紹了.merge()、?.join()?和?.concat()?三種方法,感興趣的可以了解一下
    2022-04-04
  • Python實(shí)現(xiàn)電視里的5毛特效實(shí)例代碼詳解

    Python實(shí)現(xiàn)電視里的5毛特效實(shí)例代碼詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)了電視里的5毛特效,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼

    詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼

    這篇文章主要介紹了詳解Python中@staticmethod和@classmethod區(qū)別及使用示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)子彈與碰撞處理篇

    Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)子彈與碰撞處理篇

    相信大多數(shù)8090后都玩過(guò)太空射擊游戲,在過(guò)去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來(lái)自己動(dòng)手實(shí)現(xiàn)它,在編寫(xiě)學(xué)習(xí)中回顧過(guò)往展望未來(lái),下面開(kāi)始講解子彈與碰撞處理,在本課中,我們將添加玩家與敵人之間的碰撞,以及添加供玩家射擊的子彈
    2022-08-08
  • python垃圾回收機(jī)制(GC)原理解析

    python垃圾回收機(jī)制(GC)原理解析

    這篇文章主要介紹了python垃圾回收機(jī)制(GC)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • 用Python做一個(gè)久坐提醒小助手的示例代碼

    用Python做一個(gè)久坐提醒小助手的示例代碼

    這篇文章主要介紹了用Python做一個(gè)久坐提醒小助手的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • django的ORM模型的實(shí)現(xiàn)原理

    django的ORM模型的實(shí)現(xiàn)原理

    這篇文章主要介紹了django的ORM模型的實(shí)現(xiàn)原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • Python使用jsonpath_ng的方法

    Python使用jsonpath_ng的方法

    json path_ng 是 Python 中一款解析和操作 JSON 數(shù)據(jù)的工具,它可以通過(guò) JSONPath 語(yǔ)法來(lái)對(duì) JSON 數(shù)據(jù)進(jìn)行定位和提取,其用法類似于 XPath 語(yǔ)法對(duì) XML 數(shù)據(jù)進(jìn)行定位,這篇文章主要介紹了Python使用jsonpath_ng的方法,需要的朋友可以參考下
    2023-12-12
  • Python利用socket實(shí)現(xiàn)多進(jìn)程的端口掃描器

    Python利用socket實(shí)現(xiàn)多進(jìn)程的端口掃描器

    作為開(kāi)發(fā)人員經(jīng)常需要查看服務(wù)的端口開(kāi)啟狀態(tài)判斷服務(wù)是否宕機(jī)。特別是部署的服務(wù)比較多的情況下,可能存在幾個(gè)甚至幾十個(gè)服務(wù)端口的占用。所以本文將利用socket實(shí)現(xiàn)多進(jìn)程的端口掃描器,需要的可以參考一下
    2022-12-12

最新評(píng)論

剑川县| 交城县| 广汉市| 禄丰县| 武胜县| 荔浦县| 宁都县| 乌兰县| 安阳市| 抚顺县| 神农架林区| 南丰县| 巨鹿县| 西贡区| 佛山市| 鲁甸县| 新竹市| 介休市| 天水市| 都匀市| 尼玛县| 无棣县| 陆丰市| 马边| 璧山县| 同德县| 黄龙县| 鄂托克旗| 麻城市| 红河县| 河曲县| 永康市| 海林市| 广西| 休宁县| 洪湖市| 新巴尔虎左旗| 湾仔区| 株洲市| 文山县| 万宁市|