EXE和DLL文件之间的区别完全是语义上的,他们使用完全相同的PE格式。唯一的区别就是用一个字段标识出这个文件是EXE还是DLL。还有许多DLL的扩展,如OCX控件和控制面板程序(.CPL文件)等都是DLL,它们有一样的实体。
在IDA Pro6.1中我们扩展了Bochs调试器插件,现在已经可以进行64位代码段的调试。在IDA Pro 6.2版本中将有可能实现PE+ 可执行程序的动态调试。由于程序将会在Bochs系统中执行,因而在调试的过程中我们并不需要实际的64位操作系统,因而在实际的调试过程中可以从任何的32位或者64位的Linux,Mac OS 或者Windows操作系统中使用IDA Pro进行64位可执行文件的调试。
本节课我们不去破解程序,本节课学习给应用程序插入一些代码片段,这里我就插入一个弹窗喽,当然你也可以插入一段恶意代码,让使用的人中招, 这里有很多原理性的东西我就不多罗嗦了毕竟是新手入门教程,如果想去了解工具的原理的话可以去系统学习PE文件结构的一些内容,好了废话不多说直接开搞。
那是一个沙尘暴都能上热搜的清晨,我揉了揉眼睛从床上爬起来,顶着一路的艰难险阻来到了实验室,开机,hello 酷狗,登录PC微信,蓝屏。全剧终。
PE文件的全称是Portable Executable ,意为可移植的可执行文件,常见的有EXE,DLL,SYS,COM,OCX,PE文件是微软Windows操作系统上的程序文件。
1 程序运行先从壳代码运行,壳代码执行完之后会跳转到真正的OEP,也就是是说第一步,首先要找到真正的OEP
可以看到导入表全是0,就是这里的原因使得无法正常打开,要想打开,我们需要修复导入表
以前的曾经提过这个东西关于开机弹窗的问题(链接:http://www.h4ck.org.cn/2012/11/windowblinds-7-4蛋疼的弹窗/),那时候是解决了,并且顺便patch掉了那个试用期的提示,但是周一开机的时候忽然发现那个原本的效果不见了,取而代之的是一个灰色的没有任何风格的窗口,这个蛋疼啊。
通过邮件投递病毒文件是网络攻击常用的一种方式,因此防御邮件攻击是每个安全团队都需要重点考虑的内容。中兴通讯每天都会收到数万封外部邮件,为了及时检测每封邮件是否含有恶意文件,中兴ZInsight团队部署了自研的高级邮件防御系统,针对每个邮件附件,通过动态行为分析的方式检测是否存在威胁。本文介绍近期捕获的一起攻击事件,分析其攻击过程。
本文介绍了如何使用 NSIS 脚本实现静默安装,并给出了具体的实现步骤和代码示例。
IAT(Import Address Table)Hook是一种针对Windows操作系统的API Hooking 技术,用于修改应用程序对动态链接库(DLL)中导入函数的调用。IAT是一个数据结构,其中包含了应用程序在运行时使用的导入函数的地址。
Ring 3层的 IAT HOOK 和 EAT HOOK 其原理是通过替换IAT表中函数的原始地址从而实现Hook的,与普通的 InlineHook 不太一样 IAT Hook 需要充分理解PE文件的结构才能完成 Hook,接下来将具体分析 IAT Hook 的实现原理,并编写一个DLL注入文件,实现 IAT Hook ,废话不多说先来给大家补补课。
它们之间的关系:虚拟地址(VA) = 基地址(Image Base)+相对虚拟地址(RVA)
Ring 3层的 IAT HOOK 和 EAT HOOK 其原理是通过替换IAT表中函数的原始地址从而实现Hook的,与普通的 InlineHook 不太一样 IAT Hook 需要充分理解PE文件的结构才能完成 Hook,接下来将具体分析 IAT Hook 的实现原理,并编写一个DLL注入文件,实现 IAT Hook 。
在某社群中看到有用户网社群共享盘中上传一个名称为协议微信加好友的应用软件,并且在社群中宣称可以无限加好友和不需要通过对方确认就可以直接加好友。
早在今年上半年,破坏力极强的修改MBR并加密MFT (Master File Table)的勒索木马Petya就引起了杀毒厂商的高度关注,然而在今年下半年360白名单分析组又捕获了该作者最新的勒索木马
首先声明.text区段的起始地址是需要计算的,无论是哪个结构体里都不会直接提供某个区段的直接地址(虚拟内存地址),我就是因为想偷懒所以翻了好久的结构体成员列表,结果头都翻炸了还是没找到。
破解方法: (1)隐藏进程。可以用工具 HideToolz,也可以自己写驱动简单的做个摘链隐藏。 (2)hook 游戏遍历进程的 api。
反射式注入 dll ,不会调用 LoadLibrary 这个 API,因此也无法使用 CreateToolhelp32Snapshot 遍历到这个模块。同时也不需要 DLL 留在磁盘上(可以通过网络下发,或加密后存放在磁盘),因此这种注入方式更加隐蔽。
VMWare的GDB调试器功能比较简单也比较基础,该调试器并不知道处理器和线程的任何信息(对于Windows系统),因而如果想要得到一些高等级的信息,我们需要自己做一些额外的工作。本文主要讲解了如何使用IDAPython脚本来让IDA处理已经加载的模块列表和加载符号库。
Relocation(重定位)是一种将程序中的一些地址修正为运行时可用的实际地址的机制。在程序编译过程中,由于程序中使用了各种全局变量和函数,这些变量和函数的地址还没有确定,因此它们的地址只能暂时使用一个相对地址。当程序被加载到内存中运行时,这些相对地址需要被修正为实际的绝对地址,这个过程就是重定位。
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密,病毒分析,外挂技术等,本次的目标是手工修改或增加节区,并给特定可执行程序插入一段ShellCode代码,实现程序运行自动反弹一个Shell会话。
* 本文原创作者:追影人,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 [逆向工厂]第一章节中介绍了逆向技术的相关基础知识,其中提到逆向的两种形式:静态分析、动态分析。 本章将对静态分析技术进行讲解,重点阐述静态分析的原理方法,程序的静态结构,常见流程控制语句的静态反编译形态,并且通过实例来掌握利用IDA逆向工具的静态逆向分析技术。 一、静态分析原理与方法 上一篇章介绍到,程序运行前需要将硬盘内编译好的程序文件装载进内存,然后将指令送入CPU执行,此时程序就像“复活”一样,按照指令的“先后顺序”
无文件落地的木马主要是一段可以自定位的shellcode组成,特点是没有文件,可以附加到任何进程里面执行。一旦特征码被捕获甚至是只需要xor一次就能改变特征码.由于传统安全软件是基于文件检测的,对目前越来越多的无文件落地木马检查效果差.
我们先来看内存中的几大区: 内存到底分几个区? 下面有几种网上的理解,我整理一下: 一: 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由os回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的
勒索病毒:它的特征即磁盘文件被加密,一旦完成勒索过程则无法恢复文件,因此这类病毒以预防为主,安装杀毒软件并做好主机防黑工作及时打补丁,对重要文件要及时隔离备份。
PE 是一种文件格式,在Windows操作系统上的执行可执行文件(.exe)、动态链接库(.dll)、驱动程序以及其他可执行文件类型都是 PE 格式。了解其格式对恶意分析及使用高级的攻击手法有很大的帮助,很多高级的攻击手段都需要对 PE、PEB 有详细的了解。
通过CSP获取RSA_AES提供者句柄,导入RSA 私钥句柄,这是用于解密dll
8、HttpServletRequest对象的( )方法能够获取一个表单参数的值:
前言:自从脱壳神器de4dot横空出世以来,我们可以看到几乎所有的.net破文中的第一部分就是不管三七二十一把程序丢进去脱壳以及反混淆。可是你真的明白de4dot背后做了些什么吗?你对.net文件格式真的了解吗?如果这么好的开源工具大家都不去研究代码,实在是令人惋惜,以至于还在有人在论坛询问 Reactor最新版怎么脱的问题,也有的在论坛上断言MaxtoCode可以难倒99%的人……我想善于从基础学起,善于研究大神源码,真正搞懂de4dot背后所做的工作,那么这些问题都不算什么问题。这篇文章有点长,希望你能
在无意间从网络上获取到一款付费的游戏黑产外挂样本,并且该外挂号称可以无视游戏客户端的反外挂检测功能。好奇的心就不由自主的将外挂样本下载下来,并丢进虚拟机环境尝试学习下强大的外挂功能。
近期,火绒安全实验室在日常威胁巡视中发现一 GitHub 仓库发布的项目存在病毒风险行为,火绒安全工程师第一时间提取样本进行分析。分析中发现样本会通过多种手段对抗杀软,并最终释放 Remcos 商业远控木马控制受害者机器,且病毒作者仍在积极开发当中。目前,火绒安全产品可对上述病毒进行拦截查杀,请广大用户及时更新病毒库以提高防御能力。
众所周知,windows下可执行文件必须符合一定的格式要求,微软官方称之为PE文件(关于PE文件的详细介绍这里就不赘述了,google一下可以找到大把);用户在界面双击exe时,有个叫做explorer的进程会监测并接受到这个事件,然后根据注册表中的信息取得文件名,再以Explorer.exe这个文件名调用CreateProcess函数去运行用户双击的exe;PC中用户一般都是这样运行exe的,所以很多用户态的exe都是exlporer的子进程。
1.2、密码盗取木马:通过记录用户输入的键盘记录或屏幕截图方式窃取用户的密码或账号信息;
在InnoDB中,用户定义的表及其对应的索引数据存储在扩展名为.ibd的文件中。表空间有两种类型,常规(或共享)表空间和独立表空间文件。对于共享表空间而言,来自多个不同表及其对应索引的数据可以保存在单个.ibd文件中。而对于独立表空间,单个表的数据及其索引保存在一个.ibd文件中。
InnoDB数据存储的研究中,我提到了MySQL的Bug #67963,题目是“InnoDB每16384页中浪费62页”。我说: InnoDB偶尔需要分配一些内部记账页面;每256mib数据对应2个页。为此,它分配一个区段(64个页面),分配所需的两个页面,然后将剩余的区段(62个空闲页面)添加到一个名为FREE_FRAG的区段列表中,该区段用于单页分配。几乎没有从该列表中分配页面,所以这些页面被浪费了。 这是相当微妙的,在任何大型InnoDB表中只浪费0.37%的磁盘空间,但尽管如此,这还是很有趣的,而且很容易修复。 浪费0.37%的磁盘空间是不幸的,但不是一个大问题……
在前面《学习InnoDB核心之旅》中,我介绍了innodb_diagrams项目来记录InnoDB的内部。它提供了这篇文章中用到的所有图表。 每个页面的基本结构和空间描述是InnoDB空间文件布局的基本知识,现在我们将进一步描述InnoDB的结构与管理页面和区段。以及自由空间管理,以及它如何追踪页分配给许多不同的用途,以及使用哪个页。
在windows系统中个,每个进程拥有自己独立的虚拟地址空间(Virtual Address Space)。这一地址空间的大小与计算机硬件、操作系统以及应用程序都有关系。
在病毒查杀,应用安全对抗,静态逆向应用,动态逆向应用,最重要的对象就是,应用程序的内存数据。
上图就是DNS报文的格式,从上图可以看出,DNS报文格式分为五大部分。分别为: 报文头Header, 问题区段(Question),回答区段(Answer),权威区段(Authority), 额外信息区段(Additional)。但是不是五个段必须存在,只有Header必须存在,别的段在不同情况下不存在。
今天咱们来看一看「 插入排序 」。「 插入排序 」与「 冒泡排序 」一样都属于时间复杂O(n*n)的排序算法,并且也都是基于元素之间比较的方式来完成排序的。不过「 插入排序 」比「 冒泡排序 」在实际应用中更广泛一些,因为它的执行效率更高一点。
在Win10 x64环境下替换正常的进程,是一个比较高超的技术。使用该技术,可以内存执行病毒、木马。在文件层面实现免杀。可以把一个木马使用DES加密,放在资源里。执行时,从资源里释放出来,在内存里进行DES解密,注入到一个系统的进程中。
第二步重组将VH基因区段和D-JHCH基因区段连接起来,以获得VH-D-JHCH。
Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。
两个编码末端共价连接,可将VL基因区段与JLCL基因区段连接起来(轻链);或将D基因区段与JHCH基因区段及VH基因区段与D-JHCH基因区段连接起来(重链)。
领取专属 10元无门槛券
手把手带您无忧上云