Windows 可执行文件(.exe)和动态库文件(.dll)图标资源提取工具 GitHub 功能 图标资源预览 图标资源导出(仅支持导出 PNG 格式) 代码 获取图标资源使用了 Win32 API PrivateExtractIconsW PrivateExtractIconsW 对应的 C# 代码 [DllImport("User32.dll")] internal static extern uint PrivateExtractIcons( /* _In_reads_(MAX…
正确答案: B C   你的答案: C (错误) EXE和DLL文件都是PE文件 EXE不能有导出函数,DLL可以有导出函数 EXE有x86和x64之分,则DLL没有 EXE可以单独运行,DLL则不行 PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE.DLL.OCX.SYS.COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL) dll是动态链接库,不可直接运行,dll提供库函数给其他程序调用.exe可执行…
Visual Studio 如何给生成的exe加入多个图标资源(快捷方式可调用) 方法: 打开你的VS, 文件—>新建—>文件 常规—>选择本机资源模板(rct文件) 如图一 新建后,鼠标右键 :添加资源 选择icon导入 如图二 导入你所有的资源 最后保存 使用: 项目—>属性—>应用程序—>资源 资源文件设置为刚保存的rct文件即可 如图三 保存编译即可 注:首个图标将作为你的应用程序显示的图标…
.net Reactor之exe.dll文件混淆 .net Reactor的主要功能: 1.是对dll文件.exe文件进行反编译混淆 2.对dll进行内部加锁,限制其使用的固定机器.固定时间.部署次数 2.创建证书文件,用证书管理其限制的机器.时间.部署次数 页面: 混淆方法: 1.在files>Main Assembly中选择需要加密的dll文件. 2.在Additional Files中点击Scan可添加在该dll中引用的dll文件.可不选择 3.在Quick Settings中选择混淆方式…
三.代码实现(DELPHI版本),采用第三种方式实现代码插入. 1. 定义两个类,一个用来实现在内存中建立输入表:一个用来实现对PE头的代码插入. DelphiCode: const MAX_SECTION_NUM = 20; const DYN_LOADER_START_MAGIC = $C0DE51A9; const DYN_LOADER_END_MAGIC = $C0DEE2DE; const DYN_LOADER_START_DATA1 = $DA1EDA1E; const IMPORT…
原文:使用ILmerge合并Exe.Dll文件的帮助类 using System; using System.Collections.Generic; using System.Text; using System.IO; namespace Tools { /// <summary> /// 使用ILmerge合并Exe.Dll文件的帮助类 /// </summary> public class ILmerge { /// <summary> /// 得到合并Exe.…
因业务需要,写了个manifest资源提取工具,该机制是将html文件作为入口文件进行资源抓取.原理是先简单扫html token,然后直接遍历每个tag token是否属于需要的资源(css,js,img),获取到css link的时候,再抓取里的图片文件,最后再合并成资源集合对象并创建manifest文件. 安装: $ npm install manifest-res 使用: var mr = require("manifest-res"); mr.build("http…
使用WPF开发的安装包,在创建快捷方式的时候,需要用到COM程序集Windows Script Host Object Model,引用COM程序集后,会在debug目录生成Interop.IWshRuntimeLibrary.dll,但是运行的时候,需要把这个dll放到exe一起,否则会报“未能加载文件或程序集...”的错误. 网上搜索了一番,说是可以通过ILmerge工具解决,具体步骤如下: 步骤一:下载并安装”ILMerge“,下载链接:https://www.microsoft.com/…
当我们用 VS 或其它编程工具生成了可执行exe要运行它必须要保证其目录下有一大堆dll库文件,看起来很不爽,用专业的安装程序生成软件又显得繁琐,下面这个方法教你如何快速把exe文件和dll文件打包成一个可执行文件,就像我们平时看到的单一绿色软件一样,只要双击它,就能运行你的程序,简单,方便,而且只需用最常见的winrarr即可完成 1.电脑上安装winrar,这个工具是最普及的压缩软件,我用的是winrar4.20版本 2.把的exe文件和其所依赖的dll文件以及你的ico图标放到一个文件夹内…
事先准备:只要 Visual Studio 任何版本即可. 点击开始 -> 程序 -> Visual Studio对应的版本,打开Visual Studio Tools -> 选择 命令提示进入命令行窗口,dumpbin /dependnts   “exe或dll的路径”    即可查询该exe的依赖项dll. 出处:https://blog.csdn.net/zyx19950825/article/details/83045436 ===========================…
看到一个比较简单粗暴的方式,做个记录. 直接用记事本或者notepad++(文本编辑软件都可)打开exe文件(dll文件), 会有很多乱码,接下来只需要在第二段中找到PE两个字母,在其后的不远出会出现d? 或者L. 若是d,则证明该程序是64位:若是L,则证明是32位. 64位: 32位:…
有时候需要仿照另一个程序实现一些对话框,比较笨的办法是打开那个程序,照着样子自己在VC里面画啊画.这样的效率实在有点低. 现在有很多工具可以从exe和dll里面取出图片.图片.字符串.对话框等资源.比如ResEdit,在指定include目录之后,可以直接把dialog资源反编译成MFC可用的格式,比如: // // Dialog resources // LANGUAGE 9, SUBLANG_DEFAULT 1 DIALOG 34, 22, 222, 99 STYLE DS_MODALFRA…
生成dll程序 extern "C"_declspec(dllexport) void maopao(int *p,int count);void maopao(int *p,int count){  int temp=0; for(int i=1;i<count;i++) {  for(int j=count-1;j>=i;j--)  {    if(p[j]>p[j-1])   {    temp=p[j];    p[j]=p[j-1];    p[j-1]=t…
//uses ShellAPIprocedure TForm1.Button1Click(Sender: TObject);var IconIndex:Word; h:hICON;begin IconIndex:=0; h:=ExtractIcon(HInstance,pchar('c:\windows\notepad.exe'),IconIndex); DrawICon(Form1.canvas.Handle,200,100,h);end;//用控件ImageList保存提取的图标,并在Lis…
VS预生成事件命令行 和 生成后事件命令行 宏说明 $(ConfigurationName)            当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir)                              输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部的反斜杠“\”. $(DevEnvDir)                         Visual Studio 2005 的安装目录(定义为驱动器 + 路径):…
用qt自带的windeploy工具即可 win键打开开始菜单 找到qt目录下的qt for desktop(mingw)并打开 qtcreater或者vs打开要部署的项目,构建成release模式,运行一次,找到building-release文件夹下的.exe文件并复制到要部署的文件夹中 dos下切换盘符 直接例如  e:  回车就ok cd..直接回到上层目录 用cd和dir命令在mingw qt中到要部署的文件夹中 执行windeployqt  要部署的文件名.exe ok了…
前言:由于项目需要,需制作一个注册机,将个人PC的MAC值和硬盘序列号与软件进行绑定,由于笔者的C++不是很好,所以采用C#进行开发.但在采用C#的时候,获取硬盘的MAC值和序列号的时候又不是很准确,所以这里采用C#调用C++封装的DLL文件,但是由于工具本身就小,就想将DLL文件直接封装进EXE执行文件中,于是有了下面的解决方法,该方法笔者已经实现,并投入了使用中. 具体解决方法如下: 1.首先在项目工程中加入一个文件夹,将所需DLL文件加载进来,笔者的项目目录如下图. 2.双击Propert…
一.背景 最近项目组新上项目,交付的时间比较急迫,原本好的分支管理习惯没有遵守好,于是出现下面状况: 多个小伙伴在不同的分支上开发. 原本QA环境也存在一个阻碍性的bug A 一位同事在QA环境发布了新的代码,引入了新bug B 回滚QA能修改bug B,但是对于bugA却无能为力 同时,混乱的代码管理已经导致无法确定原始发布包对应的代码版本. 最终陷入了两难的地步,既不能发布新包,回滚也无法解决问题. 好在之前了解到如何使用微软官方工具ILAsm与ILDasm对dll文件进行修改,于是开始动手…
Visual Studio 2017中使用正则修改部分内容   最近在项目中想实现一个小工具,需要根据类的属性<summary>的内容加上相应的[Description]特性,需要实现的效果如下 修改前: /// <summary> /// 条形码 /// </summary> public List<GoodsBarcodeEditModel> Barcodes { get; set; } 修改后: /// <summary> /// 条形码…
其中一个典型的问题就是安装photoshop时出现缺失文件,如下图 一般遇到这种问题我只能卸掉重装,不过现在学到了一种新的方法.下载相应的文件,将其存放到C:\Windows\System目录下即可. DLL是动态链接的英文,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件. 动态链接库文件,是一种不可执行的二进制程序文件,它允许程序共享执行特殊任务所必需的代码和其他资源.Windows提供的DLL文件中包含了允许…
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别.同时,对于程序的dll文件应该放到System32文件夹,还是SysWow64,大部分人做的决定是,32位程序放到System32,64位程序放到SysWow64.是不是这样呢,那么今天就由我身边发生的一个案例来详细的说明一下. dll文件不匹配导致数据库无法启动 前段时间,数据库做了一些功能上的…
本文为转载文章,原文地址:http://www.cnblogs.com/qguohog/archive/2011/09/13/2174897.html,仅仅是记录供后续使用,如有侵权请通知删除. 在发布dll时,可以选择编译为x86模式.x64模式以及Any Cpu模式等.那么对于已经发布的dll文件,怎么知道它是支持什么系统的呢? 方法一:Reflector 对于.Net dll文件,用Reflector工具可进行辨别: 其中的Platform Target就指明了该dll在编译时选择的目标系…
阅读目录 dll文件不匹配导致数据库无法启动 究竟是System32还是SysWow64 区分dll文件32位64位的程序让我倍感迷惑 再次判断究竟是System32还是SysWow64——意想不到的坑 Program Files (x86)与Program Files 32位程序真的需要访问System32吗 32位程序与64位程序的区别总结 参考资料 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program…
原文地址:http://www.cnblogs.com/hbccdf/archive/2014/03/09/3590916.html 自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别.同时,对于程序的dll文件应该放到System32文件夹,还是SysWow64,大部分人做的决定是,32位程序放到System32,64位程序放到SysWow64.…
1.把dll文件导入到ildasm工具中,ildasm是由微软提供的.net程序反编译工具,位于“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin” 2.在ildasm中File->dump,把dll文件转储为*.il文件存到某个指定文件夹里,得到*.il和*.res两个文件,有时也会有*.resource文件 3.用记事本打开得到的*.il文件,找到对应的方法,进行修改(如果修改的代码太多,那则需要先学习一下“C#反编译之IL语法”…
资源文件一般为扩展名为res的文件,其自带的资源编译工具BRCC32.EXE(位于/Delphi/BIN目录下) 1.编写rc脚本文本 用记事本或其它文本编辑器编写一个扩展名为rc的文件,格式分别为在资源文件中的名称->类型->实际文件名称. 例如:要将文件名 demo.Dll的文件打包成一个资源文件,首先 新建一个文本文档,输入内容 mydemoDll RCDATA demo.DLL mydemoDll 和 RCDATA 你可以随便写,这个是为了在使用资源时定义的名称和类型你也可以写成:a…
在网上找过许多文章,都没有成功获取过大图标,只能获取最大32x32.最后自己尝试了相关的windows api,终于找到一个可用的. 主要用到的C++的PrivateExtractIcons函数,具体说明请看:PrivateExtractIcons function 该函数原文有个说明可能需要注意一下:[This function is not intended for general use. It may be altered or unavailable in subsequent ver…
在做安卓设计时,找美工设计界面的漂亮图标是必不可少的,但是对于一个初创团队来说,请一个UI的成本其实也挺高的,此时对于一个偏技术的产品经理来说,从其他成熟的产品的apk中提取图标就是一个很便捷的方法,提取的方法也很简单: 1)到应用市场上下载apk,比如华为应用市场:http://app.hicloud.com/  2)用解压工具解压: 3)然后到asset文件夹或者res文件夹内找对应的图标资源即可,比如下面就是某应用的res文件夹的图标资源,基本上常用的图标都有了.   来自为知笔记(Wiz…
以下是我网上收到的方法 我都试过 成功不了 具体说下我遇到的问题 VC6.0生成的exe文件图标是用Icon下几个图标中value值最小的,顺序为IDR_MAINFRAME.IDR_ICONTETYPE.新加的,所以想更改生成的exe文件图标,只要保证图标的value值是Icon下几个图标中最小的就可以了. 如果生成的exe文件不想用VC自带的MFC图标,可以进行如下操作: 方法一.最简单的方法 1.在程序res文件夹下,删除MFC图标文件,加入自己的图标文件:([color=#FF0000][…
Pyinstaller打包附带DLL.图标和压缩EXE方法     转载: https://blog.csdn.net/xinyingzai/article/details/80282856   目的: 用Pyinstaller工具将python脚本打包成一个exe文件 原理: 利用spec配置文件实现 步骤: 1.提前用命令安装打包工具: pip install pyinstaller (已安装的略过): 2.先生成spec文件.用命令  pyinstaller -F test.py  生成t…