首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文 读懂 还原 破解 incaseformat病毒

其实就是个tsay.exe,用delphi语言开发程序,不过它将应用程序伪装成文件夹一样效果,这就是给大家挖了个大坑,大家一般情况下不注意手快就点进去想打开文件夹那种冲动。 ?...通过下图PE加载工具我们可以很清晰看到该tsay.exe是32位应用程序,而且它是用Delphi语言开发。 ?...通过下面区段信息看到这个就是一个delphi标准区段信息,delphi正常区段信息是包含8个区段信息。...对病毒文件进行界面及控件详细分析 通过DeDe工具上分析到,该病毒文件其实就是一个很简单delphi应用程序,它界面上就一个Label1控件和4个定时器控件而已。 ?...Delphi是一个可视化语言类似于MFC主要用于做可视化用,但是在启动病毒样本时候发现没弹出任何对话框,这个就涉及到Delphi隐藏窗口功能,它实现原理:delphi中Form.Create创建完窗口

1.1K114

一文 读懂 还原 破解 incaseformat病毒

其实就是个tsay.exe,用delphi语言开发程序,不过它将应用程序伪装成文件夹一样效果,这就是给大家挖了个大坑,大家一般情况下不注意手快就点进去想打开文件夹那种冲动。 ?...通过下图PE加载工具我们可以很清晰看到该tsay.exe是32位应用程序,而且它是用Delphi语言开发。 ?...通过下面区段信息看到这个就是一个delphi标准区段信息,delphi正常区段信息是包含8个区段信息。...对病毒文件进行界面及控件详细分析 通过DeDe工具上分析到,该病毒文件其实就是一个很简单delphi应用程序,它界面上就一个Label1控件和4个定时器控件而已。 ?...Delphi是一个可视化语言类似于MFC主要用于做可视化用,但是在启动病毒样本时候发现没弹出任何对话框,这个就涉及到Delphi隐藏窗口功能,它实现原理:delphi中Form.Create创建完窗口

98120
您找到你想要的搜索结果了吗?
是的
没有找到

PE文件简介

PE文件全称是Portable Executable,意为可移植可执行文件,常见EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上程序文件(可能是间接被执行...它是跨win32平台,只要运行在Windows上,不管是在什么体系CPU上都可以运行 PE文件使用平面的地址空间,所有代码和数据都合并在一起,组成一个很大结构,文件内容被分为不同区块,块中包含代码和数据...文件存储在磁盘上时候,各个数据地址相对于文件头距离为文件偏移地址 虚拟地址(VirtuallAddress VA)应用程序访问逻辑地址也就是它虚拟地址 基地址(ImageBase):...文件被映射到内存时,初始地址叫做基地址 pe文件大致结构如下图所示: 一般在说到PE文件时都会涉及到以下几个名词 基地址(ImageBase):PE文件被加载到内存中首地址,是这个模块句柄...,可以使用函数GetModuleHandle来获取 文件偏移地址:PE文件中各个部分相对于文件头偏移 相对虚拟地址(RVA):PE结构被映射到内存中后,某个位置所在内存相对于基地址偏移

1.4K20

想要成为黑客?那你需要学会这些知识

delphi熊猫烧香,delphi是什么语言?是Windows平台下著名快速应用程序开发工具(Rapid Application Development,简称RAD)。...由Borland公司推出Delphi是全新可视化编程环境,为我们提供了一种方便、快捷Windows应用程序开发工具。...它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用完整面向对象程序语言(Object-Oriented Language)、当今世界上最快编辑器、...其实delphi就是一个图形化开发工具。delphi本身不牛逼,牛逼设计人员。delphi对于c语言应该简单很多。...4.系统 了解各种系统如Windows内部API,sockets编程,IP proxy,系统设计坑定存在漏洞,只有我们掌握了其原理,瓜会摸到

1.1K00

CC++ 进程隐藏&加载寄生&僵尸进程

众所周知,windows下可执行文件必须符合一定格式要求,微软官方称之为PE文件(关于PE文件详细介绍这里就不赘述了,google一下可以找到大把);用户在界面双击exe时,有个叫做explorer...一个exe一般会调用多个dll,后面加载dll肯定会和前面加载dllimagebase冲突),这个时候只能把dll或exe加载到其他虚拟地址;一旦改变了imagebase,涉及到地址硬编码地方都要改了...loadLibrary类似:只要是通过windows提供API使用内存,都会在某些地方被记录,这也是windows常见内存管理方式之一,用了必须记录!...为了标注各个段在磁盘中位置,就衍生出了PointerToRawData:即磁盘中,每个段头部相对于文件开始位置距离;当运行程序时,需要把文件加载到内存。...原理很简单,如下: 先计算出RAV,也就是当前虚拟地址相对于所在段距离,比如上面的0x401010-0x401000=0x10,也就是这个地址距离text段偏移是0x10;现在问题就转换成了怎么找text

