【文章标题】: 脱UPX加壳的notepad.exe
【文章作者】: 微微虫[S.T.C][DCT]
【作者邮箱】: ]nuxgod@163.com
【作者主页】: http://wwcgodsoft.ys168.com
【作者QQ号】: 86742748
【软件名称】: WinXP的记事本
【软件大小】: 48KB
【加壳方式】: UPX加壳
【使用工具】: OllyDBG v1.10[S.T.C]、PEiD v0.94
【操作平台】: WinXP SP2
【作者声明】: 我的破解水平很菜,请高手们不吝教正。有些不足的地方请论坛上的朋友们帮忙修

改一下。
--------------------------------------------------------------------------------
【详细过程】
  一、UPX是最广泛使用的压缩壳之一,它除了与Windows系列版本外,还有Linux下的版本。它是

在命令提示符界面下进行加壳。
    UPX壳的出口点关键字是:popad。加了UPX的notepad.exe可以到我的主页http://wwcgodsoft.ys168.com下载。

二、先用PEiD检测是加了什么壳,一拿程序不要就进行调试,要先判别是否加壳。经检查是:
    UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo

三、脱UPX壳的三个方法:

1、用[S.T.C]专用OD载入notepad.exe手动脱壳,跟到最后popad处就行拉。脱壳过程中有有

好多循环。对付循环,须让程
    序往前运行,不能让它往回跳。
      2、重新载入notepad.exe,按键盘Ctrl+F搜索关键字popad,然后F4运行到此处。不远处有个

跳转,它能到程序真正的入口点:
        010143DD    61              POPAD                 -->F4到这里   
        010143DE    8D4424 80       LEA EAX,DWORD PTR SS:[ESP-80]  -->F8单步步过,以下

都是按F8
        010143E2    6A 00           PUSH 0                    
        010143E4    39C4            CMP ESP,EAX
        010143E6  ^ 75 FA           JNZ SHORT notepad.010143E2 -->要回跳到010143E2,不

使它回跳,在下一行按F4
        010143E8    83EC 80         SUB ESP,-80              
        010143EB  - E9 AD2FFFFF     JMP notepad.0100739D  -->就是这个跳转可以到OEP
 
        0100739D    6A 70           PUSH 70               -->程序的OEP处,现在可以转存

了。点这一行右击,选择“Dump debugged process”
        0100739F    68 98180001     PUSH notepad.01001898
        010073A4    E8 BF010000     CALL notepad.01007568
        010073A9    33DB            XOR EBX,EBX
        010073AB    53              PUSH EBX
      3、下断点进行脱壳:bp GetProcAddress
        按F9运行程序,停在这里:
          7C80AC28 >  8BFF            MOV EDI,EDI   ; notepad.0101301C  -->按F2进行切

换,再按Ctrl+F9 来到下面
         
          7C80AC87    C2 0800         RETN 8            -->到这里了,按F2切换,F8单步


         
          0101439D    09C0            OR EAX,EAX     ; kernel32.GetCurrentThreadId  -

->回到程序自己的领空了,F8过
          0101439F    74 07           JE SHORT notepad.010143A8
          010143A1    8903            MOV DWORD PTR DS:[EBX],EAX
          010143A3    83C3 04         ADD EBX,4
                       :
                       :
                       :
         0100739D    6A 70           PUSH 70    -->来到程序的OEP处,现在可以转存了。
         0100739F    68 98180001     PUSH notepad.01001898
         010073A4    E8 BF010000     CALL notepad.01007568
         010073A9    33DB            XOR EBX,EBX

四、脱完壳别忘了检验一下,测试结果如下:
     Microsoft Visual C++ 7.0 Method2,是VC++编写的,正确!
 
 
   今天就介绍一下怎么脱UPX壳,未完待续!    
    
   
--------------------------------------------------------------------------------
【版权声明】: 本文纯属技术交流,转载请注明作者并保持文章的完整,谢谢!有什么不懂和疑问,请联系我!

2006年08月13日 3:14:12

