破解程序获得使用权限:

      破解思路:其实程序加密或者添加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. 【230】4T硬盘如何完全利用(GPT)

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

  2. {ICIP2014}{收录论文列表}

    This article come from HEREARS-L1: Learning Tuesday 10:30–12:30; Oral Session; Room: Leonard de Vinc ...

  3. Python全栈开发day5

    一.lambda表达式 对于简单的函数,存在一种简便的表示方式,即:lambda表达式 1 2 3 >>> shaw = lambda x,y:x + y >>> ...

  4. MongDB/C# 杂项

    1.MongDB的时间类型字段输出时为UTC的解决方法:保存到数据库中的数据还是按UTC存的,读出来的就按标识值读 [BsonDateTimeOptions(Kind = DateTimeKind.L ...

  5. 几个opencv 的iOS的编译问题解决

    一个iOS项目需要用到opencv,而且要支持arm64的,以前有个demo的,只支持32位的.到官网下载了最新支持64位库,结果编译无法通过. google了好久也没法解决,后来问了一个同事,找出原 ...

  6. unity3d 孤岛求生基础案例

    第二个案例,此案例主要实现了第一人称控制器,把移动从世界坐标系转化到人物平面坐标系,通过碰撞器,触发器,光线透射触发器实现交互.实现UI texture记录收集信息,ui texture是更新内容对应 ...

  7. 如何用Eclipse进行单元测试

    1.在个人电脑中安装一个集成开发环境(Microsoft Visual Studio.Eclipse或其它工具均可),要求该环境能够提供单元自动测试功能: 2.记录安装过程,并将全部内容发表在博客中: ...

  8. urllib.urlretrieve的用法

    urllib.urlretrieve(url, local, cbk) urllib.urlretrieve(p,'photo/%s.jpg'%p.split('/')[-4]) url要下载的网站 ...

  9. 使用git从服务器下载已存在的项目文件

    在项目所在路径下输入: git remote -v 获得项目在服务器下的路径如下: origin ssh://git@ygl-redis:300/home/git/perfectunits-iphon ...

  10. sublime中侧边栏字体大小的设置

    sublime这个编辑器相当强大,但是它的侧边栏字体实在是太小了,实在是反人类的设计,幸好它给了我们修改的机会 第一步:下载PackageResourceViewer插件,通过PackageContr ...