首页
社区
课程
招聘
如何确定OEP
发表于: 2005-6-11 16:32 6194

如何确定OEP

2005-6-11 16:32
6194
上次来上网下载了FLY大侠的Ultra Protect的脱壳文章
回去后,就碰到了一个PEID检查为UltraProtect 1.x的软件。
本着提高技术的想法,决定先不看fly的文章,自己脱。
载入运行后,过了一个异常后(后面发现有时是两个),到了一个INT3指令,再下去程序就挂了。在异常处理处设断,F8跟进,进入了系统
空间,执行到一条sysener指令(我在网吧,记得不是很清楚。大约是这个样子,从来没见过,跳过去程序就退了)。
用ESP定律,不行。

自己单步跟,过了百把个CALL,全部是变形的JMP,手误一个程序就去退出的
指令处(我连续错了三次),到了一个很像OEP的地方,用插件DUMP,运行,
提示不是有效的文件,重新运行程序,用ImportREC v1.42填入跟到的OEP,提示不是,改用v1.6拿到了输入函数,修复DUMP程序,运行还是提示不是有效的文件,LoadPE重建也不行,改用LoadPE去DUMP FULL,再修复,这次是运行就出错误框。

看了FLY大侠的文章,决定从ESP定律再次入手
程序载入PUSHAD指令后下硬件访问断点,
到达INT3中断处时,看到接有一个PUSHAD指令
F8过了INT3,PUSHAD,再根据ESP,又下了一个硬件断点
F9,中断,取消第二个断点,
F9,断到了一个长得也很像OEP的地址,ImportREC填入地址,提示这就是OEP
但取道了两个函数,还是无效的,OD里再运行,又断在一个地方,下个指令是
一个RET指令,F9进,到了一个地方也很像OEP。ImportREC填入地址,提示这就是OEP,但取道了四个函数,也是无效的,(三种追踪全试过也无用)

本来还要试一试,用第一个OEP得到的输入表去修复其他OEP DUMP的程序,
但今天有机会来上网,就赶紧发文章问问各位高人,

如何确定OEP?
(完了)
在网吧,记得不是很清楚,跟的过程大致没记错。
除了上面的三个ImportREC认为是OEP的三个,还有两个,
只是怎么跟到的忘了,
加起来这个软件目前就有了五个入口了

初学破解,请各位多多帮助。

顺便说件事,6月6日的电脑报,软件世界里有个广告,

醒目的写着“软件保护日”
          “15大城市,全国巡讲。。。。。。”
还有软件加密八大误区,
    软件加密。。。。
等等字样。

看一下小字的公司,不认识,公司名后面有个括号还有字,(原北京彩虹天地)
这个公司吗,我还是知道的,果然后面的角落里就有  软件狗  字样。

不知道是不是真的,如果是的话:由著名软件狗公司大范围普及加密知识应该是第一次吧!

像这样的商业活动,最终还不是希望软件作者都去用他们的狗把门?

从来没接触过狗, 看来要学学了

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 222
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
GOOD,但是要确定OEP的位置在我看来没有别的技巧,只有不断调试寻找,基本上调试多了就会知道那里是OEP。
OEP一般有以下特征,基本上C++编写的OEP处会这样:
0040224E >  55                         push ebp
0040224F    8BEC                       mov ebp,esp
00402251    6A FF                      push -1
00402253    68 08394000                push unpacked.00403908
00402258    68 D4234000                push <jmp.&msvcrt._except_handler3>
0040225D    64:A1 00000000             mov eax,dword ptr fs:[0]
00402263    50                         push eax
00402264    64:8925 00000000           mov dword ptr fs:[0],esp

VB程序会是这样的:
00403004 >  68 9C334000                push llk.0040339C                           ; ASCII "VB5!6&*"
00403009    E8 EEFFFFFF                call <jmp.&MSVBVM60.ThunRTMain>

Delphi程序会是:
恨delphi程序,调试麻烦,总是发送消息!!

总之这个是平日里多积累,慢慢就会有感觉的
2005-6-14 07:22
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
3
ACProtect会Stolen OEP Code
2005-6-14 09:42
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
最初由 fly 发布
ACProtect会Stolen OEP Code

哪儿有资料介绍!

很感激两位的帮忙。

初学破解,请大家多多帮助
2005-6-19 12:46
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还有就是那条指令sysener。
上次上网到罗聪的网上下了一些文档。
看到了一点
说这是一条特殊指令。什么在论坛有说明文章
真是去
有没有人知道。

我也没有再去试过那个软件。
不想破解了。
想实实在在的学些东西

初学破解。请大家多多帮助
2005-6-19 12:51
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
还是一句老话:
先从简单的开始吧,循序渐进,你会收获更多
2005-6-19 12:58
0
游客
登录 | 注册 方可回帖
返回
//