72520

PE数据目录表解析

过程中总结一下常用到基础知识: 基地址(ImageBase):当PE文件通过Windows加载器载入内存后,内存中版本称为模块,映射文件起始地址称为模块句柄,可通过模块句柄访问内存中其他数据结构...导入函数就是被程序调用但其执行代码不在程序中函数,这些函数在DLL文件中,当应用程序调用一个DLL代码和数据时,它正被隐式地链接到DLL,这个过程由Windows加载器完成。...ImageBase就是前面讲到PE拓展头中一个成员: 对EXE文件来说,EXE文件会首先加载到内存,每个文件总是使用独立虚拟地址空间,这就意味着EXE文件不用考虑基址重定位问题; 对于DLL文件来说...对于系统DLL来说实际上不会发生重定位,因为同一系统kernel32.dll、user32.dll等会被加载到自身固有的ImageBase。...WORD Tyoe : 4; }TYPE, * PTYPE; WindowsPE装载器进行PE重定位处理操作原理流程如下: 在应用程序当中查找硬编码位置 读取之后减去ImageBase,也就是用

1.6K20

PE文件和COFF文件格式分析——签名、COFF文件头和可选文件头3

目前我也没找到在VC工程设置中可以设置这两个属性地方。         Subsystem是该文件运行于子系统信息。...一般我们在windows平台上遇到是2,它对应于IMAGE_SUBSYSTEM_WINDOWS_GUI。         ...熟悉windows朋友应该知道,微软刚开始设计系统时,是设计成一个平台性质——可以运行3个子系统(OS/2、POSIX和Windows系统。这个就是这两个属性由来。         ...SectionAlignment是当映像文件加载到内存中时节对齐值,该大小使用字节来衡量。它必须要大于我们之后介绍FileAlignment。它默认值是相应系统页面大小。         ...我发现我电脑上很多文件该PE字段和计算出来不等。官方解释说当驱动程序、在引导时被加载Dll以及加载到关键windows进程中DLL都需要校验该字段以确认其合法性。

1.2K30

TIOBE 3 月编程语言排行榜:Java 大涨,Delphi 辉煌不再!

对于已经复工的人来说,上班路上人员众多,一定要做好自我保护,没有什么比生命更重要! 进入三月,新编程语言排行榜新鲜出炉,TIOBE 最新发布了 3 月编程语言排行榜。...Delphi即将跌出TIOBE指数前20名 Delphi作为 Windows 平台下著名快速应用程序开发工具以及一款 IDE,很多开发者都深知他强大,因此评价道“真正程序员用 C++,聪明程序员用...这大概是 Delphi最终没落迹象。自2001年6月TIOBE指数存在以来,Delphi一直位居前20名,在2000年代初,它是最流行语言和IDE之一。...2002年发行 Delphi 7大概是它巅峰,此后 Delphi开始陷入麻烦,包括Linux移植失败,版本出现错误等等。与此同时,一些具有类似功能 IDE席卷市场,Delphi开始衰退。...TIOBE认为,导致 Delphi没落另一个主要原因是它发行频率太低。原先每年都有一个主要版本,而2018年之后,Delphi却没有了什么新动静。

1.1K20

Java基于百度AI+JavaCV+OpenCV 实现摄像头人数动态统计

但是小帅丶就先用这样方式实现了。别的方式大家就自己尝试吧 有可能显示in out不对。请设置帧率试试。鄙人不是专业。所以对帧率也不是很懂。以下代码加入也没有明显变化。...1.动态识别的area参数为矩阵4个顶点xy坐标(即像素) 顺序是 上左下右 也就是顺时针一圈4个点坐标点 2.case_id 为int 请不要给大于int范围值。...或非int类型值 即正整数就行 3.area值不要大于图片本身宽高 需要用到jar 通过maven引入(下载jar较多。...,对应于 Windows 风格 BGR 颜色模型,具有用 3 字节存储 Blue、Green 和 Red 三种颜色。...] imageInByte = baos.toByteArray(); Encoder base64 = Base64.getEncoder(); String imageBase64

1.3K21

免杀基础之一文学废PE文件格式

基础知识 基地址(ImageBase):当PE文件通过Windows加载器载入内存后,内存中版本称为模块,映射文件起始地址称为模块句柄,可通过模块句柄访问内存中其他数据结构,这个内存起始地址就称为基地址...导入函数就是被程序调用但其执行代码不在程序中函数,这些函数在DLL文件中,当应用程序调用一个DLL代码和数据时,它正被隐式地链接到DLL,这个过程由Windows加载器完成。...ImageBase就是前面讲到PE拓展头中一个成员: 对EXE文件来说,EXE文件会首先加载到内存,每个文件总是使用独立虚拟地址空间,这就意味着EXE文件不用考虑基址重定位问题; 对于DLL文件来说...对于系统DLL来说实际上不会发生重定位,因为同一系统kernel32.dll、user32.dll等会被加载到自身固有的ImageBase。...WORD Tyoe : 4; }TYPE, * PTYPE; WindowsPE装载器进行PE重定位处理操作原理流程如下: 在应用程序当中查找硬编码位置 读取之后减去ImageBase

