你想要修改源代碼,首先你要拿到源代碼。
如果你拿不到,那對於iOS來說就不用想了(反編譯也就能到二進制文件,如果你感興趣也可以嘗試修改二進制文件),你是無法修改的。
對於Android,可以將apk反編譯回代碼,但是Android開發者基本都會在發布之前採取一些防反編譯的措施(比如代碼混淆),所以你可以想像拿到的代碼的可讀性…
反編譯和修改這種行為極有可能構成侵權,請尊重每個開發者,不論出於學習目的還是其他目的
Ⅱ 如何用Qt調用matlab生成的動態庫
動態庫的生成
1>首先生成目標文件,但是此時要加編譯器選項-fpic和鏈接器選項-shared,
gcc -fpic -c add.c
gcc -fpic -c sub.c
生成中間文件add.o和sub.o
2>其次生成動態庫
gcc -shared –o libtiger.so add.o sub.o
生成動態庫libtiger.so,libtiger.so就是我們生成的目標動態庫。我們以後使用動態庫和main.c程序生成可執行程序
說明:
以上兩部也可以合成一步搞定:
gcc -fpic -shared add.c sub.c -o libtiger.so
2.使用動態鏈接庫
在編譯程序時,使用動態鏈接庫和靜態庫是一致的,使用」-l庫名」的方式,在生成可執行文件的時候會鏈接庫文件。
1>使用命令:
gcc -o main main.c -L ./ -ltiger
2>-L指定動態鏈接庫的路勁,-ldtiger鏈接庫函數tiger。-ltiger是動態庫的調用規則。linux系統下的動態庫命名方式是lib*.so,而在鏈接時表示位-l*,*是自己命名的庫名。
3>但是程序會提示如下錯誤
error while loading shared libraries: libtiger.so: cannot open shared object file: No such file or direct
這是因為程序運行時沒有找到動態鏈接庫造成的。程序編譯時鏈接動態庫和運行時使用動態鏈接庫的概念是不同的,在運行時,程序鏈接的動態鏈接庫需要在系統目錄下才行。
4>使用以下方法可以解決此問題
a. 在linux下最方便的解決方案是拷貝libtiger.so到絕對目錄 /lib 下(但是,要是超級用戶才可以,因此要使用sudo哦,親)。就可以生成可執行程序了
b.第二種方法是:將動態鏈接庫的目錄放到程序搜索路徑中,可以將庫的路徑加到環境變數LD_LIBRARY_PATH中實現:
export LD_LIBRARY_PATH=`pwd`:$LD_LIBRARY_PATH
Ⅲ 我在qt下面編程,需要用到用到第三方的庫文件,但是qt編譯的時候老說打不開文件,請教原因
應該是lib文件路徑不對,你用Qt Creator的右鍵菜單「添加庫」試試
Ⅳ 用Qt框架寫的軟體怎麼反編譯
修改替換"framework-res.apk"後導致無法進入系統,或者無限開機重啟的,基本都是在編譯跟反編譯上出了問題!! 首先要完成構建java環境 要想美化,必須先認真看懂下面的每一步, ①framework-res.apk是不可以重簽名的
Ⅳ 怎麼用QT反編譯exe文件
可以使用打包工具 Enigma Virtual Box 把需要的dll與exe打包生成一個exe 可以使用靜態編譯(QT的這個比較麻煩,我沒用過) 不要使用QT平台,直接使用VS平台開發
Ⅵ 在linux中編譯QT2的庫時,當要重新編譯時是否要刪除什麼
傳統上來說不需要。
不過實際上看情況。因為這裡面其實牽扯很多東西。
最好的選擇是整個源代碼目錄刪了重新解壓縮重新配置。
不過現在還有人用
QT2
?
QT4.5
貌似延期到下半年了,
QT4.4
已經發布很久了吧?
Ⅶ 跪求:怎麼把 QT 所依賴的庫也編譯進自己的 DLL
用c++的靜態編譯,如果沒有qt的靜態庫,還得先把qt的靜態庫編譯出來
Ⅷ Qt下如何編譯庫
一般分為動態庫和靜態庫,方法分別如下:
一.
靜態庫的生成
1.
測試目錄:
lib
2.
源碼文件名:
mywindow.h,
mywindow.cpp
3.
編寫項目文件:
mywindow.pro
注意兩點:
TEMPLATE
=
lib
CONFIG
+=
staticlib
4.
生成Makefile:
qmake
mywindow.pro
5.
編譯生成靜態庫libmywindow.a
make
二.
靜態庫的使用
1.
測試目錄:
test
2.
將mywindow.h與libmywindow.a拷貝至test目錄下
3.
編寫main.cpp,
包含頭文件mywindow.h,
並調用MyWindow類
4.
編寫項目文件:
test.pro
注意加上庫路徑與庫文件名:
LIBS
+=
-L
./
-lmywindow
5.
生成Makefile:
qmake
test.pro
6.
編譯:
make
7.
運行:
./test
三.
動態庫的生成
動態庫編譯基本和靜態庫類似,需要將上述將要進行編譯的項目文件.pro中下面這行去掉
CONFIG
+=
staticlib
按上述操作編譯完後就可以得到以lib開頭並且.so*
結尾動態庫文件,一般有多個。
Ⅸ Qt如何實現靜態編譯與動態編譯共存
通常不需要在系統變數中加入Qt庫的位置的。Qt Creator可以自動掃描到系統中存在的Qt庫版本,如果掃描不到,可以通過Creator的 Tool->Options->Qt4中添加靜態庫的路徑。而QDevelop雖然沒有那麼智能,但是可以手動指定INCLUDE和LIB的位置。或許,這根本就不是一個問題。如果懷念動態庫,或者在產品發布之前並不想體驗靜態編譯那種蝸牛爬一般的速度,可以在pro文件中指定CONFIG += shared,而且,要記得在Project中選擇相應的版本。
Ⅹ QT的程序能反編譯嗎
Qt除了用moc擴展了C++以外其他都和C++沒區別,編譯出來的機器代碼只能轉成匯編語言