upx演算法
❶ 軟體脫殼問題
軟體加上殼.
所謂殼其實也就是一種壓縮演算法,可以將程序壓縮
當然這個壓縮不同於 WinRAR 的那個壓縮.例如假設一個程序是100KB
用UPX壓縮後大概是 40-60KB 壓縮好後你再用WinRAR 壓縮可能就只有10+KB了
他的原理很簡單,先將本身的程序壓縮,然後當對方運行時,先將本身程序放入內存,在內存中釋放出來,當然這個解壓速度非常快,基本感覺不出來.
但是程序未運行的時候是經過壓縮的所以就可以避免被破解等.
下面是關鍵了:
什麼是脫殼,一個軟體經過壓縮了以後速度會略微變慢,有些人出於提速,或者其他如破解目的,需要對軟體進行脫殼,那麼如何脫呢.
一般每個殼壓縮演算法都不一樣(好象是廢話)只要掌握其演算法就可以逆推,達到脫殼的目的,這個只是一種比較常見的方法.
一些人還有中比較通用的方法,就是先將程序執行,這樣程序在內存中被解壓,然後將內存中的數據抓出來,保存到硬碟,這個方法基本所有殼通殺.
已經回答了2個了.
至於脫殼程序和沒脫的(條件是軟體有殼的情況下)
一般有殼程序運行速度會略微比較慢,程序大的比較明顯.
加了殼的程序一般比較小.
另外就是加了殼的不容易被破解,
大致區別就這些了.
❷ 木馬UPX壓縮加殼和ASpack加密加殼演算法簡單講解
首先,UPX和木馬沒什麼關系,這倆只是壓縮殼而已。像我們公司的軟體都會用UPX壓縮一次的。
另外,別人講都是講個原理吧。。。具體UPX是開源的,你想知道詳細的演算法直接去看源程序不是更快嗎?
❸ 求高手脫殼 UPX 0.89.6 - 1.02 / 1.05 - 1.24 (Delphi) stub -> Markus & Laszlo [Overlay]
這個殼壓縮率比較高,而且演算法不是太復雜。
我就以windows的計算器為例,首先查殼。
Microsoft Visual C++ 7.0 Method2 [Debug],顯然沒有加過殼。
現在,我加upx殼,然後再查殼。已經查到了加了upx殼。PX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo
現在用od載入,下一步驟看我操作:
那裡要選擇否,否則就不準確了!
我選中的部分就是殼的代碼,我們直接在jmp語句那裡下斷點,然後步過。
好了,然後就用loadpe載入,mp出去,也就完成了脫殼的過程。現在,運行做一下測試。
發生了錯誤,程序找不到了輸入表。我們現在就要修復一下輸入表,用到了輸入表修復工具。
Import Reconstructor 1.6:這個工具。 1012475-基址,完成,運行測試。正常運行,然後在查殼測試
下面就是下載地址
❹ upx 的詳細演算法和源代碼最好是asm的,c的也行
開源,有源碼,你去它們的主站上去下就行了。
upx的代碼應該是src目錄下,是C++類的,壓縮演算法庫是UCL,版本2.0以後的加了lzma。不知道是什麼編譯器,有makefile ,可能是linux的,我也沒編譯過。
當時是為了寫它的脫殼機,所以看它如何加殼的部分不多,主要還是看脫殼部分的。脫殼部分的有匯編,自己找找吧。
❺ 壓縮殼的壓縮原理
把文件的二進制代碼壓縮,把相鄰的0,1代碼減少,比如有000000,可以把它變成6個0 的寫法60,來減少該文件的空間。
由於計算機處理的信息是以二進制數的形式表示的,因此壓縮軟體就是把二進制信息中相同的字元串以特殊字元標記來達到壓縮的目的。所有的計算機文件歸根結底都是以「1」和「0」的形式存儲的,和藍色像點一樣,只要通過合理的數學計算公式,文件的體積都能夠被大大壓縮以達到「數據無損稠密」的效果。
壓縮可以分為有損和無損壓縮兩種。如果丟失個別的數據不會造成太大的影響,這時忽略它們是個好主意,這就是有損壓縮。有損壓縮廣泛應用於動畫、聲音和圖像文件中,典型的代表就是影碟文件格式mpeg、音樂文件格式mp3和圖像文件格式jpg。但是更多情況下壓縮數據必須准確無誤,人們便設計出了無損壓縮格式,比如常見的zip、rar等。
壓縮軟體(compression software)自然就是利用壓縮原理壓縮數據的工具,壓縮後所生成的文件稱為壓縮包(archive),體積只有原來的幾分之一甚至更小。當然,壓縮包已經是另一種文件格式了,如果想使用其中的數據,首先得用壓縮軟體把數據還原,這個過程稱作解壓縮。常見的壓縮軟體有winzip、winrar等。
❻ 易語言UPX進度條問題
是加殼方式
看下面的介紹
要是好記得加分
加殼:其實是利用特殊的演算法,對EXE、DLL文件里的資源進行壓縮。類似WINZIP 的效果,只不過這個壓縮之後的文件,可以獨立運行,解壓過程完全隱蔽,都在內存中完成。解壓原理,是加殼工具在文件頭里加了一段指令,告訴CPU,怎麼才能解壓自己。現在的CPU都很快,所以這個解壓過程你看不出什麼東東。軟體一下子就打開了,只有你機器配置非常差,才會感覺到不加殼和加殼後的軟體運行速度的差別。當你加殼時,其實就是給可執行的文件加上個外衣。用戶執行的只是這個外殼程序。當你執行這個程序的時候這個殼就會把原來的程序在內存中解開,解開後,以後的就交給真正的程序。所以,這些的工作只是在內存中運行的,是不可以了解具體是怎麼樣在內存中運行的。通常說的對外殼加密,都是指很多網上免費或者非免費的軟體,被一些專門的加殼程序加殼,基本上是對程序的壓縮或者不壓縮。因為有的時候程序會過大,需要壓縮。但是大部分的程序是因為防止反跟蹤,防止程序被人跟蹤調試,防止演算法程序不想被別人靜態分析。加密代碼和數據,保護你的程序數據的完整性。不被修改或者窺視你程序的內幕。
脫殼,是完全破除壓縮後軟體無法編輯的限制,去掉頭部的解壓縮指令,然後解壓出加殼前的完整軟體。這樣,你就可以對其「動刀」了。呵呵~~當然是和加殼相反喲。從字面上也該明白了吧,我就不多說了~~
第十三個:什麼是代理伺服器
代理有很多種解釋,而我們常常提到的代理,從計算機專業角度來說就是指代理伺服器相關,針對syx-kn 的提問,我先把代理伺服器向大家簡單的介紹一下吧!!
代理伺服器英文全稱是Proxy Server,其功能就是代理網路用戶去取得網路信息。形象的說:它是網路信息的中轉站。在一般情況下,我們使用網路瀏覽器直接去連接其他Internet站點取得網路信息時,須送出Request信號來得到回答,然後對方再把信息以bit方式傳送回來。代理伺服器是介於瀏覽器和Web伺服器之間的一台伺服器,有了它之後,瀏覽器不是直接到Web伺服器去取回網頁而是向代理伺服器發出請求,Request信號會先送到代理伺服器,由代理伺服器來取回瀏覽器所需要的信息並傳送給你的瀏覽器。而且,大部分代理伺服器都具有緩沖的功能,就好象一個大的Cache,它有很大的存儲空間,它不斷將新取得數據儲存到它本機的存儲器上,如果瀏覽器所請求的數據在它本機的存儲器上已經存在而且是最新的,那麼它就不重新從Web伺服器取數據,而直接將存儲器上的數據傳送給用戶的瀏覽器,這樣就能顯著提高瀏覽速度和效率。更重要的是:Proxy Server (代理伺服器)是 Internet鏈路級網關所提供的一種重要的安全功能,它的工作主要在開放系統互聯 (OSI) 模型的對話層。
代理伺服器(Proxy Server)就是個人網路和網際網路服務商之間的中間代理機構,它負責轉發合法的網路信息,並對轉發進行控制和登記。在使用網路瀏覽器瀏覽網路信息的時候,如果使用代理伺服器,瀏覽器就不是直接到Web伺服器去取回網頁,而是向代理伺服器發出請求,由代理伺服器取回瀏覽器所需要的信息。目前使用的網際網路是一個典型的客戶機/伺服器結構,當用戶的本地機與網際網路連接時,通過本地機的客戶程序比如瀏覽器或者軟體下載工具發出請求,遠端的伺服器在接到請求之後響應請求並提供相應的服務。
代理伺服器處在客戶機和伺服器之間,對於遠程伺服器而言,代理伺服器是客戶機,它向伺服器提出各種服務申請;對於客戶機而言,代理伺服器則是伺服器,它接受客戶機提出的申請並提供相應的服務。也就是說,客戶機訪問網際網路時所發出的請求不再直接發送到遠程伺服器,而是被送到了代理伺服器上,代理伺服器再向遠程的伺服器提出相應的申請,接收遠程伺服器提供的數據並保存在自己的硬碟上,然後用這些數據對客戶機提供相應的服務。
講了這么多,其實對於菜鳥們所提的代理,主要是應用,這里我再附加上設置代理伺服器的方法:
IE4.01:菜單欄「查看」-
❼ UPX 0.89.6 - 1.02 / 1.05 - 2.90 (Delphi) stub -> Markus & Laszlo求大神幫忙脫殼
這個殼壓縮率比較高,而且演算法不是太復雜。 我就以windows的計算器為例,首先查殼。 Microsoft Visual C++ 7.0 Method2 [Debug],顯然沒有加過殼。 現在,我加upx殼,然後再查殼。已經查到了加了upx殼。PX 0.89.6 - 1.02 / 1.05 - 1.24 -> Marku...