载入程序输入关键字:

双击进入程序
仔细看发现并没有跳转直接跳到这个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. 【230】4T硬盘如何完全利用(GPT)

    参考:如何选择超过2T和3T及以上硬盘的MBR与GPT分区形式 新购置的硬盘是 4TB 的,装上后只能用 2TB 的,查明后得知是因为 MBR 只支持 2TB 的(默认情况下是 MBR 分区形式的), ...

  2. linux 驱动学习笔记04--简单驱动

    首先贴代码helloworld.c和Makefile /************************************************************************ ...

  3. Expression Tree Basics 表达式树原理

    variable point to code variable expression tree data structure lamda expression anonymous function 原 ...

  4. NPOI Helper文档

    public class ExcelHelper { /// <summary> /// NPOI Excel转DataTable /// </summary> /// < ...

  5. Datatable/Dataset 转 JSON方法

    当数据库表的数据在一般处理程序中查出来需要将这个表数据返回到前台的jquery中,需要将数据拼成json字符串形式,这里是将数据库数据查出放在Datatable中,然后在一般处理程序中将datatab ...

  6. postgres 批量更新内容

    在程序中遇到这样的需求, 数据库表格式如下 需要把批量更新status, 如name = fox 时, status = 1, name = boa 时,status = 2 .... 类似的 pos ...

  7. 国内最给力五大免费VPN商家

    国内有很多提供免费VPN的商家,水平也是参差不齐,有的用心服务,为客户提供优质免费VPN线路,进而赢得客户的信任.有的则对免费线路敷衍了事,只对付费线路“尽职尽责”,从而流失大量潜在VIP客户. 笔者 ...

  8. vs快捷方式

    项目相关的快捷键 Ctrl + Shift + B = 生成项目 Ctrl + Alt + L = 显示Solution Explorer(解决方案资源管理器) Shift + Alt+ C = 添加 ...

  9. linux 登录档配置分析

    登录档的重要性 解决系统方面的错误: 解决网络服务的问题: 过往事件记录簿: Linux 常见的登录档档名 /var/log/cron: 你的 crontab 排程有没有实际被进行? 进行过程有没有发 ...

  10. PLSQLDeveloper 提示不能初始化?

    原因: oracle数据库是64位的,而 PLSQL Developer 只有32位的! 下载PLSQL_Developer地址: http://pan.baidu.com/share/link?sh ...