linuxupx
1. 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的加载等等。还有我发现如果程序的节表头程序也能很好的运行,什么的..
另外,我之调试的时候,实际经过很多挫折...没有足够的经验嘛...不过些文章,截图的时候都很顺利..呵呵.共勉........
2. 都有哪些压缩软件,那个最最好对硬件有要求吗
上万种
给你简单的写一些好了,目前rar是主流工具,但压缩比例不是最大的。
WinRAR 3.60 Beta 3 英文版 2006-5-8 20:59:29 111857
流行好用的压缩工具,支持鼠标拖放及外壳扩展,完美支持ZIP档案,内置程序可以解开CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO等多种类型的压缩文件;具有估计压缩功能,你可以在压缩文件之前得到用ZIP和RAR两种压缩工具各三种压缩方式下的大概压缩率;具有历史记录和收藏夹功能;压缩率相当高,而资源占用相对较少、固定压缩、多媒体压缩和多卷自释放压缩是大多压缩工具所不具备的;使用非常简单方便,配置选项不多,仅在资源管理器中就可以完成你想做的工作;...
授权: 共享 大小: 1009KB 平台: Win9x/Me/NT/2000/XP
WinRAR 3.60 beta 2 简体版 2006-5-4 19:54:48 137740
WINRAR是现在最好的压缩工具,界面友好,使用方便,在压缩率和速度方面都有很好的表现。其压缩率比之WINZIP之流要高。RAR采用了比Zip更先进的压缩算法,是现在压缩率较大、压缩速度较快的格式之一。主要特点:对RAR和ZIP的完全支持;支持ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR、ISO类型文件的解压;多卷压缩功能;创建自释放文件,可以制作简单的安装程序,使用方便;强大的档案文件修复功能,最大限度恢复损坏的rar和zip压缩文件中的数据...
授权: 共享 大小: 1038KB 平台: Win9x/Me/NT/2000/XP
Zip Express 2.4c 2006-5-3 16:58:20 7167
让你实行多种压缩文件格式,管理Zip及CAB文件,利用鼠标拖曳方式,将文件复制或搬移到想放的目录,另外还支持观看不同的文件格式,文本方面支持:MSWord,Excel,HTML,TXT及PDF,多媒体文件支持AVI,MOV,WAV,MID,MPEG及MP3,图形方面支持BMP,GIF,DIB,AnimatedGIF,JPG,PPT及DWF等。 ...
授权: 共享 大小: 3503KB 平台: Win9x/Me/NT/2000/XP
PowerArchiver 2006 9.62 2006-5-2 20:56:16 16370
相当值得推荐的压缩程序,除了一般压缩与解压缩的功能外,它并可设立密码及分片压缩功能,且支持鼠标右键的快显功能、可立即压缩与解压缩或制成自动解压缩文件、功能比起WinZip、丝毫不逊色。支持ZIP、RAR、CAB、ARJ、LHA、ACE、ARC、TAR、GZ、ZOO、XXE、UUE等格式。...
授权: 共享 大小: 3619KB 平台: Win9x/Me/NT/2000/XP
7-Zip 4.40 Beta 2006-5-2 8:27:36 47144
7-Zip是一款号称有着现今最高压缩比的压缩软件,它不仅支持独有的7z文件格式,而且还支持各种其它压缩文件格式,其中包括ZIP,RAR,CAB,GZIP,BZIP2和TAR等等。此软件压缩的压缩比要比普通ZIP文件高30-50%,因此,它可以把Zip格式的文件再压缩2-10%。这是7-Zip多国语言版,支持简繁体中文等。...
授权: 免费 大小: 818KB 平台: Win9x/Me/NT/2000/XP
UPX 2.0 汉化版 2006-5-1 17:26:10 7073
UPX是一款先进的可执行程序文件压缩器压缩过的可执行文件体积缩小50%-70% 这样减少了磁盘占用空间、网络上传下载的时间和其它分布以及存储费用。 通过UPX压缩过的程序和程序库完全没有功能损失和压缩之前一样可正常地运行对于支持的大多数格式没有运行时间或内存的不利后果。 UPX支持许多不同的可执行文件格式包含Windows95/98/ME/NT/2000/XP/CE程序和动态链接库、DOS程序、 Linux可执行文件和核心。 up...
授权: 免费 大小: 436KB 平台: Win32
ExtractNow 4.1.6 汉化版 2006-5-1 10:26:13 14267
ExtractNow是一款免费的软件,主要功能是支持各种压缩包的解压 支持:ZIP,RAR,ACE,JAR等格式的压缩技术。 使用Extractnow,可以是解压变的无比轻松,只需鼠标的拖拽和点击,立即得到完成的文件^_^ 增加了对7z和Ace的关联,使用起来更是得心应手^_^...
授权: 免费 大小: 1387KB 平台: Win9x/Me/NT/2000/XP/2003
ExtractNow 4.16 2006-5-1 7:35:18 13211
是一个免费、快速和容易使用的解压缩文件软件,除了解压缩文件,另有测试压缩文件是否有CRC错误、观看压缩文件内的文件等功能。ExtractNow解压缩文件的方式有点与众不同,提供以拖放文件到ExtractNow界面的方式来解压缩文件,除了解压缩单一压缩文件外,最大的特色是可以一次解开多个压缩文件,只需设定好压缩文件解压缩后的存放路径即可一次做好文件解压缩,最重要的是支持英文长文件名和中文长文件名的压缩文件(包括被压缩的文件),因此不用担心解压出乱码文件,支持目前最常见的...
授权: 免费 大小: 831KB 平台: Win9x/Me/NT/2000/XP
WinHKI 1.68 2006-4-30 9:35:04 2610
WinHKI是支持BH、CAB、HKI、JAR、LHA、TAR、GZ文件的解压缩工具。...
授权: 共享 大小: 1339KB 平台: Win9x/Me/NT/2000/XP/2003
ArjFolder 3.65 汉化版 2006-4-29 10:38:14 7005
可以让你使用拖放的界面制作和解压ARJ文件,支持长文件名,文件保护,ARJ、RAR、ACE的多卷压缩.它还支持解压ZIP,GZip,TAR,CAB&RAR文件。...
授权: 共享 大小: 540KB 平台: Win9x/Me/NT/2000/XP
UPX 2.00 for Linux 2006-4-29 10:06:46 1215
非常好的可执行文件压缩软件,支持的格式包括atari/tos,djgpp2/coff,dos/com,dos/exe,dos/sys,rtm32/pe,tmt/adam,watcom/le,win32/pe,Linux/i386等等,压缩比率也非常的高。...
授权: 免费 大小: 254KB 平台: Linux
UPX 2.00 for Win 2006-4-29 10:05:17 6953
非常好的可执行文件压缩软件,支持的格式包括atari/tos,djgpp2/coff,dos/com,dos/exe,dos/sys,rtm32/pe,tmt/adam,watcom/le,win32/pe,Linux/i386等等,压缩比率也非常的高。...
授权: 免费 大小: 245KB 平台: Win32
UPX 2.00 for DOS 2006-4-29 10:04:24 2354
非常好的可执行文件压缩软件,支持的格式包括atari/tos,djgpp2/coff,dos/com,dos/exe,dos/sys,rtm32/pe,tmt/adam,watcom/le,win32/pe,Linux/i386等等,压缩比率也非常的高。...
授权: 免费 大小: 317 平台: DOS
KGB Archiver 1.2.0.23 2006-4-28 16:38:41 2250
KGB是一款具有难以置信的高压缩比的免费压缩工具,它超越了以高压缩比着称的7Zip和UHARC,尤其擅长多媒体文件和可执行文件的压缩。需要注意的是虽然它的压缩比超高,但是对硬件的要求也相应的比其它压缩工具高,译者推荐将此工具用于超大型文件的压缩,即使连KGB本身一起提供给好友或者下载方,也才多一点点而已(KGB的压缩与解压模块是分开的,各自独立),相比待压缩文件本身的大小仍是十分合算的。KGB支持256位的AES加密,众所周知这是目前最强的加密算法之一,因此兼作加密工...
授权: 共享 大小: 1047KB 平台: Win9x/Me/NT/2000/XP/2003
KGB Archiver 1.2.0.23 授权汉化版 2006-4-28 16:36:24 15553
KGB是一款具有难以置信的高压缩比的免费压缩工具,它超越了以高压缩比着称的7Zip和UHARC,尤其擅长多媒体文件和可执行文件的压缩。需要注意的是虽然它的压缩比超高,但是对硬件的要求也相应的比其它压缩工具高,译者推荐将此工具用于超大型文件的压缩,即使连KGB本身一起提供给好友或者下载方,也才多一点点而已(KGB的压缩与解压模块是分开的,各自独立),相比待压缩文件本身的大小仍是十分合算的。KGB支持256位的AES加密,众所周知这是目前最强的加密算法之一,因此兼作加密工...
授权: 免费 大小: 1745KB 平台: Win9x/Me/NT/2000/XP
QuickZip 4.60.015 Beta 2006-4-28 9:29:13 5825
一个压缩软件,支持拖放和鼠标右键功能....
授权: 免费 大小: 4370KB 平台: Win9x/Me/NT/2000/XP
Squeez 5.20.4600 2006-4-24 8:24:36 1368
一款文件压缩程序。支持以下11种压缩格式:ACE,ARJ,BZIP,CAB,GZIP,LZH,RAR,SQX,TAR,UUEandZIP。可以把压缩的文件作为一个新邮件的附件。它可以在压缩的文件中加入文件恢复数据,从而减少文件通过存储介质或者Internet传输时引起的损坏概率。同时可以把文件压缩为SFX(自解压)格式和其他人共享,从而可以在dos或者windows平台自动解压缩。...
授权: 共享 大小: 3998KB 平台: Win9x/Me/NT/2000/XP
ZipStar 5.20 2006-4-24 8:20:10 2573
一款文件压缩程序。支持以下3种压缩格式:SQX,ZIPandCAB。同时可以把文件压缩为SFX(自解压)格式和其他人共享,从而可以在dos或者windows平台自动解压缩。...
授权: 免费 大小: 4014KB 平台: Win9x/Me/NT/2000/XP
WinRAR 3.60 Beta 2 汉化美化版 2006-4-19 16:03:32 231276
WinRAR是强大的压缩文件管理器。它提供了RAR和ZIP文件的完整支持,能解压ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR、ISO格式文件。WinRAR的功能包括强力压缩、分卷、加密、自解压模块、备份简易。 ...
授权: 共享 大小: 1122KB 平台: Windows XP only
WinRAR 3.60 Beta 2 简体中文版 2006-4-19 16:03:06 1680027
WinRAR是现在最好的压缩工具,界面友好,使用方便,在压缩率和速度方面都有很好的表现。其压缩率比之WINZIP之流要高,3.40增加了对7-zip格式的支持。RAR采用了比Zip更先进的压缩算法,是现在压缩率较大、压缩速度较快的格式之一。主要特点:对RAR和ZIP的完全支持;支持ARJ、CAB、LZH、ACE、TAR、GZ、UUE、BZ2、JAR、ISO类型文件的解压;多卷压缩功能;创建自释放文件,可以制作简单的安装程序,使用方便;强大的档案文件修复功能,最大限...
授权: 共享 大小: 1006KB 平台: Win9x/Me/NT/2000/XP
WinRAR 3.60 beta 2 繁体版 2006-4-19 15:14:54 63050
流行好用的压缩工具,支持鼠标拖放及外壳扩展,完美支持ZIP档案,内置程序可以解开CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO等多种类型的压缩文件;具有估计压缩功能,你可以在压缩文件之前得到用ZIP和RAR两种压缩工具各三种压缩方式下的大概压缩率;具有历史记录和收藏夹功能;压缩率相当高,而资源占用相对较少、固定压缩、多媒体压缩和多卷自释放压缩是大多压缩工具所不具备的;使用非常简单方便,配置选项不多,仅在资源管理器中就可以完成你想做的工作;...
授权: 共享 大小: 1077KB 平台: Win9x/Me/NT/2000/XP
[铭扬]Access数据库压缩机 1.83 2006-4-17 16:49:14 6966
本软件可以最大限度地压缩Access数据库文件,节省您的硬盘空间。...
授权: 免费 大小: 2610KB 平台: Win9x/Me/NT/2000/XP
下载地址
3. linux系统常用的软件有什么混水的不加分,哈哈
upx 加壳的东西
unrar 解RAR的
zsnes 超任模拟器
VisualBoyAdvance GBA模拟器
gens MD模拟器
aMule 电驴
Wireshark 分析网络用的
Putty SSH用的
FileZilla SFTP用的
DDD Debugger 编程用调试器
Eclipse IDE
Netbeans IDE
Emacs 高级文本编辑器
Vim 另外一个高级问本编辑器
KchmViewer 读CHM的
Compiz 搞桌面效果的
AWN 仿苹果下面的那个工具栏的
Audacious 类似WINAP
Frozen Bubble 游戏…
Wine 免费WINDOWS模拟器,强大
Crossover 收费WINDOWS模拟器,支持的东西有限,但支持的东西比WINE更强大
下面的全是WINDOWS下有的东西,只不过都有LINUX版,我都装了。这些东西官方都有下载。
LinuxQQ 不用说了吧…7月31号才发布的
NeroLinux 刻盘的,3.5版
Opera 浏览器,9.52
Skype 不用说了吧,2.0.0.72
xdict 金山词霸…居然有LINUX版…当初我发现它的时候吓了一跳…你GOOGLE这个:xdict_1.0.3-2_i386
AdobeReader 读pdf的8.1似乎
RealPlayer 不用说了吧… 似乎是11
这些是我装好UBUNTU后必装的…自己用的单子,原文复制借你用
所有官方的东西,你直接GOOGLE软件名+"linux"就出来
我这不是抄的!给我分哪!!!