導航:首頁 > 程序命令 > upx加殼命令linux

upx加殼命令linux

發布時間:2022-04-15 21:14:59

『壹』 如何使用UPX加殼軟體哦

去找一個UPXShell就有圖形化界面了。

『貳』 upx加殼怎麼用呢易語言高手請進

給靜態編譯的程序加殼就行了,但也不能保證不會報毒

『叄』 各位大俠upx加殼的原理是什麼啊!不勝感激

upx加殼原理
upx的功能有兩種描述。一種叫做給程序加殼,另一種叫壓縮程序。其實這兩種表述都是正確的,只是從不同的
角度 對upx的描述。
upx的工作原理其實是這樣的:首先將程序壓縮。所謂的壓縮包括兩方面,一方面在程序的開頭或者其他合適的
地方 插入一段代碼,另一方面是將程序的其他地方做壓縮。壓縮也可以叫做加密,因為壓縮後的程序比較難看
懂,主要是 和原來的代碼有很大的不同。最大的表現也就是他的主要作用就是程序本身變小了。變小之後的程
序在傳輸方面有很 大的優勢。其次就是在程序執行時,實時的對程序解壓縮。解壓縮功能是在第一步時插入的
代碼完成的功能。聯起來 就是:upx可以完成代碼的壓縮和實時解壓執行。且不會影響程序的執行效率。
upx和普通的壓縮,解壓不同點就算在於upx是實時解壓縮的。實時解壓的原理可以使用一下圖形表示:
1==>2==>3==>4==>5==>6
假設1是upx插入的代碼,2,3,4是壓縮後的代碼。5,6是隨便的什麼東西。
程序從1開始執行。而1的功能是將2,3,4解壓縮為7,8,9。7,8,9就是2,3,4在壓縮之前的形式。
1==>7==>8==>9==>5==>6
連起來就是:
最初代碼的形式就應該是:7==>8==>9==>5==>6
用upx壓縮之後形式為:1==>2==>3==>4==>5==>6
執行時的形式變為:1==>7==>8==>9==>5==>6

類似的技術還有很多。這樣的技術較多的應用於:木馬和病毒躲避殺毒軟體時,發布的程序防止被反編譯或
破解時。 upx是一種典型的加殼程序或者壓縮程序。因此已經有非常成熟的去殼程序或者解壓縮程序。
同時,很多的殺毒軟體 也可以識別出加有upx殼的病毒和木馬。而一些軟體生產場上為了防止被破解所加的
殼也同時被輕易的破解。在這樣 的情況下很多人想出了產生自己的加殼程序的想法。應此很多人都通過改
編一些成熟的加殼程序來產生自己的加殼程 序。 其實改編upx也是很簡單的。因為upx的源代碼是公開的
,所以可以下載它的源代碼來瞧瞧。upx可以壓縮很多種類型 的可執行文件。因此如果自己只是想要壓縮exe
程序,則只需要閱讀與壓縮exe文件相關的內容。這些代碼是很少的。
改寫upx一般需要注意一下幾點:
1、保證修改後的加殼程序不會產生upx產生的特徵碼。有很多軟體可以通過這些特徵碼識別出程序是經過upx
加殼的。
2、保證加殼之後,程序仍然可以順利執行。
3、在一定程度上保證效率不會下降太多。
希望對你有幫助~

『肆』 求助:UPX脫殼問題

1,命令行一定要准確.其實你可以安裝一個DosHere的注冊表文件讓文件夾支持直接進入cmd.或者Win+r輸入cmd然後輸入路徑進到需要操作的文件夾然後施工,這樣不容易錯.
2,你可以選擇用UPX Shell這個外殼工具,很方便處理文件,在option->Advanced第二項打挑可以讓程序文件支持右鍵UpX轉換.
3,UPX可以選擇文件加密的,加密後的不可以直接脫殼,這是最重的重點.UpxShell中同樣option-advan....裡面第一項就是,另外加密也分多種,每種也有設置不同,脫殼並不是好玩的,確切說不可能"手把手教會".你要學習PE格式以及匯編等一系列的非常熬人的東西,之後還要憑運氣和天賦.
4,顯示UPX加殼,未必只是一個殼,有時可以重疊加幾次殼(其他加密工具),這還不包括程序本身對自身的檢測(脫殼看似成功,但之後不能運行)
路迢迢........

『伍』 關於UPXSHELL加殼

可以壓縮文件,DELPHI編寫的某些EXE文件有2M多大,可以壓縮為幾百K。

『陸』 UPX加殼工具怎麼用

1、在UPX加殼工具的主頁裡面,需要拖入測試程序。

『柒』 如何實現upx的脫殼(請詳細說明步驟和軟體)

upx 關於脫殼的命令格式如下:upx -d 要脫殼的文件如:UPX -d 132.EXEpEID 里有個通用脫殼機,可以試試而且手工找入口點也是很簡單的找pushad對應的Popad,在popad旁的跳轉命令就是跳到文件的原入口點了

『捌』 什麼是UPX加殼

