破解程序获得使用权限:

      破解思路:其实程序加密或者添加neg窗口都是为了让消费者付出更多的代价来解决这些问题。然而身为一个技术人员是可以靠技术来使这些东西消失的。只要我们找到那些东西出现的地方并且想办法跳过它们就成功了。
      OD的两种断点:软件断点、硬件断点。(内存断点属于软件断点,并且每次只能设置一个,设置了另外一个上一个就会自动删除,设置一个内存断点会改变整块(4KB(4千字节))的内存,会明显降低OD的性能,因为OD经常会校对内存)
      
      
      
      打开程序然后Ctrl+f8将会遇到一个循环
          为了跳出循环在循环的下一个指令下一个断点
          点击运行跳出循环跳出之后取消断点,然后Ctrl+F8继续走,直到跳出窗口
         在跳出窗口的这个指令下下一个断点
然后重新加载程序按f9来到断点处然后f7进入,进入之后取消断点
 然后继续点击f8直到再一次跳出那个窗口
   然后继续下断点重新载入再点击f9到达这个指令,再f7进入这个断点
进入断点之后继续按f8然后窗口再一次跳了出来
然后继续下断点重新加载再进入
然后发现进入的是动态链接库,进入动态链接库之后下的就是硬件断点了
      然后Ctrl+f8继续走然后。。。。。。。。。窗口又跳出来了耶~。。。。。
      然后下硬件断点。。(右键-断点-硬件执行)在试调硬件断点中可以看断点有没有下
然后重新加载程序点击f9到达断点处,进入。进入之后点击试调硬件断点删除上次做的断点。
然后Ctrl+f8继续执行到窗口。。。。。。。再一次。。出现(同时返回了软件的领空)
然后再一次下断点重新载入f9到达断点处经研究证明这个断点不需要进入,证明如下
点击进入点击f8跳出jump
跳出之后继续按Ctrl+f8直到窗口跳出
跳出窗口,鉴于是动态链接库的领空所以下硬件断点
 进去之后就会一直无限循环所以证明不用进入这个断点。
所以回到这个断点点击f8,就会执行那个程序跳出窗户
发现eax的值为1,所以上面那个call语句实际上是返回值为1
所以我们可以将call汇编成为1
保存文件,重新加载修改过的文件就可以直接打开了
去广告:
执行程序发现广告
执行程序关掉留下广告,暂停,点击K可以看到所有调用过的函数,发现要么属于软件领空要么属于数据链接库领空,所有带问号的是广告
双击进入
用Nop填充,然后就修改好了。就去掉了广告
还有另一种方法就是修改所有跳转,比较麻烦暂不记录

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

  1. OD使用教程

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

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

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

  3. OD使用教程11

    首先把安装好的软件拖入PEID,看看它是用什么语言写的    然后用OD载入程序,查找关键字,步骤看上一个笔记 双击到达代码处,发现这在一个跳转里面.可能第一反应是修改跳转,经试验后发现这是没用的所以 ...

  4. OD使用教程12

    载入程序输入关键字: 双击进入程序 仔细看发现并没有跳转直接跳到这个mov,往上看发现retn上面有一个push,在这种编写手法当中这种组合相当于一个jmp, 跳到离它最近的一个值(在这就是004A5 ...

  5. OD使用教程10

       首先载入程序,然后Ctrl+N打开输入输出表 然后直接输入要找到函数,找到之后下断点,右键-在每个参考上设置断点 然后运行程序来到第一个断点处 然后f8走,开始找注册码没找到就换一个函数,然后看 ...

  6. OD使用教程9

    先运行程序打开about,发现这是一个未注册的软件需要注册后才能使用里面的工具,所以随便注册一下,跳出一个提示说注册的是非法的邮箱,所以就可以以此做为突破口来破解这个程序 将提示的语句作为关键字去找出 ...

  7. OD使用教程8

    方式一基本的打补丁方式:   打开程序之后首先会跳出一个nag窗口,从中我们知道了可以将nag窗口作为切入点,只要找到了nag的触发点就等同于找到注册与未注册的判断的点 右键-查找-所有参考文本字串 ...

  8. OD使用教程4

    去除nag窗口: 方法一将je改成jmp跳过messageboxA 方法二全部填充成Nop,选中右键二进制Nop填充 第三种方法push的值改成1使句柄不存在 获得模块句柄: 第四种修改入口地址 点击 ...

  9. OD使用教程5

    怎样恢复数据被改过的代码 点击m进入内存分布图 双击进入文件头 将过大的值一一修改为正常值 普通程序没有动态链接表所以值改为0 保存:首先记住地址 其次 选中差不多的长度,保存 正常的程序

随机推荐

  1. IO调度算法

    简介: 当向设备写入数据块或是从设备读出数据块时,请求都被安置在一个队列中等待完成. 每个块设备都有它自己的队列. I/O调度程序负责维护这些队列的顺序,以更有效地利用介质.I/O调度程序将无序的I/ ...

  2. php生成json或者xml数据

    , ,'数据返回成功',$arr);echo $xml;?>

  3. 使用web图标

    http://www.lovelucy.info/demo/twitter-bootstrap-custom-icons/

  4. FP 某段SQL语句执行时间超过1个小时,并报错:ORA-01652: 无法通过 128 (在表空间 TEMPSTG 中) 扩展

    一.出现如下两个错误:1.某一段SQL语句执行时间超过1个小时:2.一个小时后,提示如下错误:ORA-01652: 无法通过 128 (在表空间 TEMPSTG 中) 扩展 temp 段ORA-065 ...

  5. Sql 触发器禁用和启用

    --启用or禁用指定表所有外键约束 alter table tbname NOCHECK constraint all alter table tbname CHECK constraint all ...

  6. 还是要好好研究开源的php

    听说facebook是php写的,还是要静下心来好好研究一番的嘛,踏踏实实点点滴滴的做起来!加油

  7. 检测是否IE浏览器

    function browserIsIE(){ if (window.ActiveXObject) return true; else{ var u_agent = navigator.userAge ...

  8. C语言调用curl库抓取网页图片(转)

    思路是先用curl抓取网页源码,然后以关键字寻找出图片网址.  范例: #include <stdio.h> #include <stdlib.h> #include < ...

  9. CodeFirst进行数据迁移之添加字段

    一.为模型更改设置 Code First 数据迁移 1.工具->库程序包管理器->程序包管理器控制台->输入"Enable-Migrations"  或者 Ena ...

  10. C#中的线程(二) 线程同步基础

    1.同步要领 下面的表格列展了.NET对协调或同步线程动作的可用的工具:                       简易阻止方法 构成 目的 Sleep 阻止给定的时间周期 Join 等待另一个线程 ...