1.4K20

PE格式:手写PE结构解析工具

,当节被装入内存时候,同一个节对应内存页面将被赋予相同页属性,Windows系统对内存属性设置是以页为单位进行,所以节在内存中对其单位必须至少是一个页大小,对于X86来说这个值是4KB(1000h...,两者值可能不同,所以一个节被装入内存后相对于文件头偏移和在磁盘文件中偏移可能是不同。...节区尺寸: 由于磁盘映像和内存映像对齐单位不同,磁盘中映像在装入内存后会自动进行长度扩展,而对于未初始化数据段(.data?)...不进行映射节: 有些节中包含数据仅仅是在装入时候用到,当文件装载完毕时,他们不会被递交到物理内存中,例如重定位节,该节数据对于文件执行代码来说是透明,他只供Windows装载器使用,可执行代码根本不会访问他们...对于磁盘上PE文件来说,它无法得知这些导入函数会在那个内存那个地方出现,只有当PE文件被装入内存时,Windows装载器才将DLL载入,并调用导入函数指令,和函数实际所处地址联系起来。

1.5K20

PE格式:手写PE结构解析工具

,当节被装入内存时候,同一个节对应内存页面将被赋予相同页属性,Windows系统对内存属性设置是以页为单位进行,所以节在内存中对其单位必须至少是一个页大小,对于X86来说这个值是4KB(1000h...,两者值可能不同,所以一个节被装入内存后相对于文件头偏移和在磁盘文件中偏移可能是不同。...节区尺寸: 由于磁盘映像和内存映像对齐单位不同,磁盘中映像在装入内存后会自动进行长度扩展,而对于未初始化数据段(.data?)...不进行映射节: 有些节中包含数据仅仅是在装入时候用到,当文件装载完毕时,他们不会被递交到物理内存中,例如重定位节,该节数据对于文件执行代码来说是透明,他只供Windows装载器使用,可执行代码根本不会访问他们...对于磁盘上PE文件来说,它无法得知这些导入函数会在那个内存那个地方出现,只有当PE文件被装入内存时,Windows装载器才将DLL载入,并调用导入函数指令,和函数实际所处地址联系起来。

97720

delphi vcl_delphi数据类型

每个Delphi应用程序都有一个指向TApplication对象指针,此指针称为Application,用TApplication类主要执行消息框,管理快捷帮助,为按钮和状态栏设置提示文本。...这些类大部分都封装了一个Windows控件,TMainMenu类封装一个应用程序主菜单,在设计阶段,双击MainMenu组件图标就会出现Menu Designer。...Interval属性设置,TTimer是一个非可视化组件。...下图显示了GDI类继承关系: 11、实用类(Utility Class) VCL包括很多实用类,这些实用类可以用在应用程序中,实用类可以简化一些Windows编程。...更多这些类详细信息请大家自己看看Delphi VCL Help。 这不是全部 讨论到这里并没有讨论到所有的VCL类,但这里所涉及到类在应用程序中用到可能性很大。

2.7K10

443视频看完编程语言排行榜15年沉浮:Python这样上位

流行归功于iPhone成功,编写iPhone应用程序主要编程语言是Objective-C。...03 2004.12-2005.01:争执不休Python和Delphi ? DelphiWindows开发平台,其最初原型是DOS时代盛行一时“BorlandTurbo Pascal”。...C#是微软公司在2000年6月发布一种新编程语言,是第一个面向组件编程语言,它借鉴了Delphi一个特点,与COM(组件对象模型)直接集成,并且新增了许多功能及语法,而且它是微软公司.NET windows...站在后人角度看当时人们对于C#语言理解还挺有意思,2006年人们对于C#语言还是充满了疑问,产生了C#与C语言区别,C#.NET前景如何诸如此类问题,同样在百度搜索引擎中输入C#语言得到结果如下...例如要查找一个字符串数组names中所有长度大于5字符串,就可以写:var longname = from n in names wheren.Length > 5 select n; 这些原因加起来

1.6K82

某查询和短信轰炸样本分析

通过下图工具查看到,该样本是Delphi语言开发。相信它是80后才能接触到开发语言,所以使用这个语言基本是上年纪了,delphi在一些早期发展起来公司内部工具或系统还会存在低维开发。...3、设置自启动 通过往注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run路径下写入应用程序信息,实现程序自启动行为...2、设置隐藏文件 通知直接调用系统SetFileAttributesA函数,将应用设置为隐藏状态,如果没有将文件属性中隐藏属性打开,那么是没办法看到应用程序。...5、邮件发送 使用Delphi中封装好邮件发送库,使用邮件服务器是smtp.gmail.com,它所发往邮件目的xredlinel@gmail.com。...感染修复方案(建议自动化用病毒查杀软件处理或者写程序实现): 1、通过病毒查杀软件进行查杀已感染应用程序并修复。 2、手动方式删除注册表设置自动启动程序,并将进程强制关闭。

25110

DLL 注入

这些模块通常扩展主程序功能。 什么是DLL注入 由于注入 dll 可以操纵正在运行进程,因此它为我们提供了向应用程序添加我们想要任何功能绝佳机会。...对于那些以前没有使用过winapi的人来说,这只是表示函数期望字符串类型。在这篇文章中,我们将使用 LoadLibraryA 函数,这仅仅是因为个人喜好以及我通常如何设置工具。...对于我们注入器,我们可以只使用PROCESS_ALL_ACCESS访问权限。 您可以通过任务管理器通过转到详细信息并查看进程旁边 PID 来找到进程 ID,但这需要时间并且不是我们想要方式。...Windows 为我们提供了一个很好数据结构,使我们可以根据 DOS 标头中定义偏移量访问两者。...一旦加载到内存中,我们将遍历所有 thunk 并设置所有函数调用地址。对于这一部分,我们将只使用 LoadLibrary,因为解析所有相对路径(KERNEL32 等)会很麻烦,而且有点不必要。

4.9K00

PE文件小知识

没有新结构加进去,其余改变知识简单将以前32位字段扩展成64位了。对于c++代码,windows文件头配置使其拥有不明显区别。...存中一个简单对于PE文件装入地址偏移位置。...它们之间关系如下: 虚拟地址(VA)=基地址(ImageBase)+相对虚拟地址(RVA) 1.5 文件偏移地址 当PE文件储存在磁盘上时, 某个数据位置相对于文件头偏移 量,称为文件偏移地址(...默认对齐尺寸是目标CPU页尺寸。对于运行在Windows 9x/Me下用户模式可执行文件,最小对齐尺寸是一页1000h(4KB)。这个字段可以通过链接器/ALIGN开关来设置。...上图中2位置高亮显示IMAGE_FILE_HEADER项中,包含了关于文件基本信息,有时呢,我们还会看到一个时间戳,但是这个时间戳不一定靠谱,如果是Delphi编译,那么时间戳统一是92年6月19

11310

4.3 IAT Hook 挂钩技术

IAT(Import Address Table)Hook是一种针对Windows操作系统API Hooking 技术,用于修改应用程序对动态链接库(DLL)中导入函数调用。...IAT是一个数据结构,其中包含了应用程序在运行时使用导入函数地址。IAT Hook原理是通过修改IAT中函数指针,将原本要调用函数指向另一个自定义函数。...这样,在应用程序执行时,当调用被钩子函数时,实际上会执行自定义函数。通过IAT Hook,我们可以拦截和修改应用程序函数调用,以实现一些自定义行为,比如记录日志、修改函数参数或返回值等。...0,这是因为Windows装载器在加载时会动态获取第三方函数地址并自动填充到这些位置处,我们并没有运行EXE文件所以也就不会填充,为了方便演示,我们将程序拖入x64dbg让其运行起来,然后来看一个重要结构...循环遍历导入表中IAT表,找到与MessageBox地址相同4字节位置。找到后通过VirtualProtect设置内存属性可读写,并将自己函数地址写入到目标IAT表中。

69020

4.3 Windows驱动开发:监控进程与线程对象操作

4.3.2 实现监控进程中模块加载 系统中模块加载包括用户层模块DLL和内核模块SYS加载,在内核环境下我们可以调用PsSetLoadImageNotifyRoutine内核函数来设置一个映像加载通告例程...PsSetLoadImageNotifyRoutine 函数用来设置一个映像加载通告例程。该函数需要传入一个回调函数指针,该回调函数会在系统中有驱动程序或 DLL 被加载时被调用。...当一个映像被加载时,Windows 内核会检查是否已注册了映像加载通告例程。如果已注册,则内核会调用该例程,将被加载模块信息作为参数传递给该例程。通常,该例程会记录或处理这些信息。...,则下一步就要进行驱动屏蔽工作,对于驱动屏蔽来说最直接办法就是在程序入口位置写入Mov eax,c0000022h;ret这两条汇编指令从而让模块无法被执行,此时模块虽然被加载了但却无法执行功能,...本质上来说已经起到了拒绝加载效果; 通过ImageInfo->ImageBase 来获取被加载驱动程序hook.sys映像基址,然后找到NT头OptionalHeader节点,该节点里面就是被加载驱动入口地址

20020
领券