博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi_检查exe文件是否是"随机基址"
阅读量:6046 次
发布时间:2019-06-20

本文共 1284 字,大约阅读时间需要 4 分钟。

ZC: cnpack 还是蛮好用的

 

1、代码:

procedure TForm1.btnRandomizedBaseAddressClick(Sender: TObject);var pDosHdr :PImageDosHeader;    pNtHdrs :PImageNtHeaders;    pNtFileHdr :PImageFileHeader;    ms :TMemoryStream;    lbRelocsStripped :LongBool;// IMAGE_FILE_RELOCS_STRIPPED;    strExe, strExe2 :string;begin  strExe := Trim(edtSelectFile01.Text);  //ShowMessage(ExtractFilePath(strExe));  //ShowMessage(ExtractFileName(strExe));  //Exit;  strExe2 := ExtractFilePath(strExe)+'ZZ_'+ExtractFileName(strExe);  ms := TMemoryStream.Create;  try    ms.LoadFromFile(strExe);    pDosHdr := ms.Memory;    pNtHdrs := PImageNtHeaders(DWORD(ms.Memory) + pDosHdr._lfanew);    if pNtHdrs.Signature <> $4550 then // PE      ShowMessage('不是PE文件')    else    begin      pNtFileHdr := @pNtHdrs.FileHeader;      lbRelocsStripped := LongBool(pNtFileHdr.Characteristics and $01);      if lbRelocsStripped then        ShowMessage('固定基址')      else      begin        if MessageBox(Self.Handle, '是否修改为固定基址?', '随机基址', MB_YESNO)=IDYES then        begin          pNtFileHdr.Characteristics := pNtFileHdr.Characteristics or $01;          ms.SaveToFile(strExe2);          ShowMessage('随机基址 改为 固定基址 ==> 操作完成');        end;      end;    end;  finally    ms.Free;  end;end;

 

2、

转载于:https://www.cnblogs.com/CodeSkill/p/5577326.html

你可能感兴趣的文章
iOS 线程锁@synchronized
查看>>
Spring事务源码梳理1----事务配置解析及切面织入
查看>>
qqqqq
查看>>
Android Gradle 3.0.0-alpha2 plugin, Cannot set the value of read-only property 'outputFile'
查看>>
Arch Linux 桌面系统安装(KDE Plasma5)
查看>>
spring boot + dubbo + zookeeper 搭建及问题解决
查看>>
spring-security 3.0.X, 让ajax login和普通login共存
查看>>
慎用Calendar的add,set,roll方法
查看>>
java中Scanner的用法。
查看>>
自定义form post提交
查看>>
java多音字首字母排序
查看>>
搭建 rsync server
查看>>
Python IDLE 代码高亮主题
查看>>
Android内存泄漏以及解决办法
查看>>
nginx禁止其他域名解析
查看>>
Oracle 12cR1 RAC 在VMware Workstation上安装(上)—OS环境配置
查看>>
把移动和社交融入SaaS云服务
查看>>
logback 常用配置详解(序)logback 简介(一)
查看>>
fastcgi与php-fpm的关系
查看>>
文件上传报413 Request Entity Too Large
查看>>