通俗一點說就是在病毒或者木馬程序外面加一層壓縮包,把裡面的病毒程序保護起來,不讓殺毒軟體查殺。這里的UPX加殼是一種比較常見的加殼手段,但是由於黑客進行了特殊處理,從而實現了殺毒軟體無法發現病毒本體的一門技術,加殼可以理解成為病毒製造了一件隱形外套。

『玖』 linux里文件如何進行文件脫殼

linux很少有需要crack的軟體,所以最近總是自娛自樂。自己寫的軟體自己破著玩但是由於都是知道自己的手段,沒有什麼意思。真的希望有高手們寫些crackme for linux 。
最近看了看windows的脫殼大致的理解了脫殼的原理,之前沒有怎麼接觸脫殼,通常只是選擇沒有殼的軟體看看。在linux下的殼沒有找到幾個。只找到了一個upx的殼,在windows下是個弱殼。實際上在linux下面也是弱殼,完全可以使用"upx -d"的命令解決問題。但我總是喜歡自己手動的。呵呵....純屬於自娛自樂。
ok,開始我們的linux的upx的脫殼之旅.........
我在選擇工具的時候花了很多時間,忽然發現GDB在upx面前是那麼的蒼白無力...也終於知道為什麼有人說GDB不適合做逆向了...雖然軟體在調試器里可以正常於運行,正常下斷。但是根本無法查看反匯編的代碼.......。
無奈無奈....使用傳說中最好的工具 IDA 為此我特地簡單的學習了一下IDC腳本的使用方法...
沒有什麼資料可以參考,是一件很不愉快的事情,因為不知道能不能成功。不管了,一步一步來吧...
我用「upx -d「 脫出了原來的文件,發現文件是全的,沒有任何部分丟失,所以我相信這些文件會出現在進程空間的某個時間的某個角落,這個很大的堅定了我手動脫殼的信心(但是實際上到這篇文章的結尾我也沒有能夠在找到完整的程序文件,但我相信理論上內存空間中應該會出現完整的文件的...)。
我的加殼軟體是我上次文章中用到做外掛的mines(掃雷游戲)。先找到了upx-3.03-i386_linux 軟體 附件中我會給出的免的度這篇文章的人去尋找了。
對我們目標軟體加殼,命令如下,的確是個好用的壓縮殼軟體,直接有54%的壓縮律。
代碼:
[jun@beijihuCom mpupx]$Content$nbsp;./upx mines
Ultimate Packer for eXecutables
Copyright (C) 1996 - 2008
UPX 3.03 Markus Oberhumer, Laszlo Molnar & John Reiser Apr 27th 2008
File size Ratio Format Name
-------------------- ------ ----------- -----------
13960 -> 7556 54.13% linux/elf386 mines
Packed 1 file.
[jun@beijihuCom mpupx]$Content$nbsp;
好了,我們開始調試他了,加了殼以後,一般的調試軟體已經對他無能為力了...
實驗一下GDB 和 DDD 的效果...以及objmp
readelf還可以正常使用,(僅限於一部分功能.呵呵,不詳談了...)
代碼:
[jun@beijihuCom mpupx]$Content$nbsp;readelf -e ./mines
ELF Header:
Magic: 7f 45 4c 46 01 01 01 03 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2』s complement, little endian
Version: ; 1 (current)
OS/ABI: UNIX - Linux
ABI Version: 0
Type: EXEC (Executable file)
Machine: Intel 80386
Version: 0x1
Entry point address: 0xc02598
Start of program headers: 52 (bytes into file)
Start of section headers: 0 (bytes into file)
Flags: 0x0
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 2
Size of section headers: 40 (bytes)
Number of section headers: 0
Section header string table index: 0
There are no sections in this file.
Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000000 0x00c01000 0x00c01000 0x01d60 0x01d60 R E 0x1000
LOAD 0x0002fc 0x0804b2fc 0x0804b2fc 0x00000 0x00000 RW 0x1000
上面的輸出,我們可以發現他的入口點是0xc02598 這個入口點已經和GCC編譯出來的程序大不一樣了。實際上重「upx -d「脫出來的效果來看,原來的入口點基本上是不會改變的,也就是說我們的手動脫殼的時候軟體的入口點,載入方式都是和未加殼的軟體是一樣的...這一點又為我們的脫殼成功,增加了砝碼..
繼續....gdb 調試一下
代碼:
(gdb) b *0xc02598
Breakpoint 1 at 0xc02598
(gdb) r
Starting program: /home/jun/Crack/mpupx/mines
warning: shared library handler failed to enable breakpoint
(no debugging symbols found)
Breakpoint 1, 0x00c02598 in ?? ()
(gdb) disassemble
No function contains program counter for selected frame.
(gdb)
gdb看不反匯編代碼,暈了都不知道下一步的操作是什麼....看來是沒有什麼用了
祭起傳說中的逆向利器IDA.學西習了一下,簡單操作,我開始了調試之旅.
代碼:
[jun@beijihuCom mpupx]$Content$nbsp;idal ./mines
等到載入完成,會停在入口處,呵呵在游標在call上直接按F4,程序運行,停到了入口出
單步運行...實際上我沒有什麼辦法,不知道有什麼下好的方法下斷點,可以使這個簡單方法調試...
這邊我是這么想的,upx是壓縮殼,當他把執行權交給原目標程序的時候,必定會有一個大的跳轉,好多新手在windows脫殼,都是以這個為oep的標準的。linux應該也不會例外的...
F8單步到0xc025c8 跳到 oxc025d1 在 0xc025d3 又會跳回來。顯然是個循環。不在循環里浪費時間了。我們向下找找,下面有個retn返回。游標移到上面F4。實際上沒有什麼把握。只是蒙的,結果很好,沒有飛走.F8單步到了這里
繼續單步,retn到一個地方
不詳細分析了往下看。翻阿翻,不會這么巧吧.看見了 jmp dword ptr [edi]跳轉,這不會是傳說中的大跳吧。
不管直接F4到這里...哈哈很成功。
單步一下,跳到了這里。
不懂代碼的具體含義,但是明顯不是程序的入口...為什麼?單步....繼續
看到這里我忽然頓悟,這里是在做ld連接,不能讓他運行了,很可能是為了我們目標程序的運行進行共享庫的連接..會修改我們內存中的映像文件。這樣我們mp出來的就不是原來的干凈程序,因為我們沒有修復工具,比起windows裡面的PE修復要麻煩多了.....所以趕緊mp出來...
用來mp映像的idc腳本
代碼:
#include <idc.idc>
#define PT_LOAD 1
#define PT_DYNAMIC 2
static main(void)
{
auto ImageBase,StartImg,EndImg;//基址 08048000
auto e_phoff;
auto e_phnum,p_offset;//paddr 0xc 地址,pmemsz ox14大小,p_offset 0x4
auto i,mpfile;
ImageBase=0x08048000;
StartImg=0x08048000;
EndImg=0x0;
Message("%8x\n",Dword(ImageBase));
if (Dword(ImageBase)==0x7f454c46 || Dword(ImageBase)==0x464c457f )
{
if(mpfile=fopen("./mpfile","w+"))
{
e_phoff=ImageBase+Word(ImageBase+0x1c);
e_phnum=Word(ImageBase+0x2c);
for(i=0;i<e_phnum;i++)
{
if (Dword(e_phoff)==PT_LOAD || Dword(e_phoff)==PT_DYNAMIC)
{ p_offset=Dword(e_phoff+0x4);
StartImg=Dword(e_phoff+0xc);
EndImg=Dword(e_phoff+0xc)+Dword(e_phoff+0x14);
mp(mpfile,StartImg,EndImg,p_offset);
Message("mp LOAD%d ok.\n",i);
}
e_phoff=e_phoff+0x20;
}
fseek(mpfile,0x30,0);
fputc(0x00,mpfile);
fputc(0x00,mpfile);
fputc(0x00,mpfile);
fputc(0x00,mpfile);
fclose(mpfile);
}else Message("mp err.");
}
}
static mp(mpfile,startimg,endimg,offset)
{auto i;
auto size;
size=endimg-startimg;
fseek(mpfile,offset,0);
for ( i=0; i < size; i=i+1 )
{
fputc(Byte(startimg+i),mpfile);
}
}
改變文件的屬性,讓他可以運行。
代碼:
[jun@beijihuCom mpupx]$Content$nbsp;su
口令:
[root@beijihuCom mpupx]# chmod 755 ./mpfile
[root@beijihuCom mpupx]# ./mpfile
程序運行的很好..
總結:第一次在linux下手動脫殼,看上去文章中寫的很輕松,實際上在之前做了很多工作。包括ELF的載入等等。還有我發現如果程序的節表頭程序也能很好的運行,什麼的..
另外,我之調試的時候,實際經過很多挫折...沒有足夠的經驗嘛...不過些文章,截圖的時候都很順利..呵呵.共勉........

