首页
社区
课程
招聘
[求助]手动脱UPX 0.89.6 - 1.02 / 1.05 - 1.24 壳遇到的问题,有自己操作详细过程
发表于: 2011-3-9 10:34 13249

[求助]手动脱UPX 0.89.6 - 1.02 / 1.05 - 1.24 壳遇到的问题,有自己操作详细过程

2011-3-9 10:34
13249
1.        首先查壳利用peid载入blog_backup.exe,发现壳是UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [ZIP SFX]。
2.        载入程序,利用ESP堆栈平衡定律发现在pushad之前的ESP是0012FFC4,输入命令hr 0012FFC4.如下图

3.        F9继续运行如下图:

4.        在jmp     0040291A指令处F8如下图:

在此处右键Dump debugged process,如下图:

找到OEP 291A,全部是默认值,然后Dump。另存文件为blog_backup1.exe
5.        利用peid查壳,如图显示visual c++ 7.0。

6.        这个时候双击blog_backup1.exe,不能运行,于是我修复IAT,利用ImpREC 1.7c,导入blog_backup.exe,输入刚才查找到的OEP 291A,如下图:

7.        修复获取输入表,全部显示的是yes,然后转储文件,直接覆盖blog_backup1.exe,如图:

8.        但是我双击blog_backup1.exe还是不能够运行。请问:

  • 是我的步骤有错误么?
  • 或者这个壳不能这么脱?


  • 我勒个悲剧,我又用protection_id查了一下信息如下:
    -=[ ProtectionID v0.6.4.0 JULY]=-
    (c) 2003-2010 CDKiLLER & TippeX
    Build 07/08/10-17:57:05
    Ready...
    Scanning -> D:\temp\crackBB\blog_backup\blog_backup.exe
    File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 2950308 (02D04A4h) Byte(s)
    -> File has 2011300 (01EB0A4h) bytes of appended data starting at offset 0E5400h
    [File Heuristics] -> Flag : 00000000000000001100001000100111 (0x0000C227)
    [!] UPX 2.03 compressed !
    upx internal version : 013 / compression method : 08 (M_NRV2E_LE32) - Level : 09
    decompressed adler32 : 0x9AC46B7B / compressed adler32 : 0xF9219331
    uncompressed size : 0x0022350A (02241802) / compressed size : 0x000E3BFA (0932858)
    original file size : 0x0040C0A4 (04243620) / filter : 0x026 / ct0 0x01 / linkchecksum : 0x0DB
    [CompilerDetect] -> Visual C++ 7.1 (Visual Studio 2003)
    - Scan Took : 0.687 Second(s)
    发现是upx 2.03压缩的,但是之前我也有用protectionID查过啊,查的结果和peid是一样的,还说什么modified,但是今天查就是2.03压的。好吧,上网乖乖的下了一个upx2.03解压好了。但是我的本意也不只是得到结果就好了,还是想问上面我手动脱壳的过程为什么不行呢?

    最后上附件,网速不给力啊,传不上来,我直接上地址好么http://soft.pt42.cn/blog_backup.rar,应该是3M多不到4M的文件,不好意思啊。

    [培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

    上传的附件:
    • 1.PNG (39.85kb,165次下载)
    • 2.PNG (43.10kb,168次下载)
    • 3.PNG (46.64kb,167次下载)
    • 4.PNG (12.52kb,166次下载)
    • 5.PNG (9.16kb,166次下载)
    • 6.PNG (27.90kb,166次下载)
    • 7.PNG (29.44kb,166次下载)
    收藏
    免费 0
    支持
    分享
    最新回复 (7)
    雪    币: 1149
    活跃值: (888)
    能力值: ( LV13,RANK:260 )
    在线值:
    发帖
    回帖
    粉丝
    2
    我怎么感觉jmp 到的那个地方不像正常的oep,往下跑跑 再试试。。。。只是看着不舒服。。。没有源文件。。。
    2011-3-9 12:26
    0
    雪    币: 416
    活跃值: (25)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    3
    他有自校驗的樣子,段在CreateFileA可以發現程式的名字。只是它的是直接跳出winmain了,還沒想到要怎麼解除。

    他的OEP看起來是VC++7.0以上的版本。
    2011-3-9 12:51
    0
    雪    币: 6
    活跃值: (10)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    4
    源文件有啊,只不过是个链接,我网速太慢,传不上来,直接附加了一个链接,在文章的最后一句话有……不知道你说的源文件是不是指的程序。
    2011-3-9 14:09
    0
    雪    币: 6
    活跃值: (10)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    5
    呃……你说的好专业,不太明白……自校验……我后来用upx 2.03能够脱下壳来了,脱完之后再查一遍是VC++ 7.0的,但是我不满足与结果,我想知道怎么来手动啦~呵呵~
    2011-3-9 14:11
    0
    雪    币: 429
    活跃值: (537)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    6
    补下附加数据就好了

    这程序是Python脚本打包的程序
    2011-3-9 14:21
    0
    雪    币: 416
    活跃值: (25)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    7
    的確是附加數據 = =,忘了檢查她的overlayXD
    2011-3-9 15:20
    0
    雪    币: 6
    活跃值: (10)
    能力值: ( LV2,RANK:10 )
    在线值:
    发帖
    回帖
    粉丝
    8
    可以说下具体做法吗?
    2011-3-9 18:12
    0
    游客
    登录 | 注册 方可回帖
    返回
    //