OD 实验(二) - 绕过序列号验证】的更多相关文章

需要破解的程序 输入用户名和序列号,点击 Check,程序会进行校验 用 OD 打开程序 按快捷键 Ctrl+F9 跟随表达式 GetDlgItemTextA 点击 ok 在这里调用了 GetDlgItemTextA,按 F2 下一个断点 按这个 C 字母,快捷键为 Alt+C 回到程序的起始处 然后按 F9 运行程序,将弹出对话框 输入用户名 sch01ar,序列号 123456,然后点击 Check 程序将在断点处停下 此时的程序没有弹出序列号错误的对话框,因为程序只运行到断点处 按 F7…
上次是修改程序的标题,大家应该感觉这只是一个起点而已,接下来我们可以尝试绕过序列号验证,这种技术应用在很多软件中,比如淘宝上要买什么的软件,商家都会发给`你一个用户名和密码,而且还有试用期什么的,这确实令我们很懊恼,但是OD可以帮我们解决这个问题. 例如下面这个程序: 类似于这种程序,先将它拖进OD: 用户名和密码应该是属于文本的获取,这时可以了解到,在win32中,有两种比较常用的获取文本的函数: GetDlgItemText(A W) GetWindowText(A W)    A参数代表A…
程序: 运行程序 点击“Verify” 关闭该程序,启动 OD 再运行程序 逆向: 用 OD 载入程序 按 F8 往下走 执行完这个 call 指令就弹出了对话框 这个 call 指令调用了 DialogBoxParam 函数创建模态对话框 如果步入该函数的话,会跳到动态链接库中 如果按 Alt+F9 让程序回到执行区域的时候停下也不行 DialogBoxParam 函数具体实现什么样的操作由参数 IpDialogFunc 决定,IpDialogFunc 为指向模态对话框过程的指针 IpDial…
程序: Keyfile.dat 里的内容 该文件中要至少有 9 个 ReverseMe.A: 运行程序 用 OD 打开该程序,运行 弹出的是错误的对话框 该程序发现 OD 对它的调试,所以该程序对 OD 进行反调试 重新载入程序,按 F8 往下走 这个循环是对 Keyfile.dat 的内容进行判断的 循环过来,来到一个 call 语句 执行该 call 语句就会弹出那个弹窗 这个 call 指令调用的函数就在下面 这个地方调用了一个 IsDebuggerPresent 函数 该函数判断程序进程…
20145215&20145307<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux 环境下串行程序设计的基本方法. 掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用.学习使用多线程来完成串口的收发处理. 熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的下载调试,…
20145221高其&20145326蔡馨熠<信息安全系统设计基础>实验二 固件设计 实验目的与要求 了解多线程程序设计的基本原理,学习 pthread 库函数的使用. 了解在 linux 环境下串行程序设计的基本方法. 掌握终端的主要属性及设置方法,熟悉终端I /O 函数的使用.学习使用多线程来完成串口的收发处理. 熟悉linux开发环境,学会基于S3C2410的linux开发环境的配置和使用.使用linux的armv4l-unknown-linux-gcc编译,使用基于NFS方式的…
20145208 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 三种代码 伪代码 产品代码 测试代码 在这里我通过一个复数计算的例子来验证这三种代码. 代码需求 实现复数的加法.减法和乘法计算,并输出结果的功能. 伪代码 根据上面的需求,可以先写出程序的伪代码,伪代码是一个程序最好的注释,有助于我们理解问题和解决问题,改程序伪代码如下: 设定…
实验二:数据操纵 实验学时:4学时 实验类型:综合型 实验要求:必修 一.实验目的 1.掌握SQL数据查询语句: 2.掌握SQL聚集函数的使用. 3.掌握SQL插入.改动.删除语句的使用. 二.实验内容 1.project项目採购数据库,在实验3.2的基础上插入例子数据并完毕下列操作: (1)     求向projectJ1提供零件的供应商的编号. (2)     求向projectJ1提供零件P1的供应商的编号. (3)     求向projectJ1提供红色零件的供应商的编号. (4)   …
SQL基本查询_单表查询(实验二) 查询目标表结构及数据 emp empno ename job hiedate sal comn deptno 1007 马明 内勤 1992-6-12 4000 200 1004 王伟 内勤 1982-8-9 8000 600 02 1002 马力 教研 1989-12-12 7000 500 01 1005 孙小明 教师 1990-6-5 4500 02 1003 孙军 教师 1987-10-23 6500 450 01 1001 张军 教师 1990-2-…
实验二Java面向对象程序设计 实验内容一 初步掌握单元测试和TDD 什么是单元测试:单元测试时开发者编写的一小段代码,用于检测被测代码的一个很小的,很明确的功能是否正确.执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致. 测试哪些内容:Right-BICEP Right----结果是否正确? B----是否所有的边界条件都是正确的? I----能查一下反向关联吗? C----能用其他手段交叉检查一下结果吗? E----你是否可以强制错误条件发生? P----是否满足性能要求? J…