自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

跃然实验室

以你我之微光,点亮未来之星辰。

  • 博客(68)
  • 收藏
  • 关注

原创 云服务器新建端口无法访问

在云服务器里配置了一个应用,用的是9000端口但在外网无法访问解决方法配置云计算服务器以阿里云为例1、进入控制台,进入云服务器2、进入我的资源3、选择本实例安全组4、配置规则...

2019-06-23 23:19:52 519

原创 minio运行报错

minio运行报错[41m[37m[1mERROR[0m[0m[0m 8[6C[31mInvalid command line arguments: [1mInvalid total number of endpoints for erasure mode.[0m[0m7[41m [0m 8[6C> [43m[30mPlease provide an even number...

2019-06-23 22:02:16 6706 1

原创 dochub使用

1、注册用户系统设置中设置2、上传的文档无法预览当前文档正在转换中或不支持在线预览,如需阅读文档内容,请下载原文档又莫名其妙可以预览了...

2019-06-23 16:37:30 2174 5

原创 Windows下安装dochub

1.下载相关程序和依赖Libreoffice (https://www.libreoffice.org/) Calibre (https://calibre-ebook.com/download) ImageMagick (https://www.imagemagick.org/script/download.php) pdf2svg (https://github.com/Truth...

2019-06-23 15:37:09 2496 4

转载 Greenfish Icon Editor

Greenfish Icon Editor 简称 GIEP,功能很强大的ico图标、cur动画光标和图标库编辑器,支持主流的图片格式,特色是能够批量转换图片为ico图标。 使用起来也相当简单,能够满足图标制作设计,对主流的图片格式都有很好的支持,还能批量转换格式。虽然IconWorkshop也很强大,但是免费中的极品更推荐GreenfishIconEditor。GIEP工具栏上的常用工具相信大家基...

2019-06-23 08:59:36 768

原创 BCL easyConverter SDK

BCL easyConverter SDK是一款转换软件,能将pdf文档转word文档。BCL easyConverter SDK允许程序员将Adobe Acrobat兼容的PDF文档转换成Microsoft Word兼容的RTF文件。这些Word兼容的文件中的文本,图片,表格和列表能被编辑,修改或利用。BCL easyConverter SDK的使用方法和一般得转换器相似,先导入所需转换...

2019-06-23 08:56:52 14477

原创 PMP错题整理

项目经理加入一个项目,该项目具有可能会发生变更的高层级需求。项目经理识别到工作说明书(SOW)包含一个粗略的预算估算。 项目经理应该为该项目选择以下哪一项合同?A project manager joins a project with high-level requirements that are likely to change.The project manager identifies...

2019-06-18 20:25:49 3792

原创 supermap iportal使用

服务的启动与停止iPortal 管理员进行了可选的安装配置后,将*.zip 产品压缩包解压,双击 %SuperMapiPortal_HOME%/bin 目录下的 startup.bat 文件,即可启动iPortal 服务,想要停止服务时,双击%SuperMapiPortal_HOME%/bin 目录的 shutdown.bat 文件即可。用户创建与登录服务启动后,首次访...

2019-06-16 21:35:50 2924

原创 super iserver 启动

1、安装后,开始菜单找到“启动iserver服务”2、等待服务启动3、通过浏览器访问http://localhost:8090/iserver/进入管理页面

2019-06-16 21:28:03 862 1

原创 PE得到节缝隙的大小

DWORDGetSectionGapSize(PIMAGE_SECTION_HEADERs){//此处处理并不标准,因为有可能得出负数,先不考虑这种情况returns->SizeOfRawData -s->Misc.VirtualSize;}SizeOfRawData:物理大小M...

2019-06-13 11:27:17 408

原创 文件偏移——>RVA

文件偏移——>RVARVA 代表相对虚拟地址。它是相对虚拟空间里的一个地址 。举例说明,如果PE文件装入虚拟地址(VA)空间的400000h处,且进程从虚址401000h开始执行,我们可以说进程执行起始地址在RVA 1000h。每个RVA都是相对于模块的起始VA的。...

2019-06-13 11:27:08 357

原创 ZeroAdd

ZeroAddPE文件加区段工具,免杀必备的加区加段的工具,为PE文件添加一个区段,方便你在其中写入自己的代码,适合反编译工作。

2019-06-12 18:59:42 630

原创 PE结构

PE(Portable Executable)

2019-06-12 18:59:27 242

转载 PE格式--地址

2019-06-12 18:59:00 814

原创 DOS文件头和DOS块

可执行文件的向下兼容性DOS下执行一个PE文件?PE文件中的DOS部分由MZ格式的文件头和可执行代码部分组成,可执行代码被称为“DOS块”(DOS stub长度不定)MZ格式的文件头由IMAGE_DOS_HEADER结构定义DOS文件头的基本作用:1、若在DOS下执行一个PE文件,系统可以将文件解释为DOS下的.exe可执行格式,...

2019-06-12 18:58:50 631

原创 PE修改节属性

节属性更改-----可执行//修改节属性,使之属于可执行节pLastSectionInfo->Characteristics |= IMAGE_SCN_MEM_EXECUTE |IMAGE_SCN_MEM_WRITE ;

2019-06-12 18:58:44 903

原创 PE获取最后一个节

PIMAGE_SECTION_HEADER GetLastSectionInfo(void * pBase){ IMAGE_DOS_HEADER * dos_head; PIMAGE_SECTION_HEADER section_header; IMAGE_NT_HEADERS32 * pPeHeader; ...

2019-06-12 18:58:38 312

原创 判断最后一节是否需要扩大

//判断最后一节是否需要扩大DWORD NeedLastSectionEnlargeSize(PIMAGE_SECTION_HEADER pLastSectionInfo, int ShellSize){ int gapsize; gapsize = GetSectionGapSize( pLastSectionInfo); ...

2019-06-12 18:58:18 190

原创 PE汇编--导出函数名实际地址

mov esi, edi ; edi kernel32 baseAddress ,PE头位置add esi, [esi+3Ch] ; esi PE文件头,3Ch是DOS头最后一项mov esi, [esi+78h] ; esi 导出表相对地址地址赋给esi ...

2019-06-12 18:58:12 322

原创 PE导入表

导入表的位置:在PE文件的PE文件头导入表通常位于 .idata 段导入函数(Import functions )就是被程序调用但其执行代码又不在程序中的函数函数的代码位于一个或者多个DLL中动态链接 ——当PE文件被装入内存的时候,Windows装载器才将DLL装入,并将调用导入函数的指令和函数实际所处的地址联系起来导...

2019-06-12 18:58:05 667

原创 PE header

PE header 由三部分组成 字串 “PE\0\0”(Signature) 映像文件头(FileHeader)SizeOfImage字段(+50h)内存中整个PE映像尺寸按照“SectionAlignment”对齐的,它就是所有头和节的长度的总和 可选映像头(OptionalHeader)IMAGE_NT_HEADERS STRUC...

2019-06-12 18:57:43 932

原创 Windows加载器加载PE文件

加载器读取一个PE文件的过程如下:1. 先读入PE文件的DOS头,PE头和Section头。2. 然后根据PE头里的ImageBase所定义的加载地址是否可用,如果已被其他模块占用,则重新分配一块空间。3. 根据Section头部的信息,把文件的各个Section映射到分配的空间,并根据各个Section定义的数据来修改所映射的页的属性。4. 如果文件被加载的地址不是Imag...

2019-06-11 15:13:18 1440

原创 PE重定位表

重定位表解决Pe文件实际加载基址与PE文件中所指定的加载基址不同时带来的问题。保存有待修正数据的地址EXE文件不存在重定位表:对于EXE文件来说,每个文件总是使用独立的虚拟地址空间,所以EXE总是能够按照这个地址装入,这意味着EXE 文件不再需要重定位信息。  DLL文件需要重定位表:对于DLL文件来说,由于多个DLL文件全部使用宿主EXE文件的地址空间,...

2019-06-11 15:13:12 363

原创 节表和节——PE文件到内存的映射

节表和节——PE文件到内存的映射.data :未初始化的数据Rsize:只存有用数据PE文件执行时 ,Windows装载器建立好虚拟地址和PE文件之间的映射关系Windows装载器在装载DOS部分、PE文件头部分和节表部分时不进行任何处理装载节的时候将根据节的属性做不同的处理内存页的属性节的偏移...

2019-06-11 15:13:04 847

原创 PE解析导入表--实例

//得到导入表的信息:导入库名,导入函数ID,导入函数地址void CPe32 ::GetImportTableInfo(){ if (m_bSuccess) { //空结尾的导入表结构成员 I...

2019-06-11 15:12:59 412

原创 RVA和RAW(文件偏移)的转换

节表和节——RVA和文件偏移的转换RVA和文件偏移的转换的转换算法(1)循环扫描节表并得到每个节在内存中的起始RVA(根据VirtualAddress字段),并根据节的大小(SizeOfRawData字段)算出节的结束RVA,最后比较判断目标RVA是否落在某个节之内。(2)如果目标RVA处于某个节之内,那么用目标RVA减去节的起始RVA,这样就得到了目标RVA相对于节起始...

2019-06-11 15:12:52 3168

原创 PE导出表

PE文件被执行的时候,Windows装载器将文件装入内存并将导入表中登记的DLL文件一并装入根据DLL文件中的函数导出信息对被执行文件的IAT表进行修正这些包含导出函数的DLL文件中,导出信息被保存在导出表中通过导出表,DLL文件向系统提供导出函数的名称、序号和入口地址等信息Windows装载器通过这些信息来完成动态链接的过程获取导出表...

2019-06-11 15:12:46 157

原创 PE导入表-实例

目标:notepad 工具:LordPE目标:在文件中找到这个函数LordPE--计算RVA到Offset的值Import RVA:0000A048 Offset: 00009448FirstThunk RVA:0000A224 Offset: 00009624O...

2019-06-11 15:12:38 433

原创 OD单步跟踪

2019-06-11 15:12:33 1001

原创 OpenSSL编程

1、确保安装成功2、编程前在”项目添加附加目录“D:\Program Files\openssl\include\3、每个程序加入链接库#pragmacomment(lib,"libeay32.lib")#pragmacomment(lib,"ssleay32.lib")4、明确函数的具体定义例如://un...

2019-06-11 15:12:27 466

原创 字节与内存的关系

1个字节=2个16进制数内存地址是8位16进制表示,占4字节0042302000423030中间相差16个字节1位内存地址存1个字节

2019-06-11 15:12:21 4128

原创 观察PE文件结构

一、观察PE文件结构 1、PEid:使用何种编译器;使用PEid插件 2、LordPE:是否有恶意性 1)节分配:节名字是否规范 标志位:E开头,则可执行 2)入口点: 0E000在最后一节,可能...

2019-06-10 20:34:56 248

原创 PE解析导出表

PE文件头文件——数据目录表导出目录位于数据目录表的起始位置指向的地址指向导入表1、函数名称字符串所在地址的RVA值2、导出函数名对应的导出序号3、导出序号对应的导出函数地址RVA值解析导出表步骤:1、找到导出目录,通过导出目录定位到导出表的文件偏移。2、查看导出表结构第七个成员(NumberOfFu...

2019-06-10 20:34:49 203

原创 PE解析导出表--代码

//导出表信息typedef struct _EXPORT_INFO{ char cDllName[256]; //用于保存DLL库名 pFuncInfo pFunctionInfo; //指向FUNC_INFO结构体数组,用于保存若干个函数信息 long lFuncNum...

2019-06-10 20:34:43 461

原创 PE对齐粒度

按照内存对齐粒度读取到内存,不足的用0填充。文件对齐粒度200内存对齐粒度1000对齐后的大小//以dwAlignment 对齐dwOperateNum 值,也就是让dwOperateNum为dwAlignment的整数倍DWORD AlignmentNum(DWORD dwOperateNum, DWORD dwAlignment ){ ...

2019-06-10 20:34:38 1556

原创 加载PE文件——PE加载器模拟法

1、找到文件加载到内存的基址 通常为0x0040 00002、取得内存对齐粒度3、加载pe头,按照内存对齐粒度读取到指定起始地址的内存处4、加载各个节。得到节数目,定位节表,按照内存对齐粒度读取到内存,不足的用0填充。5、基址不对,需要重定位修复。// LoadPeWithRead.cpp : Defines the entry point...

2019-06-10 20:34:32 2311

原创 PE解析节表

//得到所有节的信息:节名,加载后地址,加载后大小,文件中地址,文件中大小void CPe32 ::GetSectionInfo(){ IMAGE_SECTION_HEADER * pPeSectionHeader = m_pPeSectionHeader; if (m_bSuccess) ...

2019-06-10 20:34:26 435

原创 PE文件操作类

1、分析类中需要存储的信息2、声明类3、类构造函数:传入PE文件完整路径,判断PE文件合法性,加载PE文件,为PE各部分结构体指针变量赋值。4、析构函数:释放内存5、赋值函数:为PE各结构体的指针赋值...

2019-06-10 20:34:16 212

原创 PE操作类--判断PE文件

判断一个文件是否为合法PE文件通常只需判断“MZ”头和“PE”头//判断是否为PE结构BOOL CPe32 ::IsPeFile(TCHAR* pFileName){ if (pFileName == NULL) { return FALSE ; } ...

2019-06-10 20:34:09 1077

原创 加载PE文件——内存映射文件

将程序安装内存对齐的方式读取到内存有两种方法:1、内存映射文件2、PE加载器模拟法1、内存映射文件 lpHeader所指内存是只读的,尽管是PAGE_READWRITE// LoadPeWithMap.cpp : Defines the entry point for the console application.//#include "stdafx.h"#...

2019-06-10 20:34:03 724

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除