OD调试17



程序先出现一个nag

然后出现主窗口

然后出现第二个nag窗口        我们查个壳   没有壳

那就载入OD看看,继续用调用堆栈的方法

发现一直执行用的都是这一个call,最后执行到程序结束。之后往上看见一个跳转,下个断点看看

如果一步一步,一次一次改就完全可以避免了,但是不可能,每一次都打开来改。那我们是不是能够写一段代码if第一次就跳,第二次就不跳,第三次也跳   那我们就想到了inline patch,点M   看看PE,可以在数据段写入

找到一个都是用0填充的

找个地方,储存我们想要放入的变量,当然我们要测试下这块地方,有米有被改变啊,占用神马的,那我们下个断点

重新跑起来 程序执行完一遍之后,发现并没有被断下来,说明这个地方是安全的,那我们就可以找一段空的地方写inline patch了

加个书签,我们就开始改,需要一点汇编基础

来自为知笔记(Wiz)

时间: 2024-10-03 14:24:28

OD调试17的相关文章

OD调试9—实例:深入分析代码完成软件破解

OD调试9—实例:深入分析代码完成软件破解  爆破,是最初级的解决方案,不到万不得已,我们不直接修改JNZ通关.因为这样子的话,我们就享受不到破解.逆向的真正乐趣了. 了解程序背后按照剧情发展经常会出的一些走法,逆向程序的算法,才能体会逆向的真正乐趣! 所以,今天的主题是:是男人,就跟进去吧~ 这次还是使用一个比较简单的程序,不然太复杂的话,一步步跟进程序可能会把自己搞崩溃,脑子恐怕不够搞.大家凭自己的能力,能进入多少就进入多少,一分不少,一寸不多!能力是培养出来的,耐心! 试验软件:MrBil

OD调试一个小程序的思考总结

最近用OD调试了一些小程序,有一些感悟,和大家分享一下 我用了一个多窗口的的程序(软件的试用),对如何去掉弹窗提供一些自己的看法,为大家提供一些思路 首先单步调试,会出现3个弹窗 1.通过对反汇编代码的分析,发现一个关键跳je,我们将je跳转改为jmp无条件跳转,使其直接跳过弹窗的程序 2.修改窗口句柄的值,学习过win32的人都知道,hOwner是一个父窗口的句柄,将他的值改为push 0x1,使他的子窗口失效 3.修改PE文件,alt+m进入内存映射的窗口并双击PE文件的内部 向下寻找,发现

OD调试学习笔记7—去除未注册版软件的使用次数限制

OD调试学习笔记7—去除未注册版软件的使用次数限制 本节使用的软件链接 (想自己试验下的可以下载) 一:破解的思路 仔细观察一个程序,我们会发现,无论在怎么加密,无论加密哪里,这个程序加密的目的就是需要你掏腰包来获得更多的功能或者解除限制.那么我们就可以逆向的来思考,如果该程序成功的注册后,那么程序的行为必将发生变化,如NAG去除了,如功能限制没有了等等.也就是说,程序的代码的走法也会跟未注册的时候截然不同.因为程序的行为改变了,那么决定它所有行为的代码走法也会发生变化. 二:认识OD的两种断点

OD调试篇7--笔记及解题报告

MFC:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量.其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组 件的封装类.----名词解释 开始OD调试     目的是去除软件的使用次数限制 载入程序后F8走走看 发现了弹窗 不是进入程序的窗口   那我们F2设置断点

OD调试1--第一个win32程序

OD调试一:第一个Win32程序的修改 在软件开发的过程中,程序员会使用一些调试工具,以便高效地找出软件中存在的错误.而在逆向分析领域,分析者也会利用相关的调试工具来分析软件的行为并验证分析结果.由于操作系统都会提供完善的调试接口,所以利用各类调试工具可以非常方便灵活地观察和控制目标软件.在使用调试工具分析程序的过程中,程序会按调试者的意愿以指令为单位执行. 调试逆向分为动态分析技术和静态分析技术. 动态分析技术指的是使用调试工具加载程序并运行,随着程序运行,调试者可以随时中断目标的指令流程,以

OD调试6—使未注册版软件的功能得以实现

OD调试6—使未注册版软件的功能得以实现 继续开始我OD调试教程的学习笔记. 本次试验对真正的程序进行逆向.(之前的都是为破解而专门设计的小程序) 这次试图对一个“太监版”的程序进行完整化,也就是把限制的功能恢复,把阉割的功能添加等等.用到的知识也是之前提到的,但是会有不同的地方. 试验软件:PixtopianBook.exe(一个通讯录软件) 打开原始程序运行,观察界面: 这是一个通讯录软件,老外写的,很显然,当前是未注册版,试验后发现有功能限制,限制是只能有三个分组,每组不能超过4个人.也就

OD调试3--获取使用执照

本文所用实验程序如下: 这次实验用的很多是关于跳转的.这里给大家分享张图片,是在OD 调试中各种跳转指令. 接下里,我们首先分析下这个程序,总体浏览程序,我们可以发现三个对话框, 1 2 3 分析:  请注意标记或者圈起来的地方,MessageBoxA,我们学过MFC的都知道这是一个对话框函数,当程序运行到这里,对话框就会弹出来,上面的信息也会显示在框中.我们的目的就是跳转到第三个.但是它是怎么切换的呢?仔细看,它都有一些跳转,第一个有些特殊,运行过后就结束了,可不是我们需要的.后两个是在第一个

逆向---02.je & jmp & jnz 、OD调试

OD调试基础: nop是删除跳转,你别问我,我看不见也听不见 je是条件跳转,满足条件就跳转,不满足就不跳转 jnz也是条件跳转,不满足条件就跳转 jmp是无条件跳转,管你啥呢,先跳再说  (姑且可以这么理解) 快捷键:F2下断点.F8单步执行,F9运行,重新载入:点 << 按键 (在工具栏下方的图标栏中) EIP是32位机的指令寄存器,Z标志位1~真,0~假(案例中1代表je跳转实现,0代表je跳转不实现) OD寄存器修改或者标志位修改是不能保存修改的,一般用于调试(类似于VS调试时自己临时

OD调试4--绕过nag窗口

先看一下程序的运行情况 先跳出了一个nag窗口 点确定 又跳出了一个NAG窗口,这是一些程序编写的时候常用的方法,设法让你购买正版软件, 于是今天呢,学会了四种绕过NAG的方法 我们先用OD加载进入这个程序 F8单步调试,会发现一个跳转,我们可以用*第一种老办法,将je改为jmp无条件跳转就可以绕过第一个nag. 那么*第二种方法就是用nop填充. 着重讲一下*第三种方法,就是messagebox这个函数 它有一个父句柄,那么如果父句柄呗消灭,那么它的子程序 就会被消灭 我们看到它的父句柄为NU