當前位置:首頁 » 編程軟體 » 反編譯的共性

反編譯的共性

發布時間: 2022-04-12 00:52:16

Ⅰ 關於VB反編譯的問題

VB6以後的產品有防止反編譯的手段,所以不可能像從前那樣得到完整的工程文件,也即是說,目前不能再更改編譯過後的EXE了,除非你有源碼

Ⅱ 什麼是逆向工程什麼是反編譯可以根據已經封裝好的程序軟體進行破解分析出源代碼嗎

逆向工程就是根據已有的程序來反推出源代碼以及原來的工程設置,反編譯就是具體的將已經編譯好的程序進行反向工程,從而獲取部分源代碼。一般來說,逆向工程或者反編譯是無法百分之百獲得源代碼的,只能從一定程度上來自源代碼進行猜測,因此根據已經封裝好的程序軟體來進行破解分析出源代碼的可能性並不大,逆向工程的意義並不在於破解源代碼,而是在於了解軟體本身的設計,對於復雜的程序軟體而言破解源代碼的可能性幾乎為零。

Ⅲ 做網頁設計師好還是做程序員好呀

希望在沒人回答這個問題之前,你不僅僅只是在等人回答,也有在積極的思考。一個人在社會上珍貴的不是你懂各種技術或者能力(如編程或者設計),而是你的思考能力,能 分析、化解問題,才能所向無前。

1、程序員——編程技術
2、網頁設計師——美工(設計能力)+編程技術
3、網頁美工——設計能力

現在企業需要的應該是第二種,能夠解決綜合問題的也是第二種,如果真是找不到工作,能夠方便的自主創業的也是第二種,所以,答案明了了吧。另外如果你如果是個敏感的人,應該能感受到「圖形+程序」的結合會有多麼大的魅力可以挖掘。

藝術專業是彰顯才氣的行業,從沒有那種必須怎樣怎樣的死板,關鍵在於思變,只要想通了,就沒有什麼阻礙。這么說可能聽得有點迷糊。

下面就說一下你這種情況如何去學:

第一,用一個中國淳樸的簡單二分法來分析,設計也分為「藝術+技術」。
(1)藝術部分是我們對美感的把握,或者說鑒賞能力,也包含體會美感及其他感覺是否敏感,及是否有洞察力(洞察力不是用眼看,是用腦看)。只要夠敏感,生活中的美我們都可以吸收並且體會,這生活包括古今中外,任何我們可以接觸到的東西,接觸不一定是摸,任何方式都可以,看到、聽到、讀到,何種途徑都無所謂,這是在積累,以備在合適的時候發揮。
(2)技術部分是我們來表現美及其他各種感覺以及各種內容的能力,裡麵包含很多繁復的小事,如用筆畫圖(各類素描草稿、線稿、彩稿等等)、用計算機(各種做圖的軟體 、以及各類的電腦外設數位板、掃描儀類)等等。
是不是聽起來很頭大,不要緊,繼續向下看。

