當前位置:首頁 » 編程軟體 » 混淆編譯工具安裝成功

混淆編譯工具安裝成功

發布時間: 2022-11-22 15:49:40

『壹』 python程序代碼混淆、編譯、打包、運行(桌面程序防破解向)

像Python這種解釋性的語言,要想私有化部署的同時又保護好源碼,就像是對於魚和熊掌的追求。

雖然做不到盡善盡美,但是對代碼進行混淆,增加一點破解的難度,或許能規避一些泄露的風險。

本次演示環境:linux

確保要發布的包根目錄("demo")中有__main__.py文件,這個是程序執行入口。

編譯

批量改名.pyc文件

移動.pyc文件

清理.py文件

清理__pycache__文件夾

打包成zip

運行時只要將zip文件作為參數即可

最終整合腳本

調用方式

對於在變數和函數名上的混淆有點小兒科,而對於跨文件的類名的混淆又太容易實現。

所以對於混淆程度的取捨,要視工程的規模而定。

2.1 混淆工具pyminifier

在原來的工具 pyminifier上修復了幾個bug。

安裝:

python3 安裝

或者clone下來,自行安裝

使用例子

2.2 源碼變更

不同的配置對於源碼的要求不同,以下是筆者踩過的坑。

其他混淆想法

結合混淆、編譯和打包,嘗試出以下發布腳本。

主要的思路 :創建一個工作目錄tmp,然後在此目錄下混淆、編譯python代碼,完成後把內容打包成pyc文件,再將pyc文件和其他配置文件移動到dist,發布dist即可。

混淆的目的是最大程度保護源碼,在發布到客戶端後不被輕易破解。

『貳』 幾種java反編譯軟體的安裝以及使用總結

下面是在網上找的幾種反編譯軟體的安裝以及使用:
一、JD-JUI
官網下載鏈接:http://jd.benow.ca/
下載之後解壓
點擊「jd-gui.exe」運行:
直接將".jar"文件拖入進去即可查看里邊的「.class」文件,如上圖所示。
二:Luyten
官網下載鏈接:https://github.com/deathmarine/Luyten/releases/tag/v0.5.3
點擊「luyten-0.5.3.exe」下載,下載之後點擊運行,運行後的界面如圖所示,同樣也是講「.jar」文件拖入進入即可。
三、在eclipse中安裝反編譯工具
准備工作:
「jad.exe」下載:https://varaneckas.com/jad/
「net.sf.jadclipse_3.3.0.jar」下載:https://sourceforge.net/projects/jadclipse/files/
jad.exe」下載:
「net.sf.jadclipse_3.3.0.jar」下載:
然後將「net.sf.jadclipse_3.3.0.jar」拷貝到eclipse的plugins目錄下,再刪除eclipse的configuration目錄下「org.eclipse.update」文件,這一步很重要!
重啟eclipse,點擊window->Preference->Java,你會發現里邊多了一個插件「JadClipse」,
選中這個插件,將下圖中紅圈圈的地方的地址填寫為你 「jad.exe」文件的地址
還沒有配置完,先不要close,
點擊General->Editors->File Associations 後,進入下邊的界面
設置.class 文件默認打開方式:
設置.class without source文件的默認打開方式,
需要注意的是,「JadClipse Class File Viewer」這個一開始是沒有的,需用添加,如下圖所示:
接下來在eclipse中查看反編譯後的代碼:(這種方法可能不合適,但是能夠查看)
新建一個EJB project,右鍵「import」,選中"EJB JAR file",導入你的jar包,Finish
在項目下找你要查看的反編譯的文件即可,如果你遇到了下邊的這種情況
關閉這個文件後再次打開,就可以查看了(我的是這樣,所以我感覺這個方法不太好,但別的方法又不知道怎麼查看):
有錯誤或者有更好的方法,希望大家在下邊留言指出

『叄』 如何使Linux在交叉編譯工具安裝配置並立即生效

