Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网络安全 > 黑客技术 > 被加壳vb5/6程序的OEP定位经验
【标  题】:被加壳vb5/6程序的OEP定位经验
【关键字】:程序,vb,OE,vb5,OEP
【来  源】:网络

被加壳vb5/6程序的OEP定位经验

Your Ad Here 结合我了解的vb5/6可执行文件的结构,说说如何定位其OEP。

任何反编译过vb程序的人,总会见到其OEP是如下结构:
//******************** Program Entry Point ********
:00401060 68B4114000 push 004011B4
:00401065 E8F0FFFFFF Call

对于以地址004011B4开始的一段代码,在vb程序结构中将之称为ExeInitStructure,保存着程序运行初始化所必须的资料;而其也必定是以特征字符“VB5!”开始。所以对于被加壳的vb5/6程序,可以运行后用winhex搜索内存,查到“VB5!”地址,在此为004011B4,再搜索hex值“B4114000”,即搜索到地址00401061,将此地址-1就是OEP:00401060


此外,利用vb函数addressof我们可以作一些研究工作。
建立一个vb标准exe工程,去除form,加入一个.bas文件,于中写入
Attribute VB_Name = "Module1"
Private Sub Main()
Dim a As Long, c As Long
c = getaddress(a, AddressOf Main)
MsgBox ("Start address of Main() is " + Hex(a - 16))
End Sub

Public Function getaddress(a As Long, X As Long)
a = X + 16
End Function

编译后运行,可以显示sub Main()代码的起始地址。有兴趣的不妨研究研究,看看如何突破addressof的局限,或找到替代函数
UASPR详细脱壳过程:【上一篇】
用ollydbg手工脱ASPack212壳:【下一篇】
【相关文章】
  • 脱Insta3D version 2.0(Vbox420)的壳
  • 脱壳----对用Petite2.2加壳的程序进行手动脱壳的一点分析
  • VBox 4.1脱壳
  • 小甜饼 --- 有关UPXPR处理后的程序脱壳的另一种思路
  • 实现调用加壳的外壳中的子程序的一点见解
  • Windows下程序的反汇编
  • MD5的VB类模块源码(1)
  • MD5的VB类模块源码(2)
  • Win32 ASM详解-以对话框为主要界面的应用程序
  • 瑞星世纪版密钥盘制作源程序
  • 【随机文章】
  • 微软的谍件问题
  • 简单分析——蓝星广告杀手 V3.20 算法分析
  • 优化系统让Photoshop运行更流畅
  • XSL基础教程(二)
  • C#学习笔记(4月3日)
  • 14.9.9 The is operator
  • 同时安装sql2000和sql2005,经验点滴
  • Oracle经验技巧集锦
  • RHAS4上安装MYSQL+APACHE+PHP+ZEND问题
  • 利用.net(C#)在Vista磨砂玻璃窗口上正确画出文字和图片(GDI+版)
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.