第二,上面的聽起來很麻煩,的確,不進一步分析,是很麻煩,且往下看:
針對第一裡面的(1),有點繞嘴是吧,那就默讀吧,我始終在強調「敏感」及「感覺」這兩個詞,意思是讓你敏感的去感受各種感覺,並記住什麼樣的東西(這東西可以是任何事物,或者任何事物的一部分)給你什麼樣的感覺,比如一盤番茄炒蛋,你可以去體會整道菜(整體感好不好,是完善還是支離破碎,給心理什麼感覺),也可以琢磨它的顏 色(對比可好,是否靚麗,色澤是否有食慾,給心理造成一個什麼樣的結果),也可以琢磨它的味道(是否是純正的香味,是否有放了蔥段來去除酸頭,給心理一個什麼感受) ,也可以研究它切的形狀(各種形狀給人的心裡感受不一樣,是由促進作用,還是有抵觸作用),也可以研究稱它的盤子(盤子為了內容存在,可否喧賓奪主,原因何在?是顏色有問題,還是形狀有問題),也可以研究它的營養(什麼營養什麼顏色,什麼人需要,什麼人喜愛,什麼人忌口),你也可以研究番茄蛋和盤子之間的比例(社么比例給人實惠感覺,什麼比例個人偷工減料的感覺,什麼程度可以很好的平衡達到剛剛好)等等等等,只要你有一條分析的標准,就可以找出一條分析的思路,各種感覺是可以無限的,正所謂一物一乾坤,最後只怕語言本身有界限而沒有詞彙去形容,不然是可以無限體會的。是不是看到這更頭大了,不要緊,因為還沒說怎麼不頭大,呵呵,既然你是學編程的,對「反編譯」這個詞應該不陌生,設計方面亦如此,我們同樣可以通過「反編譯」別人的優秀作品來給自己補充營養(注意:這里和什麼抄襲、模仿沒有一點關系)。比如你,要在進入網頁設計行之前,先花一個晚上來思考,這個行業中公認的「優秀」在哪裡,如果思路快的話,很容易想到韓國網頁作品在中國的風靡,有感覺嗎?別說沒感覺,好,有一點常識認識也行——行內人都在捧他們、盜用他們嗎,所以,相對來說優秀,在網路上或者書店查一下關於韓國優秀網站的收錄(網上直接可以看到真實產品,書店裡有收錄成冊的,要麼放在網頁設計書架上,要麼放在藝術設計書架上),在看過十個八個之後,是否能感受到他們的一些共性?是不是他們用的「漸變」挺多,是不是相對的設計細節較多,如果同樣能感受到,那你就有所得了,只要你在第二天的設計里,適當應用一些漸變,你的設計效果立馬就會有改觀,這招歡迎試用,無效也不退款,因為沒收款。說到這明白了嗎,我們在成功的作品之中找到了規律,到底有多少規律那,基本上應該是無限,我找了好多,貌似還沒有看到邊的時候。談到這里有點跑題哈,跑出了討論第一裡面(1)的范圍,那再回來,他們每個網站是各有個的宣傳主題,比如是育嬰網站啦、還是養老院啦等等,每種用的漸變和顏色都不同,什麼樣的漸變和顏色把網站的主題表現的淋漓盡致了哪?這又需要我們有準確的感受,那又有什麼顏色同這些顏色一樣可以表現這種感覺或那種那?至此我們有找到了一些共性,下一秒我們的這些研究成果就有可能又派上用場。如果善用這些方法,一天我們會有很多收獲,即使一天收獲一條(遠遠大於1,運用「一目記」的技巧,看到就可記,瞥一眼就知道什麼顏色,這個瞥一眼就知道顏色男生用的多),一年也很可觀,這樣我們就可以同情的看著那些腦子不好使、不思考的人在哪裡向外憋作品。
針對第一裡面的(2),用計算機對學編程的人來說就是家常便飯了,只要是計算機,無論用那種系統,基本大同小異,現在做設計用的基本就是Windows平台、Mac平台,當然你非要拿linux平台的GIMP來做圖也不是不可以,但是這樣耍個性沒人會仰慕你。軟體嗎,大多都是滑鼠、鍵盤操作,更是大同小異了,比如平面軟體,只要你會了Photoshop,其他平面軟體基本就是一馬平川了。看看軟體自帶幫助,知道基本操作,腦中要有設計的最終效果,然後用基本操作基本就搞定,網上教程適當看,見過很多為了一個小效果動用幾十次濾鏡的主,軟體是用的很拽,但那效果其實只需要用筆刷兩刷子。

第三,沒有誰是絕對的對,或者永遠的對,所有東西都在變化,一定要自己思考,也許今天我用這些方法成功了,明天你用這方法也成功了,但是後天也許這些東西就會被新的思維給淘汰,但想回來,萬變不離其宗,所以要抓住最基本的,駕馭最前衛的,一定要時刻自己的腦不離身,離了就掛了。有的人在做一個行業,有的人在研究一個專業,我們如果能始終堅持一邊研究一邊做這個行業,總會有別人所不能企及收獲。

希望以上的文字對你有所幫助,也許一時這點文字並不能幫你找到方向或者大徹大悟,但偶真切的希望這能作為一個引子,讓每個看官都能再次把我們本來就具有的東西——思考功能重拾。我是「唐僧派」設計師K,希望大家都更上層樓——「思之、思之,神鬼通之」,共勉~

Ⅳ 反編譯是違法的嗎