第一、解壓你下載的ARM-LINUX-GCC交叉編譯工具
#tar xvzf arm-linux-gcc-4.3.2.tar.gz -C /
(需要注意的是,在大寫字母後面有一個空格)
第二、利用vi編輯器打開/etc/profile文件,並在下面的位置中添加一句話:pathmunge /opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/bin
(注意:該處的/opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/bin根據各人的交叉編譯工具解壓後所存放的位置而不同)
#vim /etc/profile
# Path manipulation
if [ $EUID = 0 ]; then
pathmunge /sbin
pathmunge /usr/sbin
pathmunge /usr/local/sbin
pathmunge /opt/FriendlyARM//opt/FriendlyARM/toolschain/4.4.3/binfi第三、執行下列的命令即可是剛才的配置生效
#source /etc/profile
最後你就可以檢測自己的交叉編譯環境是否安裝成功。可以輸入下面的命令來檢查:

『肆』 怎麼測eclipse反編譯工具decompiler安裝是否成功

查看步驟:
1、點擊菜單欄的「help」,選擇「Install
New
Software…」。
2、點擊彈出窗口上的
然後就可以看到已經安裝的插件了
看看有沒有你需要的反編譯插件
如果有的話就安裝成功了
如果沒有的話就沒有安裝成功

『伍』 ubuntu12.04編譯交叉編譯已經安裝,為什麼還不能編譯

安裝步驟:
1、解壓交叉編譯開發工具包
sudo
tar
xvzf
arm-linux-gcc-4.4.3.tar.gz
-C
/
解壓工具鏈到根目錄,這里的解壓目錄可以任意指定。系統中會增加目錄/opt/FriendlyARM/toolschain/4.4.3/
2、修改環境變數,把交叉編譯器的路徑加入到PATH
採用修改/etc/bash.bashrc文件的方法(還可有別的方法)
①用vim打開文件:
#sudo
vim
/etc/bash.bashrc
②在最後面新建一行加上:
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
3、立即使新的環境變數生效,不用重啟電腦:
#source
/etc/bash.bashrc
{
這是上面修改環境變數的另一種方法

$sudo
-i
輸入自己的密碼,這是進入超級用戶許可權

cd
/root/
vim
.bashrc

在最後加上
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
(路徑)(注意等號那邊不要有空格)

source
~/.bashrc
(立即生效)
(好像只能本終端,注銷一下就永遠都有這個環境變數的)
}
4、檢查是否將路徑加入到PATH
#echo
$PATH
若顯示的內容中有剛剛添加的交叉編譯器所在目錄,則證明編譯環境安裝成功。
5、測試是否安裝成功
指令:#arm-linux-gcc
-v
上面的指令會顯示arm-linux-gcc信息和版本,顯示的內容信息:
此時,證明安裝成功。
6、編譯實驗
寫個HelloWorld程序,測試交叉工具連
寫下下面的HelloWorld程序,保存為hello.c
#include
int
main()
{
printf(「HelloWorld!\n」);
return0;
}
執行下面的指令:
#arm-linux-gcc-o
hello
hello.c
要是不報錯說明安裝成功。
以上最重要的要注意的是,自己將交叉編譯工具鏈解壓到哪了,再把那個路徑加到環境變數中去。

『陸』 ubuntu12.04編譯交叉編譯已經安裝,為什麼還不能編譯

1、解壓交叉編譯開發工具包
sudo
tar
xvzf
arm-linux-gcc-4.4.3.tar.gz
-C
/
解壓工具鏈到根目錄,這里的解壓目錄可以任意指定。系統中會增加目錄/opt/FriendlyARM/toolschain/4.4.3/
2、修改環境變數,把交叉編譯器的路徑加入到PATH
採用修改/etc/bash.bashrc文件的方法(還可有別的方法)
①用vim打開文件:
#sudo
vim
/etc/bash.bashrc
②在最後面新建一行加上:
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
3、立即使新的環境變數生效,不用重啟電腦:
#source
/etc/bash.bashrc
{
這是上面修改環境變數的另一種方法

$sudo
-i
輸入自己的密碼,這是進入超級用戶許可權

cd
/root/
vim
.bashrc

在最後加上
export
PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
(路徑)(注意等號那邊不要有空格)

source
~/.bashrc
(立即生效)
(好像只能本終端,注銷一下就永遠都有這個環境變數的)
}
4、檢查是否將路徑加入到PATH
#echo
$PATH
若顯示的內容中有剛剛添加的交叉編譯器所在目錄,則證明編譯環境安裝成功。
5、測試是否安裝成功
指令:#arm-linux-gcc
-v
上面的指令會顯示arm-linux-gcc信息和版本,顯示的內容信息:
此時,證明安裝成功。
6、編譯實驗
寫個HelloWorld程序,測試交叉工具連
寫下下面的HelloWorld程序,保存為hello.c
#include
int
main()
{
printf(「HelloWorld!\n」);
return0;
}
執行下面的指令:
#arm-linux-gcc-o
hello
hello.c
要是不報錯說明安裝成功。

