問題一:怎樣提取一個軟件的源代碼 想看到源代碼?我覺得不可能,不是有些嘩序不能看到,而是所有的程序通過正當(dāng)?shù)耐緩蕉疾荒芸吹皆创a,除非這個程序是你自個寫的。因為幾乎所有的程序在發(fā)布之前都會進(jìn)行加密、加殼的操作。即使你知道人家采用什么技術(shù)進(jìn)行的加密也不太可能會原樣的還原出來源代碼。所謂的破解也并不是把原程序的源代碼給還原了之后給你破解的。破解軟件也只不過是反編譯了軟件的匯編代碼而已!
成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供網(wǎng)站設(shè)計制作、成都網(wǎng)站設(shè)計、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序設(shè)計、公眾號商城、等建站開發(fā),成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。
問題二:怎樣獲取軟件的源代碼 這個問題,如果僅有EXE,是不可能獲取到源碼的。
除非你跟開發(fā)者要。
問題三:怎么從excel表格里提取源代碼? 例如表的名稱是sheet1,則在sheet1的標(biāo)簽上點右鍵,查看代碼就行
問題四:怎么才能得到一個軟件的源代碼 你好。
軟件源代碼一般來說就是軟件公司產(chǎn)品發(fā)布時間一定期限后,自己公布出來的。
當(dāng)然。使用反編譯也是可以的。不過破解工作很復(fù)雜,足夠再開發(fā)新軟件了。得不償失。
問題五:求一款網(wǎng)站源碼提取工具 20分 這種軟件是沒有的
因為要獲取整站源碼 必須獲取空間的權(quán)限
才能整站下載
否則獲取的是網(wǎng)站模板
問題六:如何用apktool提取源代碼 準(zhǔn)備的工具除了jdk還有以下內(nèi)容(在Google官網(wǎng)都有):
把a(bǔ)pktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解壓到一個盤的根目錄下(這里我選擇H盤),同時把AXMLPrinter2.jar,apktool.jar和你想解包的apk軟件也放在同一個目錄下,然后“運行--cmd”打開控制臺,輸入cd /d h : / 進(jìn)入H盤的根目錄然后輸入以下內(nèi)容(控制臺不要關(guān),為了后面方便):
其中apktool.jar是解包工具,d表示解包,memo.apk是我要解包的軟件,memo表示解包后輸出到這個文件夾,等待片刻,就會生成memo文件夾,打開里面會有res文件夾下的所有文件和AndroidManifest.xml,用記事本就可以查看了。
以上是獲得.xml文件和圖片,下面獲得里面的.java源代碼:
用winRar或者好壓打開memo.apk,截圖如下:
把里面的classes.dex文件解壓到H盤根目錄下,然后重新打開控制臺,輸入dex2jar.bat classes.dex
得到一個名為classes.dex.dex2jar.jar的文件,此時用jd-gui.exe打開classes.dex.dex2jar.jar就可以看到所有源代碼了!
如果想把反編譯好的文件變回apk文件,只要在控制臺輸入
apktool.jar b memo就可以了
其中b就是重新封包的意思,memo是你剛才解包出來的文件夾,前提是確保所有文件都在memo文件夾里??!
問題七:能不能破解一個軟件從而獲得其所有源代碼? 你是在說反編譯嗎?沒有軟件可以反編譯。只能靠人來反編譯,但十分麻煩。
問題八:.apk文件能獲取源代碼嗎? 你做的APP 為什么你不知道源碼。
在沒有做混淆處理的情況下 是可以通過程序反編譯出來的,源碼也可以得到。
做了混淆的話,就比較棘手了
問題九:為什么無法獲得軟件源代碼? 編譯型軟件的源代碼幾乎無法獲取,可以這樣子給你解釋為什么從理論上無法獲?。?/p>
源代碼需要經(jīng)過編譯之后變成一連串的0和1,這一連串的0和1打包起來,就是我們?nèi)粘Kf的可執(zhí)行文件,也就是你平時用的軟件了。
OK,你想通過可執(zhí)行文件,也就是這一連串的和0和1逆推回源代碼,這幾乎是不可能的事情,因為高級語言的源代碼和最終生成的0和1不是死死的一一對應(yīng)關(guān)系。高級語言需要先被轉(zhuǎn)為匯編語言,然后匯編語言再轉(zhuǎn)為0和1,匯編語言與0和1是一一對應(yīng)關(guān)系的,但是高級語言和匯編語言就不一定了。
即便是同樣的幾句高級語言代碼,在不同的編譯器里面,也完全有可能是完全不同的匯編代碼。而且同樣邏輯的代碼,即便是只有稍微幾個關(guān)鍵字的不同,或者是變量的不同,都會產(chǎn)生不同的匯編代碼。
所以,由二進(jìn)制的0,1可執(zhí)行文件,逆推高級語言,理論上可行,實際上不可行,因為工作量太大。類似大型軟件,好幾個G的,那是多少億行的0和1,哪怕是全世界的程序員在一起逆推,都不知道需要多少年可以完全逆向出源代碼。
那我們平時所說的逆向工程是什么呢?
OK,其實軟件是可以逆向的,但是不是說逆向出真正的源代碼,而是逆向出這個軟件的匯編代碼。但是需要注意,匯編代碼在某種程度上并不能成為這個軟件的源代碼,因為匯編代碼量極大,而且不具備良好的可讀性,一句普通的高級語言源代碼,可能就會生成好幾十條匯編代碼。所以匯編代碼量是極大的。
同時,匯編代碼幾乎是不具備有架構(gòu)性的,也就是說,即便你拿到了一個軟件的匯編代碼,你最多就是稍稍改改一些關(guān)鍵邏輯,比如說注冊邏輯(用于破解)之類的,但是你要說通過匯編代碼去改這個軟件的功能,幾乎就是不可能的事情。所以,匯編代碼是無法用于開源的,你公開出來了,別人也沒精力去看。
package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java點虐 .HttpURLConnection;
import java點虐 .URL;
public class HttpTest {
private String u;
private String encoding;
public static void main(String[] args) throws Exception {
HttpTest client = new HttpTest("", "UTF-8");
client.run();
}
public HttpTest(String u, String encoding) {
this.u = u;
this.encoding = encoding;
}
public void run() throws Exception {
URL url = new URL(u);// 根據(jù)鏈接(字符串格式),生成一個URL對象
HttpURLConnection urlConnection = (HttpURLConnection) url
.openConnection();// 打開URL
BufferedReader reader = new BufferedReader(new InputStreamReader(
urlConnection.getInputStream(), encoding));// 得到輸入流,即獲得了網(wǎng)頁的內(nèi)容
String line; // 讀取輸入流的數(shù)據(jù),并顯示
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
}
}
根據(jù)具體問題類型,進(jìn)行步驟拆解/原因原理分析/內(nèi)容拓展等。
具體步驟如下:/導(dǎo)致這種情況的原因主要是……
要看你想要找什么樣的源代碼了。
如果是依賴的第三方包,可以在開發(fā)工具中配置下載源代碼和描述文件,開發(fā)工具會自動把源代碼下載下來,方便調(diào)試和查看具體實現(xiàn)。
如果你是要找某一功能性的源代碼,那非github莫屬了,可以搜到非常多的開源代碼,然后就可以盡情的享受這些代碼的樂趣了。