反編譯是違法的,反編譯是指計算機軟體反向工程( Revers e engineering )也稱為計算機軟體還原工程,是指通過對他人軟體的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的軟體產品所使用的思路、原理、結構、演算法、處理過程、運行方法等設計要素,某些特定情況下可能推導出源代碼。反編譯作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

根據《共和國著作權法》規定有下列侵權行為的,應當根據情況,承擔停止侵害、消除影響、賠禮道歉、賠償損失等民事責任:

(一)未經軟體著作權人許可,發表或者登記其軟體的;

(二)將他人軟體作為自己的軟體發表或者登記的;

(三)未經合作者許可,將與他人合作開發的軟體作為自己單獨完成的軟體發表或者登記的;

(四)在他人軟體上署名或者更改他人軟體上的署名的;

(五)未經軟體著作權人許可,修改、翻譯其軟體的;

(六)其他侵犯軟體著作權的行為。

Ⅳ 如何將java中的.class文件反編譯

安裝Java jdk後
看安裝目錄里有沒有jad.exe,沒有要下載,一般都有的
配置Java環境變數
開始-運行-cmd-回車-進入命令行窗口:
cd+空格+class文件所在路徑:
按下面的命令進行反編譯:
例如:[2] jad -sjava example.class 回車
在目錄里可以看到example.java源文件

[1] 反編譯一個class文件:jad example.class,會生成example.jad,用文本編輯器打開就是java源代碼
[2] 指定生成源代碼的後綴名:jad -sjava example.class,生成example.java
[3] 改變生成的源代碼的名稱,可以先使用-p將反編譯後的源代碼輸出到控制台窗口,然後使用重定向,輸出到文件:jad -p example.class > myexample.java
[4] 把源代碼文件輸出到指定的目錄:jad -dnewdir -sjava example.class,在newdir目錄下生成example.java
[5] 把packages目錄下的class文件全部反編譯:jad -sjava packages/*.class
[6] 把packages目錄以及子目錄下的文件全部反編譯:jad -sjava packages/**/*.class,不過你仍然會發現所有的源代碼文件被放到了同一個文件中,沒有按照class文件的包路徑建立起路徑
[7] 把packages目錄以及子目錄下的文件全部反編譯並建立和java包一致的文件夾路徑,可以使用-r命令:jad -r -sjava packages/**/*.class
[8] 當重復使用命令反編譯時,Jad會提示「whether you want to overwrite it or not」,使用-o可以強制覆蓋舊文件

[9] 還有其他的參數可以設置生成的源代碼的格式,可以輸入jad命令查看幫助,這里有個人做了簡單的翻譯:jad命令總結
[10] 當然,你會發現有些源文件頭部有些注釋信息,不用找了,jad沒有參數可以去掉它,用別的辦法吧。

Ⅵ 反編譯的准確率有多高。

不是,100%

Ⅶ Java反編譯工具的用法

反編譯得出的代碼,是JAVA文件在生成CLASS文件時,做過優化的代碼。
所以跟你的原文件不一樣(比如:注釋全沒有,中文全變成Unicode碼,字元串連接全部用StringBuffer類來代替,自動增加else語句等等)。
所以,你要是想修改反編譯出來的代碼,可以:
1、將反編譯出的代碼復制到一個新建的類文件里
2、運行這個文件
3、根據錯誤提示,進行修改
以上是,我用過的方法。

Ⅷ 為何C和C++編寫生成的可執行程序不可反編譯回源程序

因為不同的源程序經過編譯可能得到相同的可執行程序,因此如果反向操作就存在二義性了

Ⅸ 請問什麼是反編譯,原理是怎麼樣的

反編譯
高級語言源程序經過
編譯
變成可執行文件,反編譯就是逆
過程

但是通常不能把可執行文件變成高級語言
源代碼
,只能轉換成
匯編程序

計算機軟體反向工程(Reversepengineering)也稱為計算機軟體還原工程,是指通過對他人
軟體
的目標程序(可執行程序)進行「逆向分析、研究」工作,以推導出他人的
軟體產品
所使用的
思路

原理

結構

演算法
、處理過程、運行方法等設計
要素
,作為自己開發軟體時的參考,或者直接用於自己的軟體產品中。

Ⅹ 如何有效的防止Java程序被反編譯和破解

