求助:UPX脱壳问题?用OD将UPX壳脱掉后PEID检测还是UPX,怎么回事

:暂无数据 2026-08-14 04:00:02 :0

求助:UPX脱壳问题?用OD将UPX壳脱掉后PEID检测还是UPX,怎么回事

本篇文章给大家谈谈upx脱壳,以及求助:UPX脱壳问题对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

本文目录

求助:UPX脱壳问题

1,命令行一定要准确.其实你可以安装一个DosHere的注册表文件让文件夹支持直接进入cmd.或者Win+r输入cmd然后输入路径进到需要操作的文件夹然后施工,这样不容易错.
2,你可以选择用UPX Shell这个外壳工具,很方便处理文件,在option-》Advanced第二项打挑可以让程序文件支持右键UpX转换.
3,UPX可以选择文件加密的,加密后的不可以直接脱壳,这是最重的重点.UpxShell中同样option-advan....里面第一项就是,另外加密也分多种,每种也有设置不同,脱壳并不是好玩的,确切说不可能“手把手教会“.你要学习PE格式以及汇编等一系列的非常熬人的东西,之后还要凭运气和天赋.
4,显示UPX加壳,未必只是一个壳,有时可以重叠加几次壳(其他加密工具),这还不包括程序本身对自身的检测(脱壳看似成功,但之后不能运行)
路迢迢........

用OD将UPX壳脱掉后PEID检测还是UPX,怎么回事

peid是用来查壳的哦,右下角按钮点下显示的是插件列表,其中有一些脱壳的插件,不过只是一些简单的压缩壳而已,比如upx等。如果不会用OD手动脱壳的话,那就找脱壳机吧。举个用PEID脱UPX壳的例子:先载入你的程序,然后点右下角的箭头按钮,然后选择unpacker for UPX,peid就会自动帮你脱了。用PEID脱壳不推荐。PEID强大的地方在与他的查壳功能和随时更新它的数据库。

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 dumpupx]$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 dumpupx]$Content$nbsp;
  好了,我们开始调试他了,加了壳以后,一般的调试软件已经对他无能为力了...
  实验一下GDB 和 DDD 的效果...以及objdump
  readelf还可以正常使用,(仅限于一部分功能.呵呵,不详谈了...)
  代码:
  [jun@beijihuCom dumpupx]$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/dumpupx/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 dumpupx]$Content$nbsp;idal ./mines
  等到加载完成,会停在入口处,呵呵在光标在call上直接按F4,程序运行,停到了入口出
  单步运行...实际上我没有什么办法,不知道有什么下好的方法下断点,可以使这个简单方法调试...
  这边我是这么想的,upx是压缩壳,当他把执行权交给原目标程序的时候,必定会有一个大的跳转,好多新手在windows脱壳,都是以这个为oep的标准的。linux应该也不会例外的...
  F8单步到0xc025c8 跳到 oxc025d1 在 0xc025d3 又会跳回来。显然是个循环。不在循环里浪费时间了。我们向下找找,下面有个retn返回。光标移到上面F4。实际上没有什么把握。只是蒙的,结果很好,没有飞走.F8单步到了这里
  继续单步,retn到一个地方
  不详细分析了往下看。翻阿翻,不会这么巧吧.看见了 jmp dword ptr [edi]跳转,这不会是传说中的大跳吧。
  不管直接F4到这里...哈哈很成功。
  单步一下,跳到了这里。
  不懂代码的具体含义,但是明显不是程序的入口...为什么?单步....继续
  看到这里我忽然顿悟,这里是在做ld连接,不能让他运行了,很可能是为了我们目标程序的运行进行共享库的连接..会修改我们内存中的映像文件。这样我们dump出来的就不是原来的干净程序,因为我们没有修复工具,比起windows里面的PE修复要麻烦多了.....所以赶紧dump出来...
  用来dump映像的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,dumpfile;
  ImageBase=0x08048000;
  StartImg=0x08048000;
  EndImg=0x0;
  Message(“%8x\n“,Dword(ImageBase));
  if (Dword(ImageBase)==0x7f454c46 || Dword(ImageBase)==0x464c457f )
  {
  if(dumpfile=fopen(“./dumpfile“,“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);
  dump(dumpfile,StartImg,EndImg,p_offset);
  Message(“dump LOAD%d ok.\n“,i);
  }
  e_phoff=e_phoff+0x20;
  }
  fseek(dumpfile,0x30,0);
  fputc(0x00,dumpfile);
  fputc(0x00,dumpfile);
  fputc(0x00,dumpfile);
  fputc(0x00,dumpfile);
  fclose(dumpfile);
  }else Message(“dump err.“);
  }
  }
  static dump(dumpfile,startimg,endimg,offset)
  { auto i;
  auto size;
  size=endimg-startimg;
  fseek(dumpfile,offset,0);
  for ( i=0; i 《 size; i=i+1 )
  {
  fputc(Byte(startimg+i),dumpfile);
  }
  }
  改变文件的属性,让他可以运行。
  代码:
  [jun@beijihuCom dumpupx]$Content$nbsp;su
  口令:
  [root@beijihuCom dumpupx]# chmod 755 ./dumpfile
  [root@beijihuCom dumpupx]# ./dumpfile
  程序运行的很好..
  总结:第一次在linux下手动脱壳,看上去文章中写的很轻松,实际上在之前做了很多工作。包括ELF的加载等等。还有我发现如果程序的节表头程序也能很好的运行,什么的..
  另外,我之调试的时候,实际经过很多挫折...没有足够的经验嘛...不过些文章,截图的时候都很顺利..呵呵.共勉........

upx壳怎么去除

