nag本意是烦人的意思,nag窗口是软件设计者用来时不时提醒用户购买正版的警告窗口。

软件设计者可能认为当用户忍受不了试用版中的这些烦人的窗口时,就会考虑购买正式版本。

PE文件结构

为什么需要了解PE文件结构?

大家想象一下,某天在班上,小甲鱼突然想知道黑夜童鞋今天穿什么颜色的裤子,要怎么办呢?点名让黑夜童鞋站起来?不行,因为苍老师在上课呢。那小甲鱼就只好掏出班级里的座位名单,然后找到黑夜的名字,看是在第几行第几列就找到了,然后在看他的裤子是什么颜色,对啵?

其实如果把PE结构比作我们刚才提到的班级,那么座位名单就是PE文件头啦~

PE(PortableExecutable)可执行文件结构是一样规范,发明这个主要用来指导系统如何执行你所设计的程序。

可能有鱼油会说我TM不用十分钟可以写个小马,怎么不见得需要用到这个PE文件结构?

其实不然,因为编译器已经为你将代码按照PE结构的形式编译链接为可执行文件,这过程只是它默默的完成,所以我们没有察觉。

但是我们现在学习的是逆向,所以连一条毛我们都不能放过。

PE文件结构有一个非常优势的地方就是它在硬盘上的存储结构跟载入内存时候的存储结构是一样的。

所以,只要你了解如何在PE文件结构里边找出某样你想要的东西,那么当这个文件映射到内存后,你也可以很容易的找到它(因为OD是动态调试,程序需要先载入内存嘛)。

内存中的一个模块代表一个可执行文件进程所需要的所有代码、数据、资源的集合。

PE文件结构:

DOSheader

DOSstub

PEFile Header

ImageOptional Header

SectionTable

DataDirectories

Sections

PE文件结构

这个社会太复杂了,许多东西都蒙蔽了我们的双眼,而真相有时候确是如此简单╭(╯3╰)╮。

本质上,最下边的节区(有些人也叫区块)是运行一个程序真正需要的内容。

上边所有的“头”都仅仅是帮助Windows加载器定位和寻找下边的节区的内容。

在PE文件头中,这节课我们需要知道的是如何找到AddressOfEntryPoint即可,更多详细内容可以看下小甲鱼的《解密系列》系统篇|PE结构。

小结

GetModuleHandleA这个API函数用于获取程序的ImageBase(基址)

这个程序的MessageBox的OwnerHandle(父窗口句柄)为0(NULL),我们可以将这个值改为一个不存在的值,例如1,这样它就找不到老豆,就不会被显示出来。

名词注释:

VA(VirtualAddress,虚拟地址)

RVA(RelativeVirtualAddress,相对虚拟地址)

EP(EntryPoint,程序入口点)

OD教程(去除NAG窗口--PE文件结构)相关推荐

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

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

  2. 去除WinRAR 5.01(32位) NAG窗口

    前阵子重装系统,顺手下了一个免费的WinRAR(32位 版本号5.01).用了没多久发现这货带NAG窗口,关闭NAG窗口后居然还跳出广告窗口,如下图,不胜其扰下决定去除NAG窗口. 毕竟WinRAR是 ...

  3. OllyDbg笔记-初识PE文件(nag窗口破解)

    目录 基本概念 代码与实例 基本概念 这里主要是记录下PE文件结构: PE文件结构,它在硬盘上的存储结构跟载入内存时候的存储结构是一样的.  在PE文件结构里边找出想要的东西,当这个文件映射到内存后, ...

  4. 4. OD-去除烦人的nag窗口(去除提醒用户购买正版的警告窗口)

    所有函数返回值均放入eax中 扩展修改nop 选中语句->右键菜单->二进制->用nop填充 三种方式 1. 修改标志位je为jmp 2. 扩选判断语句+call,全部改为nop 3 ...

  5. 逆向破解--除去软件nag窗口

    作者是名新手,能力有限,文章中如果有和不正确的地方,希望各位前辈指出 本文仅作为学习的记录,做分享- 我们有时候会用非注册软件,然后软件提供者希望更多的人注册他的软件,因此烦人的nag窗口出现了,不堪 ...

  6. 去VB程序NAG窗口方法-4C法

    去除VB程序的程序启动时的NAG窗口,基本原理就是寻找到每珍具窗口的启动顺序,再改变窗口的启顺序就可以了. 具体实列如下: 当程序启动时,会出现一个NAG窗口,如下所示: OD载入程序:EP处 VB程 ...

  7. CrackMe003:NAG窗口(4C法)和浮点计算

    下面是网上的160个CrackMe的部分逆向笔记,包括逆向思路.注册机实现和逆向中常用的知识整理 注意:逆向前一定要先操作一下软件,熟悉软件的运行现象:逆向一定要自己操作一遍,看是很难看会的(高手除外 ...

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

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

  9. 学PE文件结构之记笔记

    PE PE(protable executable) 可移植的可执行文件 EXE和DLL文件之间的区别是语义上的,他们使用完全相同的PE格式.唯一的区别:用一个字段标识出EXE或DLL. 64位Win ...

  10. 【PE】PE文件结构学习

    [PE]PE文件结构学习 PE文件 内存对齐 文件对齐 PE结构分析 DOS头结构 PE头文件 区块表 输入表 输出表: 基址重定位表: 基址重定位表 欢迎各位大佬一起来免费知识星球学习: 一起探究安 ...

最新文章

  1. 贝壳大数据OLAP平台架构演进
  2. Django 的F查询与Q查询,事物
  3. Windows中获取Redis指定前缀的Key并删除掉
  4. e语言html显示框,html marguee标签
  5. YBTOJ:红与蓝(博弈论)
  6. java 静态代码块_关于Java你不知道的那些事之代码块
  7. rotateleft_Java Integer类rotateLeft()方法与示例
  8. Deep Glow for mac(AE高级辉光特效插件)支持ae2021
  9. h5难做吗_H5如何制作?制作H5是否很难?
  10. VM虚拟机下载安装步骤
  11. 推荐五款好用的项目管理软件
  12. Torch是什么,如何使用Torch,为什么选择Torch?
  13. 压缩软件大评比,7-ZIP/WinZIP/WinRAR的抗争
  14. 我是这样搞懂一个神奇的BUG
  15. 用python写生日快乐说说_祝自己生日快乐的说说
  16. ai替换混合轴例子_可解释的vs可解释的AI:一个直观的例子
  17. 易语言调用大漠插件对雷电模拟器进行后台绑定源码
  18. 广州启明星辰的面试经历
  19. fish or cut bait 当机立断
  20. plt.rcParams[‘axes.unicode_minus‘] = False #解决保存图像是负号‘ 这句话是什么意思?

热门文章

  1. std::deque的使用
  2. MongoDB管理工具studio 3t ,解决到期问题
  3. python数据集获取与基本使用(sklearn自带的数据集、UCI数据集)
  4. 思路初探:采用c#实现pdf转ofd
  5. 程序设计基础是C语言吗,程序设计基础(C语言)
  6. ie显示的html页面乱码,IE10、IE11页面中文乱码解决方案
  7. java JDK11对比JDK8
  8. 非线性系统 知识梳理
  9. 免费的Andr​​oid最好的视频播放器应用程序2012
  10. 客户端的云桌面平台配置与开启(附,登录“云电脑”与切换登录账号)