MFC:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class
libraries),以C++类的形式封装了Windows
API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组
件的封装类。----名词解释







开始OD调试     目的是去除软件的使用次数限制
载入程序后F8走走看

发现了弹窗 不是进入程序的窗口   那我们F2设置断点之后,重新载入程序跟进去看看(记得把之前的断点去掉,为了方便)
跟进了两个call之后

F8单步走,发现跳出弹窗

根据程序发现进入了动态链接库的领空,然后发现又一次出现了弹窗,那我们要在这里设置断点,但是不能够是普通的软件断点了(也就是草率的按F2),我们可以右键-->断点-->硬件执行   设下硬件断点

重载程序,运行到断点处,删除之前的断点

会发现又进入了普通的程序领空,然后我们ctrl+F8  让它自己运行会发发现又出现了一个弹窗,那我又跟进去看了下发现它在动态链接库的领空死循环,说明这已经是我们的要的了。
点击进入程序   发现成功进入了
那么这个call函数就是我们要找的一个算法,它的功能是计算如果为1的话  就return 1    那我们把它汇编为 mov eax,1
保存程序   重新载入新程序  点击运行  发现直接可以进入了

但是关掉之后会出现小广告,很讨厌

先解释一下 OD中K的作用就是通过调用堆栈来看出哪些函数被调用过了

发现调用了一个程序领空的函数,我们双击开来看看

下个断点重新载入下,我们把这个函数nop掉,然后保存文件
重新载入下
运行    点击关闭后,广告不见了    真棒!

那么,还有另一种方法,也就是一种对比的方法,在程序的领空里面把所有的跳转都备注下有没有跳转,然后人为的把程序的计数变为0,然后对比之前的注释,会发现有些奇怪,有些原本不跳的跳转确跳了,那我们可以想办法反其道而行,应该就可以得到一些成果。



OD调试篇7--笔记及解题报告的更多相关文章

  1. OD调试篇3-小软件破解1

    OD调试篇3-小软件破解1 要求如下图该软件需要改5个地方,其中1.2是软件未注册而设定限定的添加个数,3.4.5是软件显示的一些未注册的信息. 一. 1.按1运行程序,添加用户添加第五个时出现提示, ...

  2. OD调试篇1—Hello

    OD调试篇1—Hello 要求:通过OD将程序的标题“I love fishc.com”改为“I love you” 一.找到程序的标题“I love fishc.com” 1.把程序拖到OD运行出现 ...

  3. OD调试篇6--对一些真正的小程序进行一点点的修改

    先打开这个程序看看,提醒你这是一个未注册版本的软件.会发现只能添加4个联系人,这显然是我不想看见的,于是我要对这个程序进行一些修改,嘿嘿... 通过OD载入这个程序 有一些(SEH)也就是异常,我们可 ...

  4. OD调试篇13

    今天的程序比较大,听说还是比较牛的程序,不过破解它的一个比较老的版本的.打开程序看看. 点击about   然后点enter registration code    输入name  以及密钥之后,会 ...

  5. OD调试篇12

    Delphi的逆向 先看看今天需要破解的程序. 打开程序先出现了一个nag窗口,然后是unregistered未注册的提示,以及关于里的需要注册. 拖进die看了看      就是delphi写的.那 ...

  6. OD调试篇11

    先看看今天这道菜是用什么语言写的 发现是用VC7.0写的,再随便打开看看 发现未注册以及使用限制,那就用OD载入吧 右击查找所有字符串,找unregistered    找到后双击进入 我们会看见一个 ...

  7. OD调试篇8

    那么今天需要破解的呢,是这样一款软件. 程序刚刚进去会发现一个nag弹窗   说没有注册,要花20美金才能注册.只有5天的限制期限可以用了 进去之后 点击help里的关于这款软件   也显示了这是一个 ...

  8. OD调试篇10

    今天破解一个用VB写的软件 先记住一个软件PEiD.exe 这是一个可以看出由什么语言编写程序的软件   非常好用 我把今天要破解的软件拖进去了,发现这就是一个用VB写的程序 这些呢是VB破解的关键 ...

  9. OD调试篇9

    渐渐地要用比较高明一点的方法去破解软件了 那好,看看今天的程序先 先载入 测试下程序 发现这是一个未注册版本的程序,注册也不让注册,注册就跳出You have rntered an invalid   ...

随机推荐

  1. SELinux深入理解

    ps:今天在远程给服务器配置https的时候,一直乱码,以前做系统的系统第一件事情,就是关闭selinx,今天忘记了,然后就悲剧了... 弄了半天才弄好,镇定思痛,好好的来看下selinux 1. 简 ...

  2. Oracle Form Data Entry Sample

    I shared a data entry example form here in this post for Oracle Forms beginner developers, so that t ...

  3. 正则表达式获取TABLE里的内容

    //过滤\n 转换成空            String withoutNString=message.Replace("\n", "");          ...

  4. Educational Codeforces Round 6 E. New Year Tree dfs+线段树

    题目链接:http://codeforces.com/contest/620/problem/E E. New Year Tree time limit per test 3 seconds memo ...

  5. MySQL数据库一个字段对应多个值得模糊查询

    当一个字段想模糊查询出多个字段的时候,正常情况下一般会这么作 select * from a where name like 'a%' or name like 'b%' ....or ...; 但是 ...

  6. Android OkHttp完全解析 是时候来了解OkHttp了

    Android OkHttp完全解析 是时候来了解OkHttp了 标签: AndroidOkHttp 2015-08-24 15:36 316254人阅读 评论(306) 收藏 举报  分类: [an ...

  7. 初学者用div+css结构写网页的几个误区

    1.用div+css结构制作静态html网页不等于彻底抛弃古老的table写法.之所以不建议用table来布局网页是因为在网页加载很慢的时候要等table结构加载完成才能看到网页,其次是table的布 ...

  8. DIV下的DIV居中

    .ParentDIV{ display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; ...

  9. python内置函数 3

    int( [x[, radix]])转换为字符串或数字为纯整数.如果参数是一个字符串,它必须包含一个可能有符号的十进制数作为一个 Python 整 数,可能嵌入空格.以 radix 参数给出的基数为基 ...

  10. Django URL传递参数的方法总结(转)

    1 无参数情况 配置URL及其视图如下: 1 2 3 4 (r'^hello/$', hello)   def hello(request): return HttpResponse("He ...