由於Java位元組碼的抽象級別較高,因此它們較容易被反編譯。下面介紹了幾種常用的方法,用於保護Java位元組碼不被反編譯。通常,這些方法不能夠絕對防止程序被反編譯,而是加大反編譯的難度而已,因為這些方法都有自己的使用環境和弱點。
1.隔離Java程序
最簡單的方法就是讓用戶不能夠訪問到Java Class程序,這種方法是最根本的方法,具體實現有多種方式。例如,開發人員可以將關鍵的Java Class放在伺服器端,客戶端通過訪問伺服器的相關介面來獲得服務,而不是直接訪問Class文件。這樣黑客就沒有辦法反編譯Class文件。目前,通過介面提供服務的標准和協議也越來越多,例如 HTTP、Web Service、RPC等。但是有很多應用都不適合這種保護方式,例如對於單機運行的程序就無法隔離Java程序。
2.對Class文件進行加密
為了防止Class文件被直接反編譯,許多開發人員將一些關鍵的Class文件進行加密,例如對注冊碼、序列號管理相關的類等。在使用這些被加密的類之前,程序首先需要對這些類進行解密,而後再將這些類裝載到JVM當中。這些類的解密可以由硬體完成,也可以使用軟體完成。
在實現時,開發人員往往通過自定義ClassLoader類來完成加密類的裝載(注意由於安全性的原因,Applet不能夠支持自定義的ClassLoader)。自定義的ClassLoader首先找到加密的類,而後進行解密,最後將解密後的類裝載到JVM當中。在這種保護方式中,自定義的ClassLoader是非常關鍵的類。由於它本身不是被加密的,因此它可能成為黑客最先攻擊的目標。如果相關的解密密鑰和演算法被攻克,那麼被加密的類也很容易被解密。
3.轉換成本地代碼
將程序轉換成本地代碼也是一種防止反編譯的有效方法。因為本地代碼往往難以被反編譯。開發人員可以選擇將整個應用程序轉換成本地代碼,也可以選擇關鍵模塊轉換。如果僅僅轉換關鍵部分模塊,Java程序在使用這些模塊時,需要使用JNI技術進行調用。當然,在使用這種技術保護Java程序的同時,也犧牲了Java的跨平台特性。對於不同的平台,我們需要維護不同版本的本地代碼,這將加重軟體支持和維護的工作。不過對於一些關鍵的模塊,有時這種方案往往是必要的。為了保證這些本地代碼不被修改和替代,通常需要對這些代碼進行數字簽名。在使用這些本地代碼之前,往往需要對這些本地代碼進行認證,確保這些代碼沒有被黑客更改。如果簽名檢查通過,則調用相關JNI方法。
4.代碼混淆
代碼混淆是對Class文件進行重新組織和處理,使得處理後的代碼與處理前代碼完成相同的功能(語義)。但是混淆後的代碼很難被反編譯,即反編譯後得出的代碼是非常難懂、晦澀的,因此反編譯人員很難得出程序的真正語義。從理論上來說,黑客如果有足夠的時間,被混淆的代碼仍然可能被破解,甚至目前有些人正在研製反混淆的工具。但是從實際情況來看,由於混淆技術的多元化發展,混淆理論的成熟,經過混淆的Java代碼還是能夠很好地防止反編譯。下面我們會詳細介紹混淆技術,因為混淆是一種保護Java程序的重要技術。

熱點內容
160android 發布:2025-05-10 03:03:30 瀏覽:176
pythonstorage 發布:2025-05-10 02:58:38 瀏覽:498
如何查看電腦配置顯卡參數 發布:2025-05-10 02:37:00 瀏覽:106
證券交易密碼在哪裡修改 發布:2025-05-10 02:31:56 瀏覽:839
javafor是什麼意思 發布:2025-05-10 02:23:09 瀏覽:842
學生雲伺服器可以搭建網站嗎 發布:2025-05-10 02:10:36 瀏覽:441
共享的文件怎麼訪問許可權 發布:2025-05-10 02:02:49 瀏覽:166
如何選生信分析伺服器 發布:2025-05-10 01:53:11 瀏覽:409
移動ip案例雲dns伺服器 發布:2025-05-10 01:51:46 瀏覽:166
俠盜飛車解壓密碼是多少 發布:2025-05-10 01:45:04 瀏覽:713