存档

文章标签 ‘OEP’

两次内存断点法寻找OEP

2011年9月11日 没有评论

逆向过程中通过会遇到脱壳的过程,而脱壳的方式有有多重,如果手工脱壳,需要找到OEP。
所谓“两次内存断点法寻找OEP”,按照《加密与解密*第三版》上的解释来说,就是这样的。
一般的外壳会依次对.text、.rdata、.data、.rsrc区块进行解压(解密)处理,所以,可以先在.rdata、.data等区块下内存访问断点,中断后,此时代码已解压,接着再对代码段(.text)下内存访问断点,即可到达OEP。
我个人的理解是所有节区都解压完毕之后,然后程序的执行流会转移到OEP,这个时候自然回去访[......]

继续阅读

分类: 逆向调试 标签: , , , ,

带壳破解SMC补丁技术

2011年5月26日 6 条评论

今天又考完了一门课程,大三也即将结束了。大三的结束基本上也就意味着大学学习的结束,所以要抓紧留在学校的时间多学点东西。今天看了SMC补丁技术,很简单的那种。复杂的还有好几层的SMC技术,那个应用在壳上加壳的破解。
SMC补丁技术可以实现带壳破解。主要原理就是在外壳解密/压缩完成即将跳转到OEP之际,让其跳转到另一个地方。在那个地方我们将完成程序的补丁工作,然后再跳转到OEP处执行。至于SMC的英文全称,我也不知道是什么。
首先是一个简单的CrackMe,通过判断输入的字符串是否与程序中预置的字符[......]

继续阅读

分类: 逆向调试 标签: , , ,

程序入口点修改

2011年4月2日 没有评论

大概的思路:
OD载入程序A(这个是要伪造入口点特征的程序),另一个OD载入B(这个是要提取入口点特征应用到程序A的)。
然后,在A程序的下面找到一段空白处(字节全为0的地方,要足够容纳新的入口点特征码),然后将程序B入口点(OEP)处的二进制代码复制过来,铁道程序A的空白处。最后的一句代码要跳转到程序A真正的OEP。
保存修改后的A程序,用LordPE等工具将OEP修改为填充B入口点特征码的第一句代码的地址。
这样之后,PEID也许会查出来,这个程序A是用程序B的语言编写的(我试了一下,提示没[......]

继续阅读

分类: 逆向调试 标签: , , ,

Armadillo(穿山甲)简单脱壳处理

2011年3月28日 6 条评论

Armadillo,理论上来说,应该翻译成“犰狳”,而不是“穿山甲”;不过关于壳方面很多人都把他叫做穿山甲。这里简单说一下处理的一个壳,只是穿山甲壳中的一种情况,仅供参考。
OD下断点GetModuleHandleAPEID查克,一时“Armadillo 3.00a – 3.61 -> Silicon Realms Toolworks”,直接OD载入目标程序。用bp GetModuleHandleA+5进行下断点。为什么要在API后面加5呢?主要是防止穿山甲从中作梗,另外调试的时候注意通过插件来隐藏OD。每次断下之后都要接着继[......]

继续阅读

分类: 逆向调试 标签: , ,

Borland C++入口点特征码

2011年3月25日 没有评论

Borland C++入口点特征码:(一进去就是一个跳转)

00401000 > $ /EB 10 JMP SHORT ImageWat.00401012
00401002 |66 DB 66 ; CHAR ‘f’
00401003 |62 DB 62 ; CHAR ‘b[......]

继续阅读

分类: 逆向调试 标签: , ,

[转]寻找真正的入口(OEP)——广义ESP定律

2011年3月21日 2 条评论

寻找真正的入口(OEP)——广义ESP定律

  • 作者:Lenus
  • FROM: poptown.gamewan.com/bbs
  • E-MAIL:Lenus_M@163.com

1.前言
在论坛上看到很多朋友,不知道什么是ESP定律,ESP的适用范围是什么,ESP定律的原理是什么,如何使用ESP定律?看到了我在
http://poptown.gamewan.com/dispbbs.asp?boardID=5&ID=54&page=1
调查结果发现,大家对ESP定律很感兴趣,当然因为[......]

继续阅读

分类: 逆向调试 标签: , , ,

PECompact 2.x -> Jeremy Collake脱壳

2011年3月20日 没有评论

看到网上有用SEH脱壳的,看的不是很明白(最主要还是讲的很不明白,然后很多人千篇一律的转载,所以就看不明白了)。另外还有看到用ESP脱壳的,这个比较好理解(ESP定律就那么一个套路,不懂的请看《ESP定律脱壳》一文)。
首先,对目标程序用PEiD查壳,提示PECompact 2.x -> Jeremy Collake,然后OD载入,OD会提示数据有加密或者压缩,点击否。然后OD断下的代码大概如下:

00401000 > B8 D09A6D00 MOV EAX,Waterm[......]

继续阅读

分类: 逆向调试 标签: , , ,

ESP定律脱壳

2011年3月18日 11 条评论

ESP定律脱壳,很容易上手,网上也有这方面的视频教程,看一个就知道了。不过对于ESP定律的原来,暂时不去研究。看雪论坛上面很有多讨论这个问题的帖子,有兴趣的朋友可以自己去找找看。本人对ESP定律该在何时使用也很迷茫中。
ESP定律的大概步骤:
OD载入加壳程序,然后当popad执行之后,观察ESP的值,然后跟踪ESP的值在内存中的位置,对那个地方进行下断点(word的硬件访问断点)。接着F9,来到断点处,之后F8,当ret/retn到某一个地方的时候,就是OEP了。
文字描述可能不太清楚,下面贴[......]

继续阅读

分类: 逆向调试 标签: , , ,