前话:

VB 程序用 OD 进行逆向的话,可以先查找相关的变量和字符串,以寻找突破口

变量:

__vbaVarTstEq

__vbaVarCompEq

__vbaVarTstNe

__vbaVarCompLe

__vbaVarCompLt

__vbaVarCompGe

__vbaVarCompGt

__vbaVarCompNe

字符串:

__vbaStrCmp

__vbaStrComp

__vbaStrCompVar

__vbaStrLike

__vbaStrTextComp

__vbaStrTextLike

程序:

双击安装进行安装

把程序拖到 PEiD 中

这个程序是用 Microsoft Visual Basic 5.0 / 6.0 写的

打开程序

右下角会有相关的提示信息,它会安装一个 key 在系统上,程序会比较该 key 是否为注册的

只有 30 天的使用时间

逆向:

用 OD 打开程序

按 Ctrl+N 查找可能的变量,先试一下第一个 __vbaVarTstEq

搜索字符串 vbaVarTstEq,直接输入就好了

找到了,设置断点

右键 -> 在每个参考上设置断点

如果要删除断点的话,右键 -> 删除所有断点

提示设置了 88 个断点

跑一下程序

停在断点处

按 F8 一步步往下走

这个字符串类似于 key 的格式

这个可能就是注册版的 key,把 oeiu-564-oqei-97 输入到注册框中

点击 OK 进行注册

注册成功

OD 实验(十) - 对一个 VB 程序的逆向的更多相关文章

  1. OD学习笔记10:一个VB程序的加密和解密思路

    前边,我们的例子中既有VC++开发的程序,也有Delphi开发的程序,今天我们给大家分析一个VB程序的加密和解密思路. Virtual BASIC是由早期DOS时代的BASIC语言发展而来的可视化编程 ...

  2. OD 实验(十一) - 对一个程序的破解

    程序: 点击安装程序 这是一个拼图程序 点击 Options -> Flash Sizes 程序会提示是未注册版本 点击一些选项的时候会提示该程序只给注册的用户 点击 Register 随便输入 ...

  3. 【Android实验】第一个Android程序与Activity生命周期

    目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比 ...

  4. OD 实验(十四) - 内嵌补丁

    内嵌补丁(inline patch): 内嵌补丁指在程序文件中把补丁代码写入文件里面达到破解的目的 如果修改某行语句会影响后面的语句,例如某语句占用 3 个字节,修改完变为 5 个字节,会覆盖后面的语 ...

  5. OD 实验(十五) - 对一个程序的逆向

    程序: 打开程序 出现一个 NAG 窗口 这是主界面 点击 Exit 程序出现 NAG 窗口,然后退出 用 PEiD 看一下 是用 VC++ 6.0 写的程序 逆向: 用 OD 载入程序 跑一下程序 ...

  6. OD 实验(十二) - 对一个 Delphi 程序的逆向

    程序: 运行程序 界面显示的是未注册 点击 Help -> About 点击 Use Reg Key 这里输入注册码 用 PEiD 看一下 该程序是用 Delphi 6.0 - 7.0 写的 逆 ...

  7. OD 实验(十九) - 对多态和变形程序的逆向

    程序: 这个窗口显示这是一个需要去除的 Nag 窗口 点击“确定” 用 PEiD 看一下 这是一个用汇编语言写的程序 逆向: 用 OD 载入程序 Nag 窗口的标题和文本 右键 -> 查找 -& ...

  8. OD 实验(十七) - 对一个程序的逆向分析

    程序: 运行程序 弹出一个对话框,点击 OK 来到主界面,点击 Help -> Register Now 这是输入注册码的地方 按关闭程序的按钮 会提示剩下 30 天的使用时间 用 Ressco ...

  9. OD 实验(十六) - 从对话框入手对程序的逆向

    对话框: 对话框从类型上分为两类:modal 对话框和 modeless 对话框,就是模态对话框和非模态对话框,也有叫成模式和非模式 模态对话框不允许用户在不同窗口间进行切换,非模态对话框允许用户在不 ...

随机推荐

  1. Android程序员学WEB前端(6)-CSS(1)-选择器-Sublime

    转载请注明出处:http://blog.csdn.net/iwanghang/article/details/76576469 觉得博文有用,请点赞,请评论,请关注,谢谢!~ CSS外部文档链接: & ...

  2. 类加载器:ClassLoader与Class的区别

    1.类加载器 java字节码(类)的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验.解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类 ...

  3. Andriod4.2 Camera 架构与实现

    1.Camera架构包括客户端和服务端,他们之间的通信采用Binder机制实现. Camera的实现主要包括本地代码和Java代码两个层次: Camera本地框架: frameworks/native ...

  4. learn go memoization

    package main // 参考文章: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/06.12.md i ...

  5. CF的Architecture,把它搞透!

    Architecture Cloud Controller - Maintains a database with tables for orgs, spaces, apps, services, s ...

  6. 读《the facebook effect》

    现在觉得时间越来越少,特别是抽出时间读书都感觉是一种奢侈. 今天把facebook读完了,想记录下自己的体会.不知该从什么地方写起.以前,曾注册过一个facebook帐号,一直没登过,好像从那时起,f ...

  7. HDU - 6513 Reverse It (SYSU校赛C题)(组合数学+容斥)

    题目链接 题意:给定一个n*m的矩阵,可以选择至多两个子矩阵将其反转,求能形成多少种不同的矩阵. 任选一个矩阵有$C_{n+1}^{2}C_{m+1}^{2}$种方法,任选两个不同的矩阵有$C_{C_ ...

  8. Session学习

    Session学习 Session的作用就是在服务器端保存一些用户的数据,然后传递给用户一个名字为JSESSIONID的Cookie,这个JESSIONID对应这个服务器中的一个Session对象,通 ...

  9. BZOJ3730 震波 【动态点分治】*

    BZOJ3730 震波 Description 在一片土地上有N个城市,通过N-1条无向边互相连接,形成一棵树的结构,相邻两个城市的距离为1,其中第i个城市的价值为value[i]. 不幸的是,这片土 ...

  10. FirstTry_HelloWorld

    #include <qapplication.h> #include <qpushbutton.h> int main( int argc, char **argv ) { Q ...