小甲鱼OD学习第12讲
这次我们的任务是破解这个需要特定的注册码的软件,如下图
我们从字符串入手,输入register,搜索
我们点击 查找下一个,看看有什么有用的字符串,如下图
然后,在下方,我们发现了 Registration Key accepted! 字符串,下断点!
观察断点处的程序
我们一直往上拉,看看这个程序,这个时候我们看到了 004A51D6 RETN,
于是我们在这行代码的下方随便一个地方尝试下断点,如下图
当程序运行到004A5461 call Teksched 0040A070 时,出现了第一个NAG窗口,所以我们把这行代码用nop来代替
如下图,这正是NAG窗口
如下图,用NOP代替
然后我们换一个离修改的代码比较近的地方另外下一个断点,如下图所示
用 所有修改 保存,发现004A55ED 处的代码要修改成jmp xxx才能跳过,第二个错误提示窗口,如下图所示
然后,再次用 所有修改 保存,发现004A567E 得用nop代替才能跳过另一个 错误提示窗口,如下图所示
这时,我们再次用 所有修改 保存,发现程序已经成功注册!如下图所示
小甲鱼OD学习第12讲的更多相关文章
- 小甲鱼OD学习第1讲
这一讲我们的目标是修改Hello.exe对话框的标题和内容,如图所示 把程序放进OD,按F8一步步运行,直到程序弹出对话框为止,然后在弹出对话框位置处下断点 按Ctrl+F2重新载入程序,然后按F9直 ...
- 小甲鱼OD学习第6讲
这次我们的任务是破解这个通讯录的软件,首先,我们在通讯录一个分组添加第5个人,发现弹出对话框,限制每组只能添加4个人 并且发现最多只能添加3个分组 我们把程序载入OD,运行,添加人,这个时候点击暂停, ...
- 小甲鱼OD学习第8讲
这次我们的任务是破解这个有日期限制的软件 我们可以看到,这个一个有日期限制的软件,如图所示 首先,我们把程序载入OD,我们从字符串搜索入手,选择 所有参考文本字串,如图 我们输入相应的字符串尝试搜索 ...
- 小甲鱼OD学习第9讲
这次我们的任务是破解这个要注册的软件,如下图所示 当我们输入账号密码的时候,它会提示输入的账号密码是无效的,如下图 我们把程序载入OD,然后在查找字符串那里输入提示的无效账号密码的字符串,如下图 然后 ...
- 小甲鱼OD学习第2讲
这次我们的任务是让我们输入任意用户名密码判断正确 我们输入fishc和111111,显示错误 我们猜测这是用GetDlgItemTextW来收集账号密码的输入值 我们找到了两个函数,给这两个函数都下断 ...
- 小甲鱼OD学习第3讲
这次我们的任务是破解这个过期的软件,效果如图所示 我们通过阅读代码,知道这个程序的执行流程如图中注释所示 观看下图注释所示 这是失败的提示代码 这是成功的提示代码 最后我们可以得出结论,成功破解软件的 ...
- 小甲鱼OD学习第7讲
这次我们任务是破解这个有日期限制的软件,效果如图所示 我们一边下断点一边调试哪里是NAG窗口的程序,最终我们发现在地址 00489912 处的代码是NAG窗口的代码 通过观察我们把004898E1处 ...
- 小甲鱼OD学习第11讲
这次我们的任务是破解这个需要注册的软件,如下图所示 我们这次从字符串入手,我们查找 unregistered 字符串 然后我们在如下图的字符串下断点 然后我们来到断点处,我们观察到 地址为 0040 ...
- 小甲鱼OD学习第13-14讲
这次我们的任务是破解这个需要注册码的软件,如下图所示 我们搜索上图相应的提示字符串,看看能找到什么线索,我们搜索 invalid code 试试看,如下图 然后下断点,如下图所示 我们来到断点处 ...
随机推荐
- Spider爬虫 の 事
初识Spider_Man(爬爬虫) Spider_Man_2 の requests模块 Spider_Man_3 の selenium Spider_Man_4 の BeautifulSo ...
- TypeScript笔记 1--环境搭建
TypeScript是什么 Typescript是JavaScript的超集,支持ES6特性并且提供了类型系统,可以编译成Javascript.是微软开发且已经在github上开源. ES6(ES20 ...
- HDU 1979 Red and Black
题目: There is a rectangular room, covered with square tiles. Each tile is colored either red or black ...
- seaJS 模块加载过程分析
先看一个seajs的官方example, 以下以seajs.use('main')为例, 解析加载mod main的过程 //app.html seajs.use("main") ...
- Spark算子--union、intersection、subtract
转载请标明出处http://www.cnblogs.com/haozhengfei/p/252bcc1d1ab30c430d347279d5827615.html union.intersection ...
- Oracle_insert_delete_update
Oracle_insert_delete_update --复制表格的结构 create table temp as (select * from emp where 1=2); select * f ...
- php对数组进行分页
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ...
- Jquery 获取对象的几种方式介绍
1.JQuery的核心的一些方法 each(callback) '就像循环 $("Element").length; '元素的个数,是个属性 $("Element&quo ...
- async函数解析
转载请注明出处:async函数解析 async函数是基于Generator函数实现的,也就是说是Generator函数的语法糖.在之前的文章有介绍过Generator函数语法和异步应用,如果对其不了解 ...
- SVN的安装和配置
SVN为程序开发团队常用的代码管理,版本控制软件:下面我们来介绍TortoiseSVN的安装,和其服务器的搭建:(下面为windows 64位系统下的搭建) 闲来无事,就在本地搭建了一个SVN环境,网 ...