upx脱壳常见方法是esp定律脱壳法,具体操作如下:使用OD加载程序后,按F8进行单步跟踪,注意右上角的寄存器窗口,当发现ESP和EIP的值同时变红时(表示同时发生了变化)。在寄存器窗口中点击右键,选择“数据窗口中跟随”。然后在右下角的内存窗口中,点击右键,选择“断点”——“硬件访问”——“字”。最后按F9运行程序,就会直接来到程序的OEP附件了。最后记得要删除刚刚下的硬件断点。通过菜单栏上选择“调试”——“硬件断点”,就会看到刚刚下的断点,删除即可。

如何实现upx的脱壳(请详细说明步骤和软件)

upx 关于脱壳的命令格式如下:upx -d 要脱壳的文件如:UPX -d 132.EXEpEID 里有个通用脱壳机,可以试试而且手工找入口点也是很简单的找pushad对应的Popad,在popad旁的跳转命令就是跳到文件的原入口点了

UPX脱壳修改

1.首先不知道你是用什么软件脱的是OD还是专用的脱壳机。2.脱壳后能不能运行,是否进行IAT修复。3.文件是否有自校验的现象。4.脱壳后,建议使用FixRes 修复下资源,然后再使用Restorator 修改。Restorator不好用就换eXeScope

为什么UPX脱壳,脱不干净

1,命令行一定要准确.其实你可以安装一个DosHere的注册表文件让文件夹支持直接进入cmd.或者Win+r输入cmd然后输入路径进到需要操作的文件夹然后施工,这样不容易错.
2,你可以选择用UPX Shell这个外壳工具,很方便处理文件,在option-》Advanced第二项打挑可以让程序文件支持右键UpX转换.
3,UPX可以选择文件加密的,加密后的不可以直接脱壳,这是最重的重点.UpxShell中同样option-advan....里面第一项就是,另外加密也分多种,每种也有设置不同,脱壳并不是好玩的,确切说不可能“手把手教会“.你要学习PE格式以及汇编等一系列的非常熬人的东西,之后还要凭运气和天赋.
4,显示UPX加壳,未必只是一个壳,有时可以重叠加几次壳(其他加密工具),这还不包括程序本身对自身的检测(脱壳看似成功,但之后不能运行)
路迢迢........

如何使用upxshell 脱壳

打开UPX Shell,点击Options,点击第三个选项卡,再选择 简体中文 就行了。

然后到外面找到自己编写出来的EXE文件,将其拖入到软件的主界面。点击执行按钮。

然后就会自动将UPX的壳脱壳了。

关于upx脱壳,求助:UPX脱壳问题的介绍到此结束,希望对大家有所帮助。

求助:UPX脱壳问题?用OD将UPX壳脱掉后PEID检测还是UPX,怎么回事

本文编辑:admin

更多文章:


repercussions(都是余波,repercussions和aftermath有什么区别啊)

repercussions(都是余波,repercussions和aftermath有什么区别啊)

今天给各位分享都是余波,repercussions和aftermath有什么区别啊的知识,其中也会对都是余波,repercussions和aftermath有什么区别啊进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 09:00

dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)

本篇文章给大家谈谈dropdownlist 绑定,以及DropDownList 绑定所有项 并 显示指定项对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

2026年10月11日 08:50

协方差计算公式(协方差的计算公式)

协方差计算公式(协方差的计算公式)

这篇文章给大家聊聊关于协方差计算公式,以及协方差的计算公式对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 08:10

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

易语言网页api接口怎么调用(易语言,怎么读取网页json的api)

本篇文章给大家谈谈易语言网页api接口怎么调用,以及易语言,怎么读取网页json的api对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。

2026年10月11日 08:00

majority of(the majority of 和 a majority of的区别以及用法例句)

majority of(the majority of 和 a majority of的区别以及用法例句)

这篇文章给大家聊聊关于majority of,以及the majority of 和 a majority of的区别以及用法例句对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年10月11日 07:40

汉字机内码查询表(1个汉字的机内码是几位谢谢)

汉字机内码查询表(1个汉字的机内码是几位谢谢)

大家好,关于汉字机内码查询表很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于1个汉字的机内码是几位谢谢的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年10月11日 07:20

promote翻译(英语翻译倡导怎么说)

promote翻译(英语翻译倡导怎么说)

其实promote翻译的问题并不复杂,但是又很多的朋友都不太了解英语翻译倡导怎么说,因此呢,今天小编就来为大家分享promote翻译的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 06:30

用手机如何导航?开车用手机导航哪个软件最好

用手机如何导航?开车用手机导航哪个软件最好

今天给各位分享用手机如何导航的知识,其中也会对用手机如何导航进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

2026年10月11日 06:20

多线程技术有什么用(多线程有什么作用)

多线程技术有什么用(多线程有什么作用)

其实多线程技术有什么用的问题并不复杂,但是又很多的朋友都不太了解多线程有什么作用,因此呢,今天小编就来为大家分享多线程技术有什么用的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年10月11日 05:40

another time(another time和other time的区别)

another time(another time和other time的区别)

大家好,another time相信很多的网友都不是很明白,包括another time和other time的区别也是一样,不过没有关系,接下来就来为大家分享关于another time和another time和other time的区

2026年10月11日 05:00

最近更新

repercussions(都是余波,repercussions和aftermath有什么区别啊)
2026-10-11 09:00:05 浏览:0
dropdownlist 绑定(DropDownList 绑定所有项 并 显示指定项)
2026-10-11 08:50:04 浏览:0
majority of(the majority of 和 a majority of的区别以及用法例句)
2026-10-11 07:40:02 浏览:0
热门文章

标签列表