『柒』 javaweb項目做混淆的詳細步驟

混淆的工具很多,最常用的為retroguard.
Java 代碼編譯後生成的 .class 中包含有源代碼中的所有信息(不包括注釋),尤其是在其中保存有調試信息的時候。所以一個按照正常方式編譯的 Java .class 文件可以非常輕易地被反編譯。反編譯工具有很多種,其中非常強大的一種是 jad。
為了避免出現這種情況,保護開發者的勞動,又有一種叫做 Java 混淆器的工具被開發出來。Java 混淆器的作用是對編譯好的代碼進行混淆,使得其無法被反編譯或者反編譯後的代碼混亂難懂。Java 混淆器也有很多種,其中比較強大的一種是 RetroGuard(只說比較強大是因為我對其功效還是有些懷疑的)。

這里我介紹一下 RetroGuard 的使用方法。
將下載的 .tar.gz 或者 .zip 文件解壓。有用的只有 retroguard.jar 一個文件,其它的是源代碼和文檔。
RetroGuard 是針對 jar 文件做混淆的。使用之前需要先配置一下。可以手工編輯配置文件,更好的方法是使用 RetroGuard 提供的 GUI 工具來生成配置文件。使用方法如下:
java -classpath retroguard.jar;xxx.jar;yyy.zip;... RGgui
然後在 GUI 的 Wizard 中設置各個參數。上面的 -classpath 中應該列出要混淆的 jar 所依賴的所有的包。
RGgui 的詳細使用方法可以看 RetroGuard 的文檔 docs.html。
配置文件生成後,就可以運行 RetroGuard 進行混淆了。使用方法如下:
java -classpath xxx.jar;yyy.zip;... RetroGuard vvv-unofb.jar vvv.jar vvv.rgs vvv.log
其中 vvv-unofb.jar 是未混淆的 jar 文件,vvv.jar 是混淆後生成的 jar 文件,vvv.rgs 是配置文件,vvv.log 是日誌文件。預設的配置文件名稱為 script.rgs,預設的日誌文件名稱為 retroguard.log。

在生成配置文件時需要注意的是:
1、所有 public 的類名、方法名、變數名應該全部保留。因為所有設置為 public 的內容代表了整個包對外表現的介面。若某個內容不想為外界訪問,就不應該設置為 public 的。
2、若包中某個類使用了 java.lang.Class 或者 java.lang.ClassLoader 中的某個方法載入了一個類,若這個類在包外,不需要特別處理;若這個類在包內,則需要保留這個類的類名,否則混淆後會找不到這個類。
3、在包中的所有調試信息(源文件名、行號、變數/參數信息等等)應全部刪除。

熱點內容
app什麼情況下找不到伺服器 發布:2025-05-12 15:46:25 瀏覽:714
php跳過if 發布:2025-05-12 15:34:29 瀏覽:467
不定時演算法 發布:2025-05-12 15:30:16 瀏覽:131
c語言延時1ms程序 發布:2025-05-12 15:01:30 瀏覽:166
動物園靈長類動物配置什麼植物 發布:2025-05-12 14:49:59 瀏覽:737
wifi密碼設置什麼好 發布:2025-05-12 14:49:17 瀏覽:149
三位數乘兩位數速演算法 發布:2025-05-12 13:05:48 瀏覽:399
暴風影音緩存在哪裡 發布:2025-05-12 12:42:03 瀏覽:545
access資料庫exe 發布:2025-05-12 12:39:04 瀏覽:632
五開的配置是什麼 發布:2025-05-12 12:36:37 瀏覽:366