庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>安全技术>软件破解>脱壳技术>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

用OLLYDBG快速脱tElock V0.98的壳

 作者:本站收集   日期:2005-5-31
字号选择〖 〗/ 双击滚屏 单击停止   
  现在的ASPR都有脱壳机了,tElock还没有,还要手脱,真是累,一直想找一个较快的方法,呵
发现用OLLYDBG脱速度很快,而且还是傻瓜式的:-)
目标:**投注大师2003黄金版
工具:ollydbg1.09,winhex,loadpe,peditor.
一、找入口点
用OLLYDBG找tElock的入口点完全不用动脑,跟我来:
1。用OD载入目标程序,先在OD调试设置中把异常卡中的“INT3中断”和“单步中断”打钩。.
2运行程序,出现异常用SHIFT+F9过,记住数(下回有用),几后程序运行,这我们看OD的窗口
004766F1 0000 ADD BYTE PTR DS:[EAX],AL
004766F3 0000 ADD BYTE PTR DS:[EAX],AL
004766F5 0000 ADD BYTE PTR DS:[EAX],AL
004766F7 0000 ADD BYTE PTR DS:[EAX],AL
004766F9 0000 ADD BYTE PTR DS:[EAX],AL
004766FB 0000 ADD BYTE PTR DS:[EAX],AL
004766FD 0000 ADD BYTE PTR DS:[EAX],AL
004766FF 0000 ADD BYTE PTR DS:[EAX],AL
00476701 0000 ADD BYTE PTR DS:[EAX],AL
00476703 0000 ADD BYTE PTR DS:[EAX],AL
00476705 0000 ADD BYTE PTR DS:[EAX],AL
都是这样的代码,但我们滚动条一直向上拉,到最上面,我们看到了如下码
00475000 - E9 DE61FBFF JMP 智能投注.0042B1E3
00475005 0000 ADD BYTE PTR DS:[EAX],AL
00475007 0000 ADD BYTE PTR DS:[EAX],AL
00475009 0000 ADD BYTE PTR DS:[EAX],AL
0047500B 0000 ADD BYTE PTR DS:[EAX],AL
0047500D 0000 ADD BYTE PTR DS:[EAX],AL
0047500F 0000 ADD BYTE PTR DS:[EAX],AL
哈哈,这唯一特别的一行看到了吧,0042b1e3,这就是程序的oep了。要记做你按了多少次
SHIFT+F9,我这是6次,
2、DUMP出IT和程序
重新开始程序,运行,然后再按6-2=4次SHIFT+f9,这时shift+f搜索命令:AND DWORD PTR [ESI+0C],00
只有一处:
00476210 8B95 62D34000 MOV EDX,DWORD PTR SS:[EBP+40D362]
00476216 8BB5 52D34000 MOV ESI,DWORD PTR SS:[EBP+40D352]
0047621C 85F6 TEST ESI,ESI              ,在这里下断
0047621E 0F84 06040000 JE 智能投注.0047662A
00476224 03F2 ADD ESI,EDX
00476226 83A5 52D44000 0>AND DWORD PTR SS:[EBP+40D452],0    
0047622D 8B46 0C MOV EAX,DWORD PTR DS:[ESI+C]
00476230 8366 0C 00 AND DWORD PTR DS:[ESI+C],0 ,这是搜索到的
00476234 85C0 TEST EAX,EAX
00476236 0F84 EE030000 JE 智能投注.0047662A
0047623C 03C2 ADD EAX,EDX
0047623E 8BD8 MOV EBX,EAX
00476240 50 PUSH EAX
00476241 FF95 D0D24000 CALL DWORD PTR SS:[EBP+40D2D0]
我们在47621c下断,按shift+f9断了下来,看看esi的值:00059cc0,是什么,呵,这就是it的位置了,然后 d 459cc0,我们看看左下角,IT就躺在这里,一直向下拉,看看有多大,
45B9E8-459CC0=1D28,这是时你可以打开loadpe,部分脱壳JJ.DMP,位置:00459cc0.大小:1d28,
回到OD,清断点,按1次shift+f9, 然后下断:bp 0042B1E3(可别说你忘了这是什么),再按SHIFT+f9,来到oep了,再用loadpe完全脱壳DUMPED.EXE。呵,快完了。
3、扫尾工作
用winhex把jj.dmp的代码粘到dumped.exe的相应位置保存,再用peditor打开dumped.exe,修改入口点为2B1E3(0042B1E3-00400000),引入表地址为:59CC0,最后按rebuider,呵呵,
大功告成。看看时间,2分钟不到。
测试了几个tElock的壳,都可以用这种方法脱之。
再作出一些补充:
1.
6-4=2只是指这个软件,如果是其它软件要这样:载入程序时出现的"软件已加壳是否分析"要选"否".在第一次调试时运行时注意OD下面状态条的变化,当很明显出现了一些***.DLL的候要注意了(速度很快,但还是可以看清的),这就是运用了那句AND DWARD PTR [ESI+0C],0 语句对dll的函数名进行清零处理,一旦过了,你就别想找IT了,所以必须在这之间断下来DUMP IT,这个软件是按第5次时出现,所以在第4次后就要查找.(最后一次也就是第6次后在状态条中也会出现DLL,但那已经是脱壳后程序的调用了)
2,我可以肯定地说90%-100%的可能是会出.AND DWARD PTR [ESI+0C],0这条语句的,因为这是tElock的特点,就是清除it,在样在oep处DUMP的程序根本就没有it,我查过这一块全是0,就是这个代码的结果(看雪论坛精华4已经有对这个的解释也是说它一定会出现,也是说要在这之前dump 出it).我已经试过好几个软件了,全部都可以找到这个代码并脱壳.
3.导出it后可以直接下g命令到oep,有异常就过,可以直达oep.可以不用像我这样麻烦.(当然也可以按f9运行后出现异常时再G更可靠).
上一篇:pll621 crackme脱壳    下一篇:UASPR详细脱壳过程  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: 本站收集
信息来源: 网络 录入时间: 2005-5-31
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