载入程序输入关键字:

双击进入程序
仔细看发现并没有跳转直接跳到这个mov,往上看发现retn上面有一个push,在这种编写手法当中这种组合相当于一个jmp,
跳到离它最近的一个值(在这就是004A5841)给它下个注释
然后在这两个地方下断点,尝试了一下执行发现不能断在这里,所以看看上面的程序
往上一直走然后发现又出现push和retn组合,给它做个注释
刚刚一路走上来发现了很多有用的东西,现在再回去看看,走到这下一个断点,因为前面一部分都是提示我们要需要输入哪些注册框
重新载入程序,点击about任意注册一个,发现断在了刚刚下的那个断点处
然后f8继续走,然后跳出错误窗口
在这条命令上方下一个断点,然后把这条命令Nop掉。
然后在test那里再下一个断点,重新载入程序看看能不能跳过这里,然后发现可以走过,然后f8继续走
然后跳过一个跳转,往下走又有一个跳转不过是往上跳的,猜测这可能是一个循环,所以用断点和f9跳过这个循环
跳过之后取消断点,f8继续走,来到一个跳转,第一个是一定要跳过的,第二个不可以,因为跳转成功之后就直接退出了,错过了我们要到的注册成功的位置
跳转到的地方
所以修改这个跳转变成无条件跳转
然后f8继续走,跳过Error的跳转可以跳过,然后又到了一个跳转,会直接跳过注册成功
所以把它Nop掉
然后f8继续走,最后就成功了,保存重新打开,成功啦~~~~~~~
本节要点,这种语言(Delphi)写出的程序存在很多call语句迷乱人的视听,如果不小心进入了一个call想知道是从哪进去的可以按减号键退一步看看,但是程序是已经执行进去了是不能对外面进行修改的,同理要是想看看一个call里面是什么可以按加号键,但不是进入只是看看,可以按减号键回来。push+rten=jmp组合是它的经典搭配

OD使用教程12的更多相关文章

  1. OD使用教程

    OD使用教程: 跳转指令.满足才能跳转成功  

  2. NODE-WEBKIT教程(12)全屏

    node-webkit教程(12)全屏 文/玄魂 目录 node-webkit教程(12)全屏 前言 12.1  和全屏有关的三个api Window.enterFullscreen() Window ...

  3. 简单详细的OD破解教程

    2007-08-04 15:46作者:CCDebuger注:昨天在网上见到了这篇文章,但缺少插图,从另外一篇文章中也看到了类似的的教程文章,里面的插图质量实在不敢恭维.在一个论坛中正好下载了文章中所介 ...

  4. [译]Vulkan教程(12)图形管道基础之入门

    [译]Vulkan教程(12)图形管道基础之入门 Introduction 入门 Over the course of the next few chapters we'll be setting u ...

  5. [转帖]Linux教程(12)- linux输入输出重定向

    Linux教程(12)- linux输入输出重定向 2018-08-21 22:57:02 钱婷婷 阅读数 49更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

  6. 黑马lavarel教程---12、lavarel验证码

    黑马lavarel教程---12.lavarel验证码 一.总结 一句话总结: 用插件的时候仔细看插件的版本要求 1.lavarel安装验证码插件的时候,如果(可选)需要定义自己的配置,则需要生成配置 ...

  7. Directx11教程(12) 禁止alt+enter全屏窗口

    原文:Directx11教程(12) 禁止alt+enter全屏窗口        在D3D11应用程序中,我们按下alt+enter键,会切换到全屏模式.有时候,我们在WM_SIZE中有一些代码,全 ...

  8. 深度学习与CV教程(12) | 目标检测 (两阶段,R-CNN系列)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  9. testng入门教程12 TestNG执行多线程测试

    testng入门教程 TestNG执行多线程测试 testng入门教程 TestNG执行多线程测试 并行(多线程)技术在软件术语里被定义为软件.操作系统或者程序可以并行地执行另外一段程序中多个部分或者 ...

随机推荐

  1. 修改eclipse运行内存的大小

    一.    尝试修改Eclipse.ini 文件 (此方法不行) 找到eclipse 目录下的eclipse.ini 文件,修改下面的内容: -Xms40m -Xmx512m 修改后重启eclipse ...

  2. Python: 元组的基本用法

    元组和列表是近亲,列表允许并且提供了方法来改变它的值,但元组是不可改变的,即不允许你改变它的值----这也是它没有方法的部分原因. 元组的主要作用是作为参数传递给函数调用.或是从函数调用那里获得参数时 ...

  3. int数组转string数组和int数组转string中间用逗号隔开

    //int 数组转string数组 ,,,}; string result=test.Select(i => i.ToString()).ToArray(); //int 数组转 string中 ...

  4. 文本换行word-wrap、word-break与white-space

    本文同步至微信公众号:http://mp.weixin.qq.com/s?__biz=MzAxMzgwNDU3Mg==&mid=401671055&idx=1&sn=b88c9 ...

  5. dos 批处理删除svn目录

    转自 http://blog.sina.com.cn/mpl398235717 @echo offecho ********************************************** ...

  6. 谷歌Java编程规范

    Google Java编程风格指南 January 20, 2014 作者:Hawstein 出处:http://hawstein.com/posts/google-java-style.html 声 ...

  7. SQL Cumulative Sum累积求和

    期望结果:  ID  VAL  CumSum  1  10  10  2  20  30  3  30  60 方法一: 使用分析函数 select id,val,sum(val) over ( or ...

  8. 从H264码流中获取视频宽高 (SPS帧) 升级篇

    之前写过 <从H264码流中获取视频宽高 (SPS帧)> . 但发现很多局限性,而且有时解出来是错误的. 所以重新去研究了. 用了 官方提供的代码库来解析. 花了点时间,从代码库里单独把解 ...

  9. 简洁的java代码

    最近在codewars上刷题,学习到了不少简洁优雅的代码. codewars和leetcode都是刷题网站,codewars的题目难度分类比较广,适合各种不同水平的coder刷题. 刷完题后,看一下其 ...

  10. sql一对多的两个表的update

    scie_apprecord仪器表   和   scie_apporder仪器预约时间表 ,一个仪器可以有多条预约时间. 仪器表: 预约时间表: 需求: 由于一个仪器有好多条预约记录,将预约时间表的最 ...