• OD 实验(六)


    程序:

    双击进行安装,安装过程默认就好了

    安装完成

    运行程序

    输入 User 为 sch01ar,点击 Create

    点击 Log In

    这里显示为未注册版本

    看看未注册版本有哪些功能被限制

    这里会显示这个是未注册的版本,要在今天注册

    最多只能创建 3 个组

    每个组最多只能添加四个联系人

    目标:

    修改程序添加组和联系人的限制

    修改程序中的未注册的提示信息

    实战:

    用 OD 打开程序

    该可执行文件在安装目录下

    联系人数量的突破

    按 F9 运行

    再次试图新建一个联系人,还是不行

    按 F12 暂停运行

    然后按 Alt+F9,用于返回到用户

    回到程序

    按“确定”

    返回到由程序接管

    按 F8 往下走,是一个 retn 返回指令

    走过这个指令,回到函数执行后的语句,也就是调用函数的地方

    上面两条 ASCII 码的语句是程序弹出的对话框的内容

    call Pixtopia.004562ED 间接调用了 MessageBox

    继续往上拉一点

    cmp eax,0x4,对 eax 和 4 进行比较,如果大于的话进行跳转

    如果 jl 跳转指令进行跳转的话,就会跳过弹出的对话框

    所以要让该处跳转,把 jl 改为 jmp

    添加联系人已经没有数量限制了

    组数量的突破

    根据联系人数量的突破,可类似地对组数量进行突破

    新建一个组

    按 F12 暂停运行

    然后按 Alt+F9,用于返回到用户

    回到程序,点击确定

    按 F8 往下走,执行 retn 返回指令,回到函数执行后的语句,也就是调用函数的地方

    上面这段还是程序弹出的对话框

    cmp eax,0x3 对 eax 和 0x3 进行比较,如果大于的话就进行跳转

    如果 jl 跳转指令进行跳转的话,就会跳过弹出对话框的那一段指令

    所以,可以把 jl 改为 jmp 进行强制跳转,按空格进行修改

    组的数量限制也修改成功

    修改未注册提示

    载入程序,按按钮 M,快捷键为 Alt+M,显示内存窗口

    右键 -> 查找,快捷键为 Ctrl+B,查找字符串

    输入 UNREGISTERED VERSION,区分大小写,点击确定进行查找

    选择内容,右键 -> 二进制 -> 编辑,对该字符串进行修改,快捷键为 Ctrl+E

    修改内容

    多出来的字符要用空字符填充,记得要勾选保持大小的选项,点击确定

    跟随表达式,地址为修改的起始地址

    选择内容

    右键 -> 复制到可执行文件

    右键 -> 保存文件

    保存完后运行程序

    修改成功

  • 相关阅读:
    关于DotNETStruts
    SQL语句导入导出大全
    一个打印Dataset的.net的打印类
    遍历指定文件夹下所有的文件
    SQL Server SQL导入导出语句
    查看OCX的属性和方法的脚本
    关于写文本文件的问题
    新钶信息系统面试
    【POJ1208】The Blocks Problem
    【POJ1363】Rails
  • 原文地址:https://www.cnblogs.com/sch01ar/p/9589135.html
Copyright © 2020-2023  润新知