前话: VB 程序用 OD 进行逆向的话,可以先查找相关的变量和字符串,以寻找突破口 变量: __vbaVarTstEq __vbaVarCompEq __vbaVarTstNe __vbaVarCompLe __vbaVarCompLt __vbaVarCompGe __vbaVarCompGt __vbaVarCompNe 字符串: __vbaStrCmp __vbaStrComp __vbaStrCompVar __vbaStrLike __vbaStrTextComp __vbaStrT…
前边,我们的例子中既有VC++开发的程序,也有Delphi开发的程序,今天我们给大家分析一个VB程序的加密和解密思路. Virtual BASIC是由早期DOS时代的BASIC语言发展而来的可视化编程语言. VB是由事件驱动的编程语言:就是在可视化编程环境下我们可以绘制一些窗体,按钮,编辑框等控件,然后为这些控件所可能引发的事件如按钮被单击或者被双击编写对应的处理代码. 所有的VB程序几乎都是依赖于一个外部的动态链接库.这个动态链接库的名字是:MSVBVM60.dll(可能有多个版本,但名字都差…
程序: 点击安装程序 这是一个拼图程序 点击 Options -> Flash Sizes 程序会提示是未注册版本 点击一些选项的时候会提示该程序只给注册的用户 点击 Register 随便输入一个密码,然后点击 OK 密码错误 用 PEiD 看一下该程序使用的是什么编译器 Microsoft Visual C++ 7.0 逆向: 用 OD 打开程序 首先先查找一下关键字 右键 -> 查找 -> 所有参考文本字串 拉到最顶端,右键 -> 查找文本 双击跟进该字符串所在的地方 这里有…
目录 第一个Android程序和Activity生命周期 实验目的 实验要求 实验过程 1. 程序正常启动与关闭 2. 外来电话接入的情况 3. 外来短信接入的情况 4. 程序运行中切换到其他程序(比如说Message) 第一个Android程序和Activity生命周期 实验目的 生成运行第一个Android程序,熟悉了解Android手机开发平台的基本构成和使用方法,熟悉Android应用程序项目的基本文件目录结构,了解开发环境提供的各种工具的基本用法. 在Activity中重载下9种事件函…
内嵌补丁(inline patch): 内嵌补丁指在程序文件中把补丁代码写入文件里面达到破解的目的 如果修改某行语句会影响后面的语句,例如某语句占用 3 个字节,修改完变为 5 个字节,会覆盖后面的语句,这时就需要用到内嵌补丁 程序: 运行程序 NAG 窗口显示只有 30 天的试用期,点击 Continue 就会来到主界面 关闭程序 接下来修改系统时间,把时间修改为 30 天之后 打开程序 NAG 窗口显示没有试用的天数剩余了 Contine 已经不能按了 再把时间改回来 再启动程序,程序的 N…
程序: 打开程序 出现一个 NAG 窗口 这是主界面 点击 Exit 程序出现 NAG 窗口,然后退出 用 PEiD 看一下 是用 VC++ 6.0 写的程序 逆向: 用 OD 载入程序 跑一下程序 出现 NAG 窗口时暂停 按 Alt+K 显示调用堆栈 这个是 MFC 的对话框,双击来到它所在的地方 下一个断点,重新跑一下程序 OD 停在了断点处 按 F8 往下走一步 NAG 窗口出现了 过了几秒就往下走了一步了 按 F9 运行 程序又停在了这个断点处 按一下 F8 主窗口出现了 点击 Exi…
程序: 运行程序 界面显示的是未注册 点击 Help -> About 点击 Use Reg Key 这里输入注册码 用 PEiD 看一下 该程序是用 Delphi 6.0 - 7.0 写的 逆向: 用 OD 打开程序 右键 -> 查找 -> 所有参考文本字串 然后右键 -> 查找文本 搜索 这里有个是 accepted 为接受,failed 为失败 双击到 accepted 处 如果程序执行到这里则说明,注册码是可以的 在 Delphi 中,push 后的 retn 指令相当于…
程序: 这个窗口显示这是一个需要去除的 Nag 窗口 点击“确定” 用 PEiD 看一下 这是一个用汇编语言写的程序 逆向: 用 OD 载入程序 Nag 窗口的标题和文本 右键 -> 查找 -> 所有参考文本字串 只有这两条 下一个断点,跑一下程序 该 NAG 窗口还是弹出来了 点击“确定” 然后关掉程序,始终没有停在断点处 说明该处只是干扰项 往上拉 看到一些奇怪的字符,这些是 OD 识别不了的一些代码 右键 -> 分析 -> 从模块中删除分析 代码就变得正常了 第一个 call…
程序: 运行程序 弹出一个对话框,点击 OK 来到主界面,点击 Help -> Register Now 这是输入注册码的地方 按关闭程序的按钮 会提示剩下 30 天的使用时间 用 Resscope 载入程序 在 Dialog 下找到程序要退出时的那个对话框 在 100 处找到该对话框 103 为 lpTemplateName 对话框模板 逆向: 用 OD 载入程序 右键 -> 查找 -> 所有命令 64 为 100 的十六进制 找到很多 push 0x64 的指令 右键 -> 在…
对话框: 对话框从类型上分为两类:modal 对话框和 modeless 对话框,就是模态对话框和非模态对话框,也有叫成模式和非模式 模态对话框不允许用户在不同窗口间进行切换,非模态对话框允许用户在不同窗口间进行切换 两者形成区别的原理是模态对话框由 windows 为它内建一个消息循环,而非模态对话框的消息则是通过用户程序中的消息循环派送的 创建模态对话框是由调用 DialogBoxParam 函数实现的,而创建非模态对话框是调用 CreatDialogParam 函数实现 程序: 点击 SE…