怎么样替换一个EXE文件里面的资源,比方说一幅位图

greensleeve 2001-07-19 02:39:53
...全文
381 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sungrass 2001-07-19
  • 打赏
  • 举报
回复
就用楼上的这种办法,挺管用
greensleeve 2001-07-19
  • 打赏
  • 举报
回复
To tangl_99(Min-Kyeong) :
我想修改一个EXE文件中的一幅位图,有什么方法 ?
GoldenEye 2001-07-19
  • 打赏
  • 举报
回复
如果不是编程的方法就好办了,打开文件中,选EXE文件,“Open As”这个选“Resources”,打开编辑你要的资源,存盘就是了。

如果要用编程的方法更新资源,请看MSDN里对“Resource”的描述:
Plaform SDK->User Interface Services->Windows User Interface->Recources
bzshow 2001-07-19
  • 打赏
  • 举报
回复
要知道PE文件頭格式。
liujie72 2001-07-19
  • 打赏
  • 举报
回复
我记得在BC++中有一个WorkShop可以从EXE中解出位图。是否可以修改就忘掉了。
star_chen2001 2001-07-19
  • 打赏
  • 举报
回复
  我也想知道,请问能将资料发给我一份吗,大家共同进步。我的地址:free_chen@china.com
HashCodeWithJava 2001-07-19
  • 打赏
  • 举报
回复
我知道.
本来有个很好的WindowsNT,2000的API函数.可是在Windows98里没有办法用.

// 想程序加入或修改一个资源 "TEXT"类型的IDR_TEXT1
// 只能在Windows2000/NT里使用
HANDLE hUpdate = BeginUpdateResource(szFilePath, FALSE);
UpdateResource(
hUpdate,
"TEXT",
IDR_TEXT1,
MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED),
lpData, //写入的数据
cbData //数据的字节数
);

详细的请见MSDN,上面有详细的解说和代码


不过如果不修改资源长度,Windows98里到有另一种方法
首先,你在必须知道你那个资源的在EXE文件里的地址和长度(这个很简单嘛,就想修改游戏一样)
然后在另一个EXE程序中通过这个地址和长度对这个EXE文件进行读写.

如果你还不清楚可以继续问我.对于这个问题我查过许多资料.
greensleeve 2001-07-19
  • 打赏
  • 举报
回复
在哪?
prettywolf 2001-07-19
  • 打赏
  • 举报
回复
怎样修改?
在另一个程序里?
这你就得仔细分析一下WINDOWS EXE文件的结构了。
一个EXE文件所有的资源都在文件头中。
greensleeve 2001-07-19
  • 打赏
  • 举报
