破解程序获得使用权限:

      破解思路:其实程序加密或者添加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. c#接口容易被忽视的问题

    今天在看"并发集合"的时候,接口IProducerConsumerCollection<T> 有一个方法是TryAdd(),表示"试图"去添加,然后 ...

  2. Sublime文本排序&查找重复行&删除重复行

    排序 按F9或者选择菜单:Edit > Sort Lines,对每行文本进行排序 查找重复行 排序好后,按Ctrl+F,调出查找面板 查找字符串: ^(.+)$[\r\n](^\1$[\r\n] ...

  3. Google V8编程详解(五)JS调用C++

    http://blog.csdn.net/feiyinzilgd/article/details/8453230 最近由于忙着解决个人单身的问题,时隔这么久才更新第五章. 上一章主要讲了Google ...

  4. linux yum下载RPM包后再安装LAMP环境

    1.下载yum插件 yum-downloadonly,实现只下载软件包的功能. yum install yum-downloadonly 或者 yum install yum install yum- ...

  5. javascript照片墙效果

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. ios 中 documents和library 的区别

    简单来说就是用户在APP中输入并保存的数据放在Documents文件夹中(如用户输入的文本等), 并且如果手机连接电脑时,iTunes会自动备份其中文件,苹果不允许我们将下载的大型文件放入该文件夹. ...

  7. 设置centos7语言显示环境

    1.查看可选语言显示包 locale -a ............(省略好多) zh_CNzh_CN.gb18030zh_CN.gb2312zh_CN.gbkzh_CN.utf8zh_HKzh_HK ...

  8. 在CentOS上搭建Storm集群

    Here's a summary of the steps for setting up a Storm cluster: Set up a Zookeeper clusterInstall depe ...

  9. C# DataTable 和List之间相互转换的方法

    介绍:List/IEnumerable转换到DataTable/DataView,以及DataTable转换到List 正文: 一.List<T>/IEnumerable转换到DataTa ...

  10. C# 配置文件 AppSettings和ConnectionStrings的区别

      web.config是web应用程序的配置文件,为web应用程序提供相应配置(B/S).app.config是桌面应用程序的配置文件,为桌面应用程序提供相应配置(C/S).Configuratio ...