先用DI查下壳,VC++写的,无壳。

然后,打开软件看一下软件注册的情况

有弹窗,那载入OD看看能不能搜索到字符串

回到反汇编窗口,发现有两个JE都跳过了注册成功的代码

似乎很简单的样子,只要NOP掉这两个JE,不就可以了注册成功了。

分别下断点,F9运行,点VIP功能,程序被断下来,发现第一个JE的跳转没实现,不管它。

看下一个断点,跳转实现了,NOP掉。

再F9运行,发现虽然弹窗显示已经是VIP,但依然要求输入注册码。

看来不止这一处验证,必须得找到用来验证注册的关键CALL才行。

从下断点的JE处向上翻找,发现直到段首都没有找到关键CALL

但是有一段代码非常可疑,貌似实现了关键CALL的作用

既然这个的EAX这么关键,那就查找一下是在什么地方写入的数据

F9运行一下程序,点击VIP功能,让程序重新停在断点处。

寄存器窗口选中EAX-,右键----数据窗口中跟随

然后在数据窗口中找到的位置上点击右键---断点---硬件写入---DWord

下好断点后,禁止掉之前设置的断点,查看一下刚下的硬件写入断点

F9运行,程序被成功断了下来,下个断点,观察一下。

回车进CALL看看

既然怀疑这是关键CALL,试着修改段首,然后运行看看注册是否成功。

修改完后,F9运行,点击VIP功能,程序被断在断点处,删除所有断点,再运行程序,点击VIP功能,发现已经可以使用了

总结:

  1 修改跳转不能实现破解的时候,要去寻找这些跳转调用的关键CALL。

2 如果没有发现关键CALL,要注意这些跳转上面的代码有没有赋值和比较的内容。

如果有,还是可以跟随到数据窗口来下各种硬件断点来尝试破解

[学习笔记]修改关键跳无效且关键CALL又不存在的情况的更多相关文章

  1. 微信小程序开发:学习笔记[8]——页面跳转及传参

    微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...

  2. 深入浅出MFC学习笔记 第三章 MFC六大关键技术之仿真

    0:MFC类层次结构 1:MFC程序的初始化过程CWinApp::InitApplication()CMyWinApp::InitInstance()CMyFrameWnd::CMyFrameWnd( ...

  3. ARM学习笔记2——分支跳转指令

    一.Arm指令条件码和条件助记符 二.跳转指令B 1.作用 跳转指令B使程序跳转到指定的地址执行程序(跳转范围是PC-32MB到PC+32MB) 2.指令格式(注:B后面如果有条件,条件就是紧跟在B后 ...

  4. Silverlight学习笔记之页面跳转

    在进行项目开发的时候,经常遇到页面之间的跳转,包括silverlight之间以及silverlight和html之间的跳转. silverlight之间的页面跳转包含两点: 1.主窗体和子窗体 用户新 ...

  5. Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)

    有时在Sharepoin中有些执行任务可能会超过Sharepoint环境默认的Timout限制,这种情况下系统会报"Request Timed out"错误.对此我们可以在两个层次 ...

  6. Django学习笔记-修改Django的默认的数据库

    1.修改设置settings中的配置 DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os ...

  7. vue常用操作及学习笔记(路由跳转及路由传参篇)

    路由跳转 - 超链接方式跳转 html: <div id="app"> <h1>Hello App!</h1> <p> <!- ...

  8. <WP8开发学习笔记>修改panorama全景控件的标题的大小

    panorama(全景)控件非常具有WinPhone特色,但是那个巨大的标题许多时候会让人觉得违和.怎么修改它呢? 最开始想到的是加一个FontSize,结果毫无影响.╮(╯-╰)╭ <phon ...

  9. IntelliJ IDEA 学习笔记 - 修改编码

    感谢原文作者:codeke 原文链接:https://blog.csdn.net/cgl125167016/article/details/78666432 仓库:https://github.com ...

随机推荐

  1. springmvd接收参数问题

    问题描述: 好久不写博客了,今天遇到一个问题,那就是post请求时,参数接收不到,当时我很纳闷,看代码: 就是这样几个参数,我使用postman请求时无法获取参数: 报错信息: "msg&q ...

  2. Percona XtraBackup使用说明(转)

    Percona XtraBackup使用说明 转载出自: https://blog.csdn.net/wfs1994/article/details/80396604 XtraBackup介绍 Per ...

  3. Linux中硬链接和软链接的区别

    看了这篇文章之后,豁然开朗.直接放链接,感谢作者的分享. https://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/#ico ...

  4. 关于python的展望

    在未接触这门课程以前,我完全对编程一类的操作毫无兴趣.但在短短的两星期时间里,我改变了想法,原因有二.其一是老师幽默,其二是课程实用性高.我希望课程以后可以继续沿用现在由浅入深,给予足够提示的方式,引 ...

  5. vue中 关于$emit的用法

    1.父组件可以使用 props 把数据传给子组件.2.子组件可以使用 $emit 触发父组件的自定义事件. vm.$emit( event, arg ) //触发当前实例上的事件 vm.$on( ev ...

  6. Maths | 层次分析法(Analytic Hierarchy Process)

    目录 1. 概述 2. AHP算法 2.1. 建立层级 2.2. 构造 成对 比较 矩阵 2.3. 成对比较矩阵的 一致性检验 与 层次单排序 2.4. 层次总排序 参考: (中文)https://z ...

  7. 探寻TP-Link路由器的登录验证

    提示:该案例仅供学习使用,切勿滥用!!! 查找路由器连接地址 查找ip $ ifconfig enp2s0: flags=<UP,BROADCAST,RUNNING,MULTICAST> ...

  8. Windows平台最方便最易用的法语输入法

    原文:http://wenwen.sogou.com/z/q1700007921.htm 对于XP,在“控制面板”中选择“输入法区域设置”,单击“更改”,出现一个“设置”框:选择“添加”,然后选择“法 ...

  9. Python 日常技巧

    jupyter notebook 本地开启jupyter,画图需打开限制:jupyter notebook --NotebookApp.iopub_data_rate_limit=2147483647 ...

  10. Qt Creator快捷键设置

    QT Creator 下载地址 http://download.qt.io/ 一.快捷键配置方法: 进入“工具->选项->环境->键盘”即可配置快捷键. 二.常用默认快捷键:   编 ...