回复
anybody know?
1,bmp_in.zip
在多文档客户区中增加位图底图演示程序(59KB)
2,bmp_in2.zip
在多文档客户区中增加位图底图(27KB)
3,bitmap_ocx.zip
一个自适应大小的位图控件(3KB)
4,bitmap_ocx2.zip
一个自适应大小的位图控件演示程序(21KB)
5,dashline.zip
一个简单的虚线类(46KB)
6,rotatedc2.zip
旋转你的图形-高级内存设备描述表演示程序(49KB)
7,rotatedc.zip
旋转你的图形-高级内存设备描述表(21KB)
8,jtdraw.zip
JTDraw -- 一个绘画的例子(165KB)
9,autofont.zip
自动字体处理类(3KB)
10,colorapp.zip
CColor - 在一个类中包括了RGB和HLS设定可执行程序(10KB)
11,colorapp2.zip
CColor - 在一个类中包括了RGB和HLS设定(20KB)
12,jpeg.zip
操作JPEG的库和源程序(390KB)
13,dibimage.zip
这个例子功能强大,能够以多种方式处理位图文件,强烈推荐 COOL(112KB)
14,ssbase.zip
屏幕保护程序基类(27KB)
15,quiz_scr.zip
十分简单的屏幕保护程序(32KB)
16,gpslib.zip
在你的应用程序中添加对GPS(全球定位系统)的支持,提供的DLL可被其它开发软件所利用(83KB)
17,throw.zip
平抛运动演示程序(40.8k VC 作者:添翼虎)(41KB)
18,dodib.zip
处理位图的例子(112KB)
19,ampuisrc.zip
类似于WinAMP的图形界面(50KB)
20,Gray.zip
一个基于DirectX的图象灰度处理示例,可是MMX的新作了(57KB)
21,Screen.zip
一个基于DirectX的截图示例,又是MMX的新作^o^,你看懂了话都能截图了(14KB)
22,opengl1.zip
OpenGL三维图形程序设计(539kb)
23,wingrap.zip
Windows图形编程(189kb)
24,Graphics.zip
VC图形编程的一个简单工程<1450kb>
25,DIBShow.zip
设备无关位图一个里例子<1830kb>
26,Clock.zip
一个数字时钟的图形的工程<1450kb>
27,PAINTOBJ.zip
一个类似于画图的小程序<1450kb>
28,detect.zip
用差影法检测图象(25KB)
29,maslog.zip
综合录井图(418KB)
30,mfdraw.zip
多功能绘图(175KB)
31,mftab.zip
自由表格(63KB)
32,cimage.zip
一套图像处理程序,支持JPEG、GIF和PNG三种格式(892KB)
33,thinkr30.zip
简单的电子表格程序(141KB)
34,aseasy5.zip
一个电子表格程序(319KB)
35,free.zip
一个电子表格程序,它能从脚本中处理数据(17KB)
36,iedit32.zip
在DOS中创建或编辑WINDOWS的图标(69KB)
37,giflt150.zip
保持GIF的可视面但减小它的大小25%(50KB)
38,gds31f.zip
观看,替换和转换 GIF/JPG/PCX/TIF/IFF/LBM/DL/ HAM/BMP/RLE/TGA/MAC/WPG/CUT/ANSI/TXT/IMG/ PBM/CUT/GL/FLI/MPG, 显示极小的图象(370KB)
39,fview10.zip
观看JPEG/GIF/TARGA 文件(72KB)
40,dta22b2.zip
从TGA文件创建FLI/FLC动画(254KB)
41,dfe-104.zip
显示字体编辑器能为EGA和VGA显示器创建新字体(219KB)
42,cmorph21.zip
create morphed images with TGA/IMG/BMP/GIF/IPI/PCX files(630KB)
43,bmp2ico.zip
转换BMP文件到WINDOWS 3.X的ICO文件(22KB)
44,alch151.zip
图形转换器(359KB)
45,aaplay10.zip
Autodesk Animator's FLI player(53KB)
46,a2r103.zip
转换ANSI 屏幕到RIP格式(17KB)
47,show204.zip
GIF/PCX/JPEG 观察器(252KB)
48,bmp.zip
操纵位图的开发包(78KB)
49,draw_in.zip
在状态条里显现图(29KB)
50,cimageb.zip
读写jpg,dib文件的类。(267KB)
51,RGNC.zip
想制做超cool图形界面吗用它吧。(18KB)
52,CISBitmap.zip
这个从Cbitmap派生的位图类使你可以通过指定一种颜色把一幅位图变透明,而它的使用差不多同Cbitamp一样简单。(2KB)
53,Cdib.zip
这个类库可以实现设备无关位图的创建,显示,读入,保存,捕捉位图(6KB)
54,geotrans.zip
行程编码,JPEG压缩编码(基本系统)(32KB)
55,smooth.zip
图象的检测,模板匹配算法代码(24KB)
56,dither.zip
图象的边沿检测与提取,轮廓跟踪算法代码(24KB)
57,colorrope.zip
腐蚀,膨胀,细化算法代码(31KB)
58,morph.zip
直方图修正和彩色变换算法代码(17KB)
59,edge.zip
实现图案化和抖动技术以及bmp2txt源代码(34KB)
60,compress.zip
图象的几何变换算法(128KB)
61,tga2gif.zip
TGA文件转换为GIF文件。(14KB)
62,tooltip.zip
可以多行显示的提示条(32KB)
63,yearmonth.zip
选择年/月的控制(39KB)
64,calen32a.zip
提供日历功能的动态库, 含有演示代码(79KB)
65,mappin.zip
你可以在你的GIS(地图信息系统)中使用这些源程序,因为它演示了在地图上的图钉效果,运行这个程序你可以在View中移动一些图标(286KB)
66,storage.zip
文件存储和流化的一些类(10KB)
67,Redraw.zip
克服控制闪烁问题(1KB)
使用VC++6.0做开发工具, 采用简单的SDI框架结构 ,一次处理一幅位图(有兴趣的可以作成MDI) 1)位图信息的数据是从左下往右下为一行,一行一行往上排的。 2)每行像素应该是4的倍数,不足的地方用空点补齐,读的时候注意跳过冗余点。 3)主要数据都存在Doc里面,BMP的主要数据存在一个由ImgData指向的BYTE型的内存空间(根据位图的大小,动态分配的)。 4)数据读进来以后,注 意向内存中贴图,以保证刷新的效率。 5)程序执行流程 应用程序生成--》打开--》CDipView的OnFileOpen 函数--》 调用CDipDoc的FileOpen 函数--》并使用myDoc->UpdateAllViews(NULL); 刷新 自动调用CDipView的OnPaint函数--》调用CDipView的OnDraw函数----一个像素点一个像素点的画 //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 比较重要的地方 读BMP文件,只能打开256色 (可以是灰度) 显示和内存贴图技术 关于调色板: 调色板实际上是一个数组,4个BYTE 分别是 B,G,R,和 Reserved 每一个像素点都有一个相应的数组。 关于VC和windows 的绘图机制: 使用GDI(图形设备接口)对象,通常使用CDC 类,CPaintDC也一样(device-context)设备上下文 windows下的MFC编程机制,消息驱动,事件等待! 全局的app(应用程序对象) 注意 手工分配内存的清除 和CDC对象的删除 以释放系统的GDI资源一个new操作符都要对应一个delete 虽然已经弄出来了,还是希望大家好好读读源程序。 你们以后的工作: 在菜单中添加菜单项,通过ClassWizzard 生成消息响应函数(当然也可手动添加), 所有的操作应当是对 BYTE* ImgData;进行的。 在完成相应的功能后 将 isnewfile 和 isnewiamge 置为真 ,并使用myDoc->UpdateAllViews(NULL); 刷新 当然,可以更加有个性化一点,有能力的同学可以自己完成。 随着课程的进行,菜单功能逐渐丰富,最后完成基本的数字图像处理的功能,而不必最后一下完成一个大的作业。

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