『拾』 UPX加殼什麼意思

UPX 一般被用來給木馬和病毒加殼,躲避殺毒軟體的查殺,另外也可以給你的EXE文件加殼,加殼後的EXE比原來的大小減少30%-50%,原理就是填充EXE文件里的很多零位元組來壓縮文件,運行的時候就解壓到內存中運行。

閱讀全文

與upx加殼命令linux相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:577
python員工信息登記表 瀏覽:375
高中美術pdf 瀏覽:158
java實現排列 瀏覽:511
javavector的用法 瀏覽:980
osi實現加密的三層 瀏覽:230
大眾寶來原廠中控如何安裝app 瀏覽:912
linux內核根文件系統 瀏覽:241
3d的命令面板不見了 瀏覽:524
武漢理工大學伺服器ip地址 瀏覽:147
亞馬遜雲伺服器登錄 瀏覽:523
安卓手機如何進行文件處理 瀏覽:70
mysql執行系統命令 瀏覽:929
php支持curlhttps 瀏覽:142
新預演算法責任 瀏覽:443
伺服器如何處理5萬人同時在線 瀏覽:249
哈夫曼編碼數據壓縮 瀏覽:424
鎖定伺服器是什麼意思 瀏覽:383
場景檢測演算法 瀏覽:616
解壓手機軟體觸屏 瀏覽:348