惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
SecWiki News
SecWiki News
酷 壳 – CoolShell
酷 壳 – CoolShell
爱范儿
爱范儿
量子位
M
MIT News - Artificial intelligence
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
TaoSecurity Blog
TaoSecurity Blog
博客园 - 【当耐特】
H
Heimdal Security Blog
腾讯CDC
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
博客园 - 司徒正美
Recent Commits to openclaw:main
Recent Commits to openclaw:main
C
Cybersecurity and Infrastructure Security Agency CISA
S
SegmentFault 最新的问题
大猫的无限游戏
大猫的无限游戏
Application and Cybersecurity Blog
Application and Cybersecurity Blog
F
Full Disclosure
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
月光博客
月光博客
A
Arctic Wolf
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
T
Troy Hunt's Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
D
DataBreaches.Net
O
OpenAI News
L
LINUX DO - 最新话题
宝玉的分享
宝玉的分享
小众软件
小众软件
V
Vulnerabilities – Threatpost
A
About on SuperTechFans
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
Martin Fowler
Martin Fowler
美团技术团队
P
Privacy International News Feed

博客园 - jasonM

真是郁闷,团队中居然出了这样的骗子!! C++反汇编揭秘1 – 一个简单C++程序反汇编解析 函数调用堆栈变化分析 - jasonM - 博客园 为什么要下断bpSend,原理分析。 做挂第一步:如何找基址(以热血传奇为例) 一步步学外挂(二).CALL的原理。 - jasonM - 博客园 开发企业直销软件需求分析 开发旺旺群发软件,难点及重要技术点分析(一) 正则表达式系列文章整理 群发软件开发原理分析 通俗解释socket(并附上注释Socket源代码) CMainFrame::PreCreateWindow这个函数执行了两次 .net调用vc++写的dll 一步步学破解-sdk用实例讲解GDI映射机制 一步步学破解-sdk用实例讲解GDI(含各个消息的调用时机) 一步步学破解-sdk进程间传递信息 一步步学破解-在已有的主窗口上创建按钮(三) 一步步学破解-windows消息循环原理实例总结(二) 一步步学破解-函数调用堆栈变化分析 (一)
老王最新壳试脱时遇到的问题,详细表述如下
jasonM · 2009-04-21 · via 博客园 - jasonM

老王最新壳试脱时遇到的问题,详细表述如下:

1.        peid查看壳时,显示区段为EPE1。怀疑是老王的壳。提示为:什么都没有。

2.        importREC查看dll时,发现只有一个系统kernel.dll,说明是加过壳的。

3.        用十六进制编辑工具打开,可以看到确实是老王的壳,并且已经提示了版本,如下:

   EPE: EncryptPE V2.2008.6.18

4.        用老王的加壳工具给十个相同的记事本加壳时发现,加壳后用od载入,其壳的入口都是不一样的。

5.        在网上查找资料,发现了一篇讲述如何脱EPE: EncryptPE V2.2008.6.18的资料,于是按照下面的思路脱壳:

   好,进入主题,怎么跳过注册框,OD载入目标程序,新版本的好象入口点方式有所改变,我们先Shift+F9直接运行起来,这时候用F12暂停,然后看堆栈

调用堆栈:     主线程3, 条目 3
地址=0012FBD0
堆栈=7116E874
函数过程 / 参数=V2200806.71171958
调用来自=V2200806.7116E86F
结构=0012FC20

点进去

7116E8B2    6A 00           push    0

我们直接在这下断,然后F9运行,点取消,断下来后F8单步走

71207989    FF92 E8000000   call    dword ptr [edx+E8]               ; 这个地方就是注册对话框了!

我们回朔到上面,从开始跟~也可以查看字符串确定位置

71207531   /0F84 B9020000   je      712077F0
71207537   |8B45 FC         mov     eax, dword ptr [ebp-4]
7120753A   |83B8 F8030000 0>cmp     dword ptr [eax+3F8], 0
71207541   |0F8E A9020000   jle     712077F0
71207547   |8B45 FC         mov     eax, dword ptr [ebp-4]
7120754A   |8B80 34030000   mov     eax, dword ptr [eax+334]
71207550   |8B90 80000000   mov     edx, dword ptr [eax+80]
71207556   |8D85 68FEFFFF   lea     eax, dword ptr [ebp-198]
7120755C   |B9 407E2071     mov     ecx, 71207E40                    ; .key

我们就找这个.key上面的那个71207531跳转地方下断吧,记得是硬件断点,直接在命令行打he 71207531,重新来F9,断下来后F8单步走

71207A54 ^\0F84 C1FEFFFF   je      7120791B                         ; 1
71207A5A    8B55 FC         mov     edx, dword ptr [ebp-4]
71207A5D    8B92 F0020000   mov     edx, dword ptr [edx+2F0]
71207A63    837A 30 64      cmp     dword ptr [edx+30], 64
71207A67 ^ 0F84 AEFEFFFF   je      7120791B                         ; 2

2个地方不跳就过注册了,刚发现有很多种改法,这个是其中一种,剩下大家自己揣摩下,看看效果吧,直接改下标志位就可以过注册了

71207A2F   /75 05           jnz     short 71207A36
71207A31   |E8 F2CBFEFF     call    711F4628                         ;
这个应该是结束程序了
71207A36   \8B45 FC         mov     eax, dword ptr [ebp-4]
71207A39    8B80 04030000   mov     eax, dword ptr [eax+304]
71207A3F    8378 0C 00      cmp     dword ptr [eax+C], 0
71207A43    74 28           je      short 71207A6D                   ;
这个应该是注册成功的话就跳向注册
71207A45    8B45 FC         mov     eax, dword ptr [ebp-4]
71207A48    8B80 04030000   mov     eax, dword ptr [eax+304]
71207A4E    8B40 0C         mov     eax, dword ptr [eax+C]
71207A51    83F8 01         cmp     eax, 1
71207A54 ^ 0F84 C1FEFFFF   je      7120791B                         ; 1
71207A5A    8B55 FC         mov     edx, dword ptr [ebp-4]
71207A5D    8B92 F0020000   mov     edx, dword ptr [edx+2F0]
71207A63    837A 30 64      cmp     dword ptr [edx+30], 64
71207A67 ^ 0F84 AEFEFFFF   je      7120791B                         ; 2

问题出来了,我用类似的原理脱另一个程序时,就出现了问题:

这个程序提供如下:

试脱老王最新壳软件下载

备注:我用了二十个相同的记事本,同时使用老王最新加壳工具加的壳,其中有一种入口刚好与这个程序相同,壳入口特征如下:

00409673 >  E8 01000000     call 老王最新.00409679

00409678    5E              pop esi

00409679    870C24          xchg dword ptr ss:[esp],ecx

0040967C    8D89 E8040000   lea ecx,dword ptr ds:[ecx+4E8]

00409682    870C24          xchg dword ptr ss:[esp],ecx

00409685    E9 61040000     jmp 老王最新.00409AEB

问题描述:当第一次shift+F9时就出现了:

软件无法运行于被调试状态,如需使用本软件请关闭后再运行。

急盼高手指点,如何脱掉这个壳的方法,谢谢,因为是新手,所以描述不当之处敬请提出疑点