破解程序获得使用权限:

      破解思路:其实程序加密或者添加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. hadoop单机

    Hadoop安装教程——单机模式 博客分类: 大数据 Hadoop是MapReduce的开源实现,网上有很多相关的文章,但是很多不全,有的有点乱,本人Ubuntu小白,Hadoop初学者,根据别人的资 ...

  2. SRM 146 DIV1 600

    Problem Statement      Masterbrain is a two player board game in which one player decides on a secre ...

  3. Android代码故事第一回,平均间隔的按钮

    我们的APP新做了一个放操作按钮的界面,老板要求简洁美观有内涵,按钮要均匀分布,于是参考之前的实现,设计MM给了一张图,像这样: |================================== ...

  4. linux 学习 软件工具

    _____secureCRT 远程通信工具 第二行第二个快速连接,输入主机名,即ip地址,和用户名,root .其它默认:端口22,协议ssh2,防火墙 none. 保存会话,连接.需要输入用户密码. ...

  5. 解决SOAPCLIENT访问WebSerivce外网发布端口

    猫用vs2010写了一个webservice,并写了一个盘点程序客户端,PDA盘点机用C#开发,笔记本用VFP开发,发布在本地局域网IIS服务器,用了两年一直很稳定.后面仓库搬迁,需要外网进行访问,在 ...

  6. 将golang程序注册为windows服务

    1.go get  bitbucket.org/kardianos/service 2.参考里面的exmaple,就可以了 我承认我有点蛋疼

  7. truncate和delete之间有什么区别

    TRUNCATE TABLE 在功能上与不带 WHERE 子句的 DELETE 语句相同:二者均删除表中的全部行.但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系统和事务日志资源 ...

  8. 用Java写算法之归并排序

    转自:http://flyingcat2013.blog.51cto.com/7061638/1281026 前面的三种排序算法(冒泡排序,选择排序,插入排序)在平均情况下均为O(n^2)复杂度,在处 ...

  9. navicat 连接oracle 出现ora06413 连接未打开

    问题原因:未选择OCI执行DLL,和windows 64位的(x86)无关 解决方法:navicat中 工具->选项->OCI中的OCI library选择路径(navimat安装路径)C ...

  10. android 设置状态栏与标题背景颜色一致

    必须在Android4.4以上版本才能设置状态栏颜色: 一.在单个Activity里面,设置状态栏的背景: 效果: 1.在Activity的布局根文件中添加属性: android:fitsSystem ...