[学习笔记]修改关键跳无效且关键CALL又不存在的情况
先用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又不存在的情况的更多相关文章
- 微信小程序开发:学习笔记[8]——页面跳转及传参
微信小程序开发:学习笔记[8]——页面跳转及传参 页面跳转 一个小程序拥有多个页面,我们可以通过wx.navigateTo推入一个新的页面.在首页使用2次wx.navigateTo后,页面层级会有三层 ...
- 深入浅出MFC学习笔记 第三章 MFC六大关键技术之仿真
0:MFC类层次结构 1:MFC程序的初始化过程CWinApp::InitApplication()CMyWinApp::InitInstance()CMyFrameWnd::CMyFrameWnd( ...
- ARM学习笔记2——分支跳转指令
一.Arm指令条件码和条件助记符 二.跳转指令B 1.作用 跳转指令B使程序跳转到指定的地址执行程序(跳转范围是PC-32MB到PC+32MB) 2.指令格式(注:B后面如果有条件,条件就是紧跟在B后 ...
- Silverlight学习笔记之页面跳转
在进行项目开发的时候,经常遇到页面之间的跳转,包括silverlight之间以及silverlight和html之间的跳转. silverlight之间的页面跳转包含两点: 1.主窗体和子窗体 用户新 ...
- Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
有时在Sharepoin中有些执行任务可能会超过Sharepoint环境默认的Timout限制,这种情况下系统会报"Request Timed out"错误.对此我们可以在两个层次 ...
- Django学习笔记-修改Django的默认的数据库
1.修改设置settings中的配置 DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os ...
- vue常用操作及学习笔记(路由跳转及路由传参篇)
路由跳转 - 超链接方式跳转 html: <div id="app"> <h1>Hello App!</h1> <p> <!- ...
- <WP8开发学习笔记>修改panorama全景控件的标题的大小
panorama(全景)控件非常具有WinPhone特色,但是那个巨大的标题许多时候会让人觉得违和.怎么修改它呢? 最开始想到的是加一个FontSize,结果毫无影响.╮(╯-╰)╭ <phon ...
- IntelliJ IDEA 学习笔记 - 修改编码
感谢原文作者:codeke 原文链接:https://blog.csdn.net/cgl125167016/article/details/78666432 仓库:https://github.com ...
随机推荐
- 1. String可调用方法
class str(basestring): """ str(object='') -> string Return a nice string represent ...
- mysql触发器trigger 实例详解
mysql触发器trigger 实例详解 (转自 https://www.cnblogs.com/phpper/p/7587031.html) MySQL好像从5.0.2版本就开始支持触发器的功能 ...
- Blog Part I
写随笔是不可能写的,这辈子都不可能写的. ——https://music.163.com/song?id=5039077 ============ Blog?不,并不擅长,毕竟Blog不是Novel, ...
- java pdf转word 高效不失真
将java工程导成jar包 使用 bat 执行 jar 包. --------------------------------------------------------------------- ...
- vue使用中遇到的,以及vue1.0到vue2.0新手踩的坑
最近再写一个vue的项目,视频中用的是vue1.0,但是现在vue已经2.0,所以踩了很多坑,先记录下来.理解有误再来修改. 路由问题 之前的路由是写在app.vue里边,而2.0的路由直接有个rou ...
- k8s 安装步骤
1 安装Docker 1.1 增加中国区镜像 https://registry.docker-cn.com 2 下载安装k8s的镜像的脚本 https://github.com/AliyunConta ...
- AspNetCore中的IdentityServer4客户端认证模式实现
1 AuthorizationServer using IdentityServer4; using IdentityServer4.Models; public class Startup { pu ...
- 关于canvas补充说明
上篇文章提到的canvas画布,用到f2组件,组件地址https://gw.alipayobjects.com/os/antv/assets/f2/3.0.0/f2.js或利用npm下载:npm in ...
- 开发HR人事考试系统介绍
确定好需要开发的模块以及功能 一套人事考试系统主要模块: 1)组织管理:公司部门成员信息 2)人事管理:人事信息,离职管理,职务管理,岗位管理: 3)考勤管理:班次设置,停工放假,假日设置,刷卡记录, ...
- 用python turtle实现汉诺塔的移动
1.汉诺塔 汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘.大梵天命令婆罗门把圆盘从下面开始按大小 ...