PE文件的图标存储在资源文件中,而操作资源要用到的API函数就是UpdateResource首先我们需要先了解一下ICO格式,参考资料:http://www.moon-soft.com/program/FORMAT/windows/icons.htmICO格式不复杂,就是由数据头.数据目录.数据三个部分组成 一个.ico文件中可能含有若干个图标,我们需要将数据目录和数据解析出来.简单地写了个单元 unit Icons; interface uses Winapi.Windows, System.…
替换应用程序exe图标,主要使用的API函数是BeginUpdateResource(),UpdateResource(),EndUpdateResource()来使用自定义的ico文件类替换exe程序原来的图标. // 第一个参数是将要替换图标的exe文件路径,第二个参数是替换的ico文件路径 void ReplaceExeIco(LPCTSTR lpszApp, LPCTSTR lpszIco) { try { CFile file(lpszIco, CFile::modeRead); LO…
修改入口函数地址.这个是最省事的办法,在原PE文件中新增加一个节,计算新节的RVA,然后修改入口代码,使其指向新增加的节.当然,如果.text节空隙足够大的话,不用添加新节也可以. BOOL ChangeOEP(CString strFilePath) { FILE* rwFile; // 被感染的文件 IMAGE_SECTION_HEADER NewSection; // 定义要添加的区块 IMAGE_NT_HEADERS NThea; // DWORD pNT; // pNT中存放IMAGE…
需求:由于最近开发clover项目 ,没有使用spring,更没有使用任何框架,而使用J2EE的web工程,所以连接ZK和MongoDB.Redis等服务器需用指定properties文件, 而目前公司又分各套环境(dev.test.product),所以希望打包的时候 根据profile id 来动态使用不同环境properties文件 或者动态修改properties参数值 方法一:使用一套properties配置文件,但具体参数使用${key}占位符方式打包替换 maven的pom中指定每…
PE原理就不阐述了, 这个注入是PE感染的一种,通过添加一个新节注入,会改变PE文件的大小,将原有的导入表复制到新节中,并添加自己的导入表描述符,最后将数据目录项中指向的导入表的入口指向新节. 步骤: 1.添加一个新节;映射PE文件,判断是否可以加一个新节,找到节的尾部,矫正偏移,对齐RVA 填充新节PIMAGE_SECTION_HEADER,修改IMAGE_NT_HEADERS,将新节添加到文件尾部 2.修改导入表:判断是否使用了绑定导入表,往新节中拷贝原导入表内容,继续构造新的导入表描述符P…
//请自行添加到 Type 处PICONDIRENTRY = ^ICONDIRENTRY;ICONDIRENTRY = packed record bWidth: Byte; bHeight: Byte;" A% f% ?( F* f' A1 R bColorCount: Byte; bReserved: Byte;! l/ c3 ?6 V7 S8 k, z& B9 t0 n wPlanes: Word;5 Q4 a+ ~: R* O) v wBitCount: Word;8 u7 R(…
function setStyleSheetObjCssClassProperty(pStyleSheetObj, pSelectorText, pProperty, pValue) { var pStyleSheet = pStyleSheetObj.sheet; setSpecificStyleSheetCssClassProperty(pStyleSheet, pSelectorText, pProperty, pValue); } //修改class的属性值 //javascript方式…
WebConfig操作帮助类 /// /// ConfigurationOperator 的摘要说明 /// public class ConfigurationOperator : IDisposable { private Configuration config; public ConfigurationOperator() : this(HttpContext.Current.Request.ApplicationPath) { } public ConfigurationOperato…
/* MSDN: Any application that adds or removes fonts from the system font table should notify other windows of the change by sending a WM_FONTCHANGE message to all top-level windows in the operating system. The application should send this message by …
var aHandle : THandle; aFileSize : Integer; aFileName : String; procedure TForm1.Button3Click(Sender: TObject); begin aFileName := 'C:\101\Java_new.pdf'; aHandle := CreateFile(PChar(aFileName),GENERIC_READ, , ); // get the handle of the file aFileSiz…