好友
阅读权限30
听众
最后登录1970-1-1
|
本帖最后由 520Kelly 于 2014-4-1 13:52 编辑
很多新手菜鸟 都会问的一个问题 就是领空、、
那到底什么是领空呢?
我这里给大家简单介绍下:领空就是一个模块的范围 相当于一个人拥有的一块地方 这个地方的大小之内 假设是10平方米 那么10平方米之内 就是这个人的
领空 简简单单好理解
那么 知道领空有什么意义呢?比如说脱壳、、通常 一个壳加在一个程序上面 他也会有自己的领空、、(反正意思能理解就行 我也胡乱说的)
然后我们要找入口点 即OEP 那就要去程序的领空 而不是壳的领空 (菜鸟不懂是不是真的有壳的领空这个概念 就是觉得易懂就好)
那么 如何识别当前地址所在的领空呢?我在这突然想到的、、
我们来看图:
很显然这是一个易语言程序的OEP 地址为00447271
然后我们Alt+M 来到这里
大家看 第一个区段 从PE文件头那里开始算起 地址是00400000 再看到结尾 资源那里为止 地址为00DD9000 大小为6000
然后我们计算下程序的领空范围的大小 用最后的地址 减去 最初始的地址 即00DD9000+6000-00400000 结果等于9DF000
这里解释下为什么要用最后的地址+6000 因为00DD9000下面那个地址00DE0000 他不是程序领空的最后地址 所以这个地址不能算进去
+6000以后 算出来的是程序领空的最后地址 所以减去初始地址 算出来的是9DF000 大家也可以用1000+65000+954000+1F000+6000 算出来的结果
是和我们这个值相等的 很简单的一个计算、、9DF000这个范围 就属于程序的领空 即从00400000到00DD9000 都算做程序领空、、
为方便大家看 我们Alt+E 看模块
和我们计算的是一样的 这个大小 是属于这个exe的 如果你找的OEP 不属于这个00400000到00DD9000 这个范围 那么很有可能你就找错了
然后 我们会说 易语言非独立编译 他的按钮事件地址要去10001000找、、是这样的 他的按钮事件 在krnln.fnr这里面 这个我不知道他叫什么 我暂且叫
模块吧 按钮事件和OEP 是两个不同的概念 大家不能混淆了、、按钮事件这个问题、、表示确实没想到、、
至于壳的领空 表示分析不懂、、这个问题我就不知道了、、坐等大神解答 哇咔咔 膜拜我B牛秒还原VM 秒破Nx(Brack大神)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|