本实验所用程序如下,一个主窗口,两个nag窗口。nag本意为烦人唠叨的意思。在这里指的是不断弹出来窗口,例如注册窗口。

这里第一个和第三个为烦人的nag窗口,这里我们要将它去除。接下来就介绍四种方法,为了简单就以第一个窗口为例。

加载程序,(F8)运行。到达一个je跳转,下面包含着是第一个对话框的内容。

再来看下运行信息提示:

分析下,这是一个je跳转。但跳转没有实现,所以就会执行到第一个对话框。只需我们修改下je这个地方就行了。

第一种方法。

修改标志位寄存器。对于je来说,当z标志位为1时跳转,那我们就把z标志位的0修改为1.让它跳转。

这样就跳过第一个nag窗口。但要注意的是修改标志位的话不会保存为可执行文件。可以在调试程序时用。

第二种方法:修改je为jmp.jmp命令为强制跳转。点击右键,汇编修改je为jmp。

效果为跳过对话框。

第三种方法:修改句柄的拥有者hOwner.什么意思呢?通俗点来讲就是这个对话框是属于谁的。例如在A对话框中调用了B对话框,A就是父对话框,B就是子对话框。就是这个道理。父进程一旦被消灭,子进程也就不存在了。我们来分析这里的情况。

这里的push  0,howner为空。表示没有父句柄,它是控制的,没有老爸。我们只需要把把push 处的0 修改为1,就行了。这里的1不可能是一个地址,不可能是一个句柄的值,所以在这里什么也不做。看效果。

同样也能跳过第一个nag窗口。

第四种方法:修改入口点,这个就有点难了。要牵扯到pe文件头,在这里就简单说一下,具体的可以上网查有关的资料。

真正有用的地方就是节区,前面很多都是无关的。下面我们来分析这个程序,程序的入口点在00401000.

在个getmodulehandlea运行后,eax寄存器显示的地址是004000.

可以和入口点的地址比较。401000-40000=1000。这1000个字节存放的就是PE文件头,从401000之后就是节区了,也就是程序代码的位置。那我们把入口地址改为401024.那样就跳过了第一个对话框。那么怎么改呢很简单,点下M().

我们看到内存分布图

双击PE文件头。进入

找到入口点的位置,004000E8,回到CPU界面,在内存地址窗口,输入004000E8.

可以看到入口地址就是1000,  00 10 00 00这是在内存中的排列顺序,低地址在前,高地址在后。在我们看来顺序应该是00001000,那我们想让入口地址为00001024,就应该24 10 00 00.这样就知道该怎么修改了。点击右键,修改。,接下来的就是保存了。

到这里几种方法已经介绍完了。对于第三个nag.也是这个道理,这里就不详细叙述了。

实验软件下载:www.fishc.com

转自:https://www.cnblogs.com/xiao-zhang/p/4398743.html

