軟體社源碼
Ⅰ 怎麼查看軟體源代碼
問題一:怎樣查看別人做的軟體的源代碼(高手進) 無論你學什麼都不可能得到真正的源代碼的,原因很簡單,絕大多數的exe或者dll都是用高級語言諸如C/C++/delphi之類開發的,經過開發環境的編譯得到計算機能夠執行的二進制機器碼文件exe,這個過程是通常是不可轉逆的,但是這個過程稱之為反匯編或者反編譯,也就是說你可以用一些軟體(比如W32Da *** 等等)將exe之類進行反編譯,得到匯編語言的代碼,這種代碼雖然可能執行結果與原軟體相同,但已經與源代碼完全不同了。因此絕大多數的軟體破解工作,都是基於反匯編的調試工具上進行的,比如ollydbg或者softice等等。
當然有些特例的,比如/java/vb等等開發的exe,是有可能用一些專用軟體看到部分源代碼的。
問題二:如何查看軟體的源代碼 30分 額 你想多了..... 現在軟體都是生成的 也就說源代碼都被加密過了。除非作者把源碼發出來,不然是看不到的。 當然有些牛逼的黑客能反編譯,但人家的反編譯軟體都當傳家寶一樣收著,不會公布出來的!!!!
問題三:怎麼可以查看一個軟體的源代碼 前觸是你會編程,懂得代碼流程和代碼函數的用途
你在編寫個程序(反射),將軟體源代碼讀出來,就能知道它用了哪些函數,用了哪些方法,怎樣調用的
這樣你就不是知道了它是怎麼寫的,不過編寫反射程序蠻麻煩,現在我還在研究當中
一般軟體漏洞 可以用這個方法檢查出來,進行報復和修復。。。。現在的游戲外掛,就是利用這個原理編寫出來的
問題四:如何查看已編寫好的軟體的源代碼? 除非是未編譯的軟體源代碼,平常你看到的雙擊直接安裝的軟體是經過打包(或者加殼)處理過的。所以你能看到的最多也只是經過反匯編工具解碼出來的匯編代碼,需要很高的匯編知識才能看懂。而且如果軟體加殼了,這個解殼的過程也挺復雜。所以建議你搜一下那個軟體的源碼,如果沒有就沒有辦法了~!
問題五:怎樣查看一個軟體的源代碼? 一般情況下是不可能矗(除非公開源代碼的),一般軟體肯定都有加密措施,不然的話,就不會告微軟壟斷、要求微軟公開源代碼了!
公開源代碼的話,我想用vc++一般都可以看吧。自己的觀點,希望能夠拋磚引玉
問題六:怎樣在安卓設備上查看軟體源代碼 安卓設備是無法查看軟體源代碼的。每一個在手機安裝的app,都是經過嚴格的加密和數字簽名發布的應用程序,想要看到源代碼必須破解加密,不過這幾乎不可能。
一些簡單的應用程序還是可以反編譯工具,查看到源代碼的。
問題七:怎麼查看可執行程序的源代碼 有沒有什麼工具? 只能進行反編譯,你看到也也是一些匯編編碼,想看源碼根本就沒有可能。
滿意請採納
問題八:怎麼查看一個應用程序的源代碼。 不能,唯一的方法就是反匯編,但是反匯編對匯編語言的要求很高,而且效率極低!如果這么容易知道源碼,那麼那些靠寫程序吃飯人飯碗早就掉了!還是問你朋友要源碼吧~要不然自己寫一個...
問題九:游戲軟體怎麼查看源代碼? 呵呵 ,源代碼自然看不到了,比如java編寫的游戲代碼發布後都是.class的文件,你如果能成功找到這些文件的話,下載一個java的反編譯器,把這個文件載入進去就可以看到源代碼了!其他語言編寫的代碼,我還真不會弄了!
問題十:怎麼查看一個exe程序的源代碼 有很多反編譯軟體但是 目前的那些效率比較低下,而且不是什麼樣的exe程序都可以反編譯的要看編碼的語言你可以去網路一下eXeScope(下載地址 onlinedown/soft/9594)這個工具你可以試試 祝你好運~
Ⅱ 開放源代碼軟體如何生存的
開放源碼軟體《open-source》是一個新名詞,它被定義為描述其源碼可以被公眾使用的軟體,並且此軟體的使用,修改和分發也不受許可證的限制。開放源碼軟體主要被散布在全世界的編程者隊伍所開發,但是同時一些大學,政府機構承包商,協會和商業公司也開發它。開放源碼軟體在歷史上曾經與UNIX,Internet聯系的非常緊密。在這些系統中許多不同的硬體需要支持,而且源碼分發是實現交叉平台可移植性的唯一實際可行的辦法。在DOS,Windows,Macintosh平台上僅僅有很少的用戶有可用的編譯器,開放源碼軟體更加不普遍。對開放源碼開發模式的更詳細的討論請看Eric Raymond寫的「The Cathedral and the Bazaar」。使用Open-Source的優點
降低風險:擁有源代碼使顧客們可以控制那些他們的業務所賴以生存的工具。當一個open-source產品的開發者提高價格,增加了難以接收的限制,或者使用了一些使顧客不滿意的方法,另一個不同的組織將使用該源代碼開始開發新的產品以解決原來機構的問題。顧客也能自己維護或找別人改進它以達到自己的要求。顧客控制軟體,這在傳統私有軟體模式下是聞所未聞的事情。即使是一些財大氣粗的顧客喊裂大也可能緩解由於傳統軟體商自己內部的問題而導致嚴重的金融危機或公司被別的公司收購的風險。
質量:一些研究已經顯示了open-source軟體與別的可比商業軟體具有可靠性上的極大優勢。更加有效的開發模式,更多的獨立同行對代碼和設計的雙重審查,以及大部分作者對自己作品的極大榮譽感,都對其優良的質量有所貢獻。一些公司甚至給予發現Bug者以物質獎勵。
透明度:私有軟體有很多「陰暗的死角」,隱藏著許多Bug。源碼對於查錯和理解產品工作原理來說是很重要的。在大的軟體公司,只有極少數人能接觸到源碼,而這些能接觸源碼的人通常用戶都無法直接接觸。能接觸源碼對於修補安全漏洞來說,也是非常重要的。
正確的特性:一些開放源碼的產品--包括上面列舉的一些產品--是如此成功,以至於其商業競爭者無法存活。
剪裁:開放源碼給用戶極大自由,使他們能夠按照自己的業務需求定製軟體。大型組織能從即使很小的定製行為中削減大量開支和人力成本。用戶的挑錯和改進反過來對標准開放源碼軟體包也是個貢獻。這在傳統的私有軟體開發中是不可能得到的。
有利的版權許可和價格:定義為開放源碼使得軟體在版權許可方面比私有軟體具有更大的靈活性。這可以大大削減更多安裝帶來的花費和時間,對那些采購過程費時費力的機構更加有利。它也能給用戶安裝軟體以更大的自由度。
什麼時候不使用開放源碼軟體
錯誤的特性:如果一個開放源碼產品不能很好地滿足一個組織的需求,而另外的一個私有軟體卻可以,並且得到一個滿足特性的私有軟體的成本比再開發修改一個開放源碼產品的成本高的話,最好不使用開放源碼軟體。但參考上面的「剪裁」。
支持: 一些open-source軟體傳統的付費支持和電話支持。事實上,無論怎樣,這都沒有一個既沒有源代碼且無支持的產品嚴重。請看支持和open source軟體一節。
錯誤的平台:大部分open-source軟體主要是支持UNIX和linux系統的,有時也支持Windows NT。另一些平台,例如大型機,對於移植開放源碼軟體是個巨大挑戰。移植軟體從UNIX到Windows NT上要付出很大代價。然而。開放源碼的優點幾乎可以使平台轉換顯得更劃算。
缺乏技術人員:安裝open-source軟體有時需要一些更多的技術經驗,例如,可以配置或編譯源代碼的能力。有源代碼的優點在一些沒有軟體開發專家的公司被降低了。open-source的定製也要求有配置管理經驗。無論如何源嫌,那些充分具有上述技術能力的任何組織都會很好地享受open-source的優點。
惰性:如果現存的所有系統都被很好的支持並完成,就沒有必要去改變它們。然而,時常的去檢討這個決定是很重要,因為新技術經常會使它們變得過時。
值得鄭豎懷疑的避免open-source軟體的原因
這些論據常被作為避免使用open-source軟體的借口,但是通常經不起推敲。
---對未知的恐懼。
正如你在上面的「open-source軟體的例子」一節所看到的,許多的組織已經嚴重的依賴open-source軟體,不管他們的決策者是否意識到這一點。這個問題由於open-source開發者宣傳和使用市場的增加,以及更多的擁護者的出現變得比較容易解決。
---在購買商業軟體包上我們已經擁有巨大的投資。
這僅僅是「必然花費謬誤」的一種形式。軟體許可證,好像為寫字樓付的租金,是一些消費,但不是投資。如果別的產品能很好的以較低的成本實現你的組織的需要,那麼過去把錢花費在低級的軟體上對
決策不應該產生影響。記住,你可能面臨嚴重的政治上的反對,它來自於那些選擇了贊成使用昂貴的,低級的產品,而不願意承認他們的錯誤的守舊者。同時,考慮到它們可能被再次擴展,在訓練職員和相關基礎設施上的投資是完全合理的。
---如果出了問題,我們需要有人負責。
盡管理論上這聽起來很合理,但如果我們一開始就使用可信賴的軟體產品,遠比在遭受經濟損失之後才去控告軟體供應商要好的多。幾乎所有的主要軟體公司都利用最終用戶許可證的支持來解決一些由於他們軟體的問題而帶來的可能要負責的困擾。Microsoft和IBM公司有著龐大的,一流的法律職員,使得顧客的控訴不可能成功。在將來法律可能會越來越偏向軟體供應商。
open-source和軟體技術支持
商業支持和同幾乎是那些正在使用open-source軟體的公司最關心的問題了。付費支持是正當的問題,但是這對於open-source產品通常是可用的,而且一般都過高估計了它的重要性。
---許多主要的open-source產品都有可用的技術支持合同。
例如,Red Hat 和Caldera公司對他們銷售的linux有電話支持。Cygnus,Collective 和許多小的顧問公司靠支持和增強open-source軟體,生意也做的不錯。而且越來越多的open-source軟體在保持其開放源碼狀態的同時,也獲得了大量商業維護和支持。
---電子郵件和Usenet新聞支持時非常有效的。
幾乎所有開發open-source軟體的組織都提供免費的電子郵件支持,提供郵件列表和Usenet新聞組。這些機制比電話支持更加實際有效。在一個有許多軟體供應商所支持的調查中,「Linux用戶協會」在1997年獲得「最好的技術支持獎」,同時也暴露了許多對傳統的軟體開發商的服務質量的大量不滿意見。
---對傳統商業軟體的支持經常是有限的並且是低質量的。
例如Microsoft公司僅僅提供了為它的所有產品僅僅提供了一個技術支持電話號碼:900。許多市場商業銷售支持人員把注意力集中在幫助初學者上手上,無法回答使用手冊上沒有包括的問題。許多軟體公司認為傳統的電話支持是很昂貴的代價,而因此消減它,這就導致了質量下降。
Netscape的發展趨勢
一個著名的計算機工業雜志報道Netscape是「受大量免費和共享軟體許可的啟發」。事實上,Netscape正在與許多著名的UNIX自由軟體開發者互通信息,現在看起來已經非常接近BSD和GPL許可證了。Nescape Public License和GPL有所不同,它使得Nescape對源碼的開發和商標上有更多的控制。
Netscape的棄子戰術是很聰明的。首先,瀏覽器的銷售在Netscape的業務中已經只佔很少一部分了。瀏覽器的開放源碼狀態不會對它有太大的沖擊,另外有些想要正式技術支持的買家仍然願意付錢。第二,它真正按照某個開放源碼的許可證發放,從而完全改變了Microsoft免費派送Explorer造成的被動局面。這將有助於提高Nescape瀏覽器的市場份額。最後,Netscape的立場從開放源碼社群中獲得了友誼,信任度和潛在的巨大革新。Netscape的未來還不能讓人放心,尤其是在NT的Web伺服器上;但它為採用的勇敢的、戲劇性的許可證政策不會帶來任何損失。
Ⅲ 軟體公司都是如何防止源碼泄露的
基本上靠自覺,畢竟開發人員如果不接觸代碼那還開發個啥。既然接觸到了代碼,泄密不泄密就是自己選擇的事情了,遠程伺服器代碼不能FTP下來我就復制粘貼回來,不讓復制粘貼我就截圖下來,不讓截圖我就拍照,不讓拍照我就手抄,根本不可能杜絕。
有的公司會用一些保密軟體,基本上就是說開辟一個保密盤空間作為所有開發人員的地盤,可以拷出去,這個空間裡面所有數據的流出都會被加密,你再拷回來又給解密了。
也有公司直接用IBM全套系統,開發測試機所有文件傳輸共享服務關閉只留telnet,無外網,軟體下載不能,只有自帶的vi,連vim都沒有,遠程登錄過去撐死你一次就看到30行,整個機器上百兆源代碼都是碼農們一個字一個字打上去的,機器上滿地都是大家寫的各式各樣開發shell腳本...同事外派出去幹活看到別的碼農用花花綠綠大屏幕分屏IDE神馬的敲代碼就嘩嘩淌哈喇子
Ⅳ 游戲軟體怎麼查看源代碼
源代碼是看不成的,因為游戲軟體打包好做成app的話,是沒法看源碼的,雖然存在一些特殊情況下,我們可以推測出exe程序是用什麼程序寫的。但是多數情況下,我們是無法只根據一個exe程序就判斷出來的。
根據exe程序我們是無法直接得到程序的源碼的。雖然也有一些用於逆向工程的辦法,但那不可能把已經是exe的程序反回到它原始的源碼情況。而且這些工具都很難用。你可以用「反編譯」搜到很多工具,但是說實話,即便是這方面的專家,要看懂反編譯以後的程序也不是一件輕松的事情。
Ⅳ 什麼是軟體源代碼
軟體著作權源代碼是指受到軟體著作權保護且未編譯的按照一定的程序設計語言規范書寫的文本文件。但不延及開發軟體所用的思想、處理過程、操作方法或者數學概念等。
【法律依據】
《計算機軟體保護條例》第二條
本條例所稱計算機軟體(以下簡稱軟體),是指計算機程序及其有關文檔。
第三條
本條例下列用語的含義:
(一)計算機程序,是指為了得到某種結果而可以由計算機等具有信息處理能力的裝置執行的代碼化指令序列,或者可以被自動轉換成代碼化指令序列的符號化指令序列或者符號化語句序列。同一計算機程序的源程序和目標程序為同一作品。
(二)文檔,是指用來描述程序的內容、組成、設計、功能規格、開發情況、測試結果及使用方法的文字資料和圖表等,如程序設計說明書、流程圖、用戶手冊等。
第六條
本條例對軟體著作權的保護不延及開發軟體所用的思想、處理過程、操作方法或者數學概念等。
Ⅵ 怎樣查看一個軟體的源代碼
對於現在的軟體來說,源代碼是最基礎的部分,得到了源代碼也就幾乎得到了軟體的全部。源代碼對於商業性質的軟體來說是極其重要的,一旦泄露就會造成非常大的損失,所以源代碼是一個軟體開發團隊的最高機密。
正因如此,很多人出於不同目的,會想辦法得到軟體的源代碼,但是我們知道,軟體的最終產品一般是已經編譯過的文件,就像我們初學C語言時生成的 exe 文件一樣,是一些二進制符,不能直接查看源碼。
想要查看一個軟體的源代碼,首先要確定這個軟體的開發者是否已經將其開源,如果開源的話就不必大費周章地去反編譯了,直接去開源社區里就會發現該軟體的源碼,開發者一般也會提供源碼的下載鏈接。
如果軟體不開源,那就要進行反編譯了,查看大多數軟體的源碼都需要用到這個方法,即使反編譯了,看到的源代碼也是非常混亂的,因為為了保護源碼,開發者在編譯前都會進行混淆,目的就是即使有人反編譯成功,也無法看懂代碼里的邏輯,這也是保護源碼的最後一道防線。
Ⅶ 怎麼提取軟體源碼
問題一:怎樣提取一個軟體的源代碼 想看到源代碼?我覺得不可能,不是有些嘩序不能看到,而是所有的程序通過正當的途徑都不能看到源代碼,除非這個程序是你自個寫的。因為幾乎所有的程序在發布之前都會進行加密、加殼的操作。即使你知道人家採用什麼技術進行的加密也不太可能會原樣的還原出來源代碼。所謂的破解也並不是把原程序的源代碼給還原了之後給你破解的。破解軟體也只不過是反編譯了軟體的匯編代碼而已!
問題二:怎樣獲取軟體的源代碼 這個問題,如果僅有EXE,是不可能獲取到源碼的。
除非你跟開發者要。
問題三:怎麼從excel表格里提取源代碼? 例如表的名稱是sheet1,則在sheet1的標簽上點右鍵,查看代碼就行
問題四:怎麼才能得到一個軟體的源代碼 你好。
軟體源代碼一般來說就是軟體公司產品發布時間一定期限後,自己公布出來的。
當然。使用反編譯也是可以的。不過破解工作很復雜,足夠再開發新軟體了。得不償失。
問題五:求一款網站源碼提取工具 20分 這種軟體是沒有的
因為要獲取整站源碼 必須獲取空間的許可權
才能整站下載
否則獲取的是網站模板
問題六:如何用apktool提取源代碼 准備的工具除了jdk還有以下內容(在Google官網都有):
把apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解壓到一個盤的根目錄下(這里我選擇H盤),同時把AXMLPrinter2.jar,apktool.jar和你想解包的apk軟體也放在同一個目錄下,然後「運行--cmd」打開控制台,輸入cd /d h : / 進入H盤的根目錄然後輸入以下內容(控制台不要關,為了後面方便):
其中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 為什麼你不知道源碼。
在沒有做混淆處理的情況下 是可以通過程序反編譯出來的,源碼也可以得到。
做了混淆的話,就比較棘手了
問題九:為什麼無法獲得軟體源代碼? 編譯型軟體的源代碼幾乎無法獲取,可以這樣子給你解釋為什麼從理論上無法獲取:
源代碼需要經過編譯之後變成一連串的0和1,這一連串的0和1打包起來,就是我們日常所說的可執行文件,也就是你平時用的軟體了。
OK,你想通過可執行文件,也就是這一連串的和0和1逆推回源代碼,這幾乎是不可能的事情,因為高級語言的源代碼和最終生成的0和1不是死死的一一對應關系。高級語言需要先被轉為匯編語言,然後匯編語言再轉為0和1,匯編語言與0和1是一一對應關系的,但是高級語言和匯編語言就不一定了。
即便是同樣的幾句高級語言代碼,在不同的編譯器裡面,也完全有可能是完全不同的匯編代碼。而且同樣邏輯的代碼,即便是只有稍微幾個關鍵字的不同,或者是變數的不同,都會產生不同的匯編代碼。
所以,由二進制的0,1可執行文件,逆推高級語言,理論上可行,實際上不可行,因為工作量太大。類似大型軟體,好幾個G的,那是多少億行的0和1,哪怕是全世界的程序員在一起逆推,都不知道需要多少年可以完全逆向出源代碼。
那我們平時所說的逆向工程是什麼呢?
OK,其實軟體是可以逆向的,但是不是說逆向出真正的源代碼,而是逆向出這個軟體的匯編代碼。但是需要注意,匯編代碼在某種程度上並不能成為這個軟體的源代碼,因為匯編代碼量極大,而且不具備良好的可讀性,一句普通的高級語言源代碼,可能就會生成好幾十條匯編代碼。所以匯編代碼量是極大的。
同時,匯編代碼幾乎是不具備有架構性的,也就是說,即便你拿到了一個軟體的匯編代碼,你最多就是稍稍改改一些關鍵邏輯,比如說注冊邏輯(用於破解)之類的,但是你要說通過匯編代碼去改這個軟體的功能,幾乎就是不可能的事情。所以,匯編代碼是無法用於開源的,你公開出來了,別人也沒精力去看。