【原创】脱UPX加壳的notepad.exe
2006-08-13 04:20
597 查看
【文章标题】: 脱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
【文章作者】: 微微虫[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
相关文章推荐
- experiment : EXE使用UPX加壳后, 用OD查找OEP
- 关于木马群cmdbcs.exe,wsttrs.exe,msccrt.exe,winform.exe,upxdnd.exe等的清除方法第1/2页
- Android so文件保护——使用upx加壳
- (原创)Notepad++怎么实现双视图/双窗口?
- 【原创】 禁用ctfmon.exe 禁止ctfmon.exe自动启动
- 转帖:如何替换系统自带的记事本(notepad.exe)
- 【原创】跟踪vdsldr.exe启动过程
- 用Ollydbg手脱UPX加壳的jxjl外挂的jxdata.dll
- Windows环境下编译Notepad++.exe
- 痛心:《万能数据库查询分析器》采用EXE文件加壳技术,导致被杀毒软件误杀
- 发现cmdbcs.exe,upxdnd.exe,SSLDyn.exe…爱莫能助
- 1Sy.exe 2Sy.exe logo1_.exe禁止病毒的运行小技巧 原创
- 《Advanced .NET Debugging》 读书笔记 Listing 2-1: 找到notepad.exe的入口点
- Process打开Notepad.exe,想让它只开一个,如果打开过,就让它的主窗口在桌面最前面激活
- 第2章1节《MonkeyRunner源码剖析》了解你的测试对象: NotePad应用简介(原创)
- 运行时压缩&调试UPX压缩的notepad
- metasploit加壳upx
- UPX源码分析——加壳篇
- [原创]偶的upx脱壳动画
- 【转载】之 破解 (【原创】Xenocode Postbuild 2009 加壳破解 (不断更新中...))