OD调试4----去除NAG窗口的几种方法相关推荐

  1. nag在逆向中是什么意思_OD 实验(四) - 去除 NAG 窗口的几种方法

    程序: 运行 弹出一个窗口,说要注册 点击确定,到主窗口 关闭主窗口 然后弹出提醒注册的对话框 逆向程序 用 OD 打开程序 GetModuleHandleA 获取程序模块的句柄,程序在内存中的基址 ...

  2. nag在逆向中是什么意思_OD调试4----去除nag窗口的几种方法

    本实验所用程序如下,一个主窗口,两个nag窗口.nag本意为烦人唠叨的意思.在这里指的是不断弹出来窗口,例如注册窗口. 这里第一个和第三个为烦人的nag窗口,这里我们要将它去除.接下来就介绍四种方法, ...

  3. linux与w7之间的切换,w7系统切换窗口怎么操作_教你w7系统切换窗口的几种方法

    在我我们的日常学习和工作中,为了方便我们能够快速的进行操作,通常都会使用切换窗口的方式来解决,这样既方便又节省时间.可是对于一些win7新用户来说,却不知道如何操作切换窗口的功能,对此,小编就在这里简 ...

  4. php首尾空格,php去除头尾空格的2种方法_PHP教程

    php去除头尾空格的2种方法 这篇文章主要介绍了php去除头尾空格的2种方法,本文给出了用preg_replace替换.trim函数两种方法并给出了示例,需要的朋友可以参考下 看似很简单的问题,其实还 ...

  5. 去除html重复的元素 js,js数组中去除重复值的几种方法

    在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的 ...

  6. html特殊字符p如何屏蔽 asp,利用asp去除html标记的四种方法

    利用asp去除html标记的四种方法 发布日期:2015-10-8 16:10:45 利用asp去除html标记的四种方法 方法一 : 使用"" 如果您想要知道如何从文本中删除ht ...

  7. php删除头尾空,分享php中去除头尾空格的2种方法

    这篇文章主要介绍了php去除头尾空格的2种方法,本文给出了用preg_replace替换.trim函数两种方法并给出了示例,需要的朋友可以参考下 看似很简单的问题,其实还是有点坑的,首先这里 空格转义 ...

  8. php去除头尾空格,php去除头尾空格的2种方法,php头尾空格2种_PHP教程

    php去除头尾空格的2种方法,php头尾空格2种 看似很简单的问题,其实还是有点坑的,首先这里 空格转义,不是字符串,直接用trim()是去不掉. 1,用preg_replace替换复制代码 代码如下 ...

  9. php去除最后一个空格,php去除头尾空格的2种方法

    php去除头尾空格的2种方法2020-06-19 15:41:35 看似很简单的问题,其实还是有点坑的,首先这里 空格转义,不是字符串,直接用trim()是去不掉. 1,用preg_replace替换 ...

  10. Response.Redirect 打开新窗口的两种方法

    一般情况下,Response.Redirect 方法是在服务器端进行转向,因此,除非使用 Response.Write("<script>window.location='htt ...

最新文章

  1. win7 docker java开发环境变量_java – Docker. Spring应用程序.设置和获取环境变量
  2. gradle 指定springcloud 版本_springcloud小技能:服务注册发现如何隔离
  3. compiz把xfce4系统搞崩溃后的恢复方案
  4. (vue基础试炼_07)Vue实例生命周期函数
  5. python—将自定义函数的路径添加到系统路径中
  6. 微型计算机原理及应用论文,微机原理及应用结业论文
  7. kali中安装使用msfconsole
  8. 阿里字体小图标的使用
  9. wps中设置公式编辑器字体颜色
  10. 安装doctrine
  11. Flash Player For Android
  12. Redis的5种数据类型与编码结构分析
  13. 联想服务器显示系统初始化,[转载]联想服务器系统设置(一)
  14. ff14不同服务器有什么影响,FF14转服后的各种弊端分析 切勿盲目跟风
  15. GMT中文字体显示配置
  16. Node-RED使用指南:6:配置与设定总结:运行环境配置
  17. Excel 公式大全与实战演示
  18. CHM:噬菌体对肠道菌群和代谢组的调控
  19. 一、ShardingSphere简介(来自官方文档)
  20. php属于行业类别,行业分类 - www.baostock.com

热门文章

  1. 如何制作Linux程序启动脚本
  2. 2020离散数学系列
  3. 基于AD09的四层板设计概要
  4. 我的世界服务器显示fps,我的世界提升fps的方法 低配玩家必备秘籍
  5. 《Java8实战》读书笔记
  6. java list 包含字符串_Java8实战:查找列表中包含的字符串
  7. 稳定的货源社区源码分享丨新版云乐购免费开源
  8. 辛苦整理2021年SSCI和SCI最新最全目录(包括中国SSCI/SCI入选期刊256本)
  9. 挑战程序设计竞赛是c语言编写的嘛,POJ 2115 C Looooops 题解《挑战程序设计竞赛》...
  10. AndroidHttpCapture抓包工具