【原创】脱UPX加壳的notepad.exe相关推荐

  1. 用ollydbg手脱UPX加壳的DLL

    用Ollydbg手脱UPX加壳的DLL 作者:fly [目标程序]:UPX加壳的EdrLib.dll.附件中还有输入表.重定位数据.UPXAngela以及UnPacked以供参考.        [作 ...

  2. 实验四:使用UPX加壳与脱壳

    一.实验目的 了解程序加壳.脱壳原理 掌握PE文件结构 学习利用UPX Shell.LoardPE.IDA等工具完成软件的加.脱壳操作 二.实验题目 UPX加壳:对crackme加上UPX壳,用 Lo ...

  3. 易语言自己动手修改配置 添加UPX加壳

    1.易语言可以自己加壳 首先把以前 5.11 完美版里面带的 tools\auto_DOIT.exe  这个程序  这个用来调用UPX壳 自动加壳 tools\UPX Shell         这个 ...

  4. Android so文件保护——使用upx加壳

    最近有人问我关于UPX加壳的问题,关于UPX如何加壳以及脱壳,网上说的很清楚了,这里不细说了,附件是很早之前我配置UPX加壳环境的一些资料和配置包以及成功的实例,有需要的小伙伴可以下下来玩. 附件:点 ...

  5. 逆向-新年快乐(UPX加壳)-学习笔记

    先用IDA打开 查看段信息 UPX加壳了. 用Ollydbg调试: 从内存视图,UPX0入口调试,设置内存访问断点,进入CPU视图,F9运行. 不知如何跳转(应该在另一个段中): 设置断点: F9运行 ...

  6. Android UPX加壳源码解析

    ​目录 一. UPX加壳的原理 1. UPX的工作原理 2. UPX实时解压的原理和流程 3. UPX加壳应用的场景 4. 修改UPX源码需要注意以下几点 二. UPX加壳Android so的方法和 ...

  7. experiment : EXE使用UPX加壳后, 用OD查找OEP

    测试程序 #include "stdafx.h" #include <windows.h> #include <tchar.h>int _tmain(int ...

  8. 软件安全-UPX加壳

    加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行. 其原理是将可执行程序按照一定算法进行压缩,达到程序源代码的加密效果,执行时在先脱壳内存中解压缩,还原,再执行原程序部分.从而达到防修改与 ...

  9. 使用Metasploit生成攻击载荷——msfvenom免杀、upx加壳

    文章目录 前言 一.免杀 1.msfvenom的使用 2.多重编码 二.加壳 1.upx的使用 总结 前言 本文详细介绍了使用Metasploit创建攻击载荷(使用攻击载荷生成器msfvenom),以 ...

最新文章

  1. python资源百度云_Python Selenium 百度云分享链接资源 批量保存
  2. 队列化栈栈化队列(力扣)
  3. HBNIS-crypto
  4. Spring MVC讲解
  5. 一维傅里叶变换后的复数怎样理解?
  6. Oracle死锁情况
  7. 响应式编程 函数式编程_函数式编程的基本原理简介
  8. mysql5.7的客户端软件_mysql数据库管理客户端工具|mysql数据库管理软件 v5.7.22 64位官方版 - 软件下载 - 绿茶软件园|33LC.com...
  9. 设备名称和设备责任人输出写反了,重新写了,重新发送邮箱
  10. 雪球:如果让你选择一本影响你一生的好书,你会选择哪一本
  11. 利用python绘制雪景图_用AI绘制冬季雪景森林场景插画图片
  12. 论文阅读-目标检测(2019)-CenterNet:目标检测转化为关键点检测及其属性回归
  13. EXCEl快速删除大量空白行
  14. 如何用PS的量度标尺工具调整图片
  15. 直接ISO启动工具ventoy
  16. c语言1GB转成B,2018职称计算机考试WPS_Office精选习题9
  17. centos7安装ifconfig命令
  18. 4万字【Python高级编程】保姆式教学,Python大厂高频面试题解析
  19. 精准鉴别初级、中级、高级程序员,你是哪一种?
  20. 如何写好CSS?(OOCSS DRY SMACSS)

热门文章

  1. Chapter 12 PCA与SVD算法理论与实践
  2. Fast-Planner安装、环境配置以及问题解决
  3. 本地生活小程序有什么功能_本地生活小程序的优势
  4. 【数学基础】1范数、2范数、p范数、无穷范数
  5. 力扣每日一题:1720.解码异或后的数组 python异或操作
  6. 堆栈溢出一般是由什么原因导致
  7. 制作自己的CE彻底解决被封问题
  8. 转行人必看:数字IC前端设计学习路线与方法(内附学习视频)
  9. ubuntu安装命令汇总
  10. 2022-01-04突然发现学习3D MAX也可以修身养性