用VC查看exe文件中的二进制资源
2013-09-27 21:05
288 查看
转自:http://blog.163.com/wang_ly2442/blog/static/94943407201382784112698/
从https://github.com/luoshupeng/MineSweeper上下载了一个仿Windows的扫雷程序,界面和 Windows 中的扫雷一模一样,所以推测它所用的资源文件应该是从 Windows 版扫雷程序中拿出来的。
用VC从一个exe文件中拿到资源文件方法如下:
1. 用VC打开文件
2.找到C:\WINDOWS\system32\winmine.exe,注意,这里点击“打开”右边的向下箭头,用“Open with”打开winmine.exe
3.用Resource Editor打开
4. 看到资源列表
5. 打开一幅位图可以看到
而从 https://github.com/luoshupeng/MineSweeper 下载的工程,用VC打开后,看到的资源布局和每个资源的内容,竟然和winmine.exe里面的资源惊人的一致!于是推测,前者是直接使用了后者的资源,然后自己写的程序逻辑。MineSweep的Release版exe大小为161K,winmine.exe大小为117K,二者大小相差也不是很大!
事实上,用上述方式打开winmine.exe后,如果没有选“只读”方式打开的话,是可以在VC中直接修改二进制资源的,比如将版本号换掉,将作者名字换掉等,然后保存即可。下次人家再运行winmine.exe的时候,看到的作者就是修改过后的作者名了,而你却一行代码也无需修改!
【yasi】
当然,既然已经知道了这个修改资源的“漏洞”,那么我们是可以预防资源被别人恶意修改的,比如给exe“加壳”,这是后话了。感兴趣的同学可以查看
加壳与脱壳的原理
从https://github.com/luoshupeng/MineSweeper上下载了一个仿Windows的扫雷程序,界面和 Windows 中的扫雷一模一样,所以推测它所用的资源文件应该是从 Windows 版扫雷程序中拿出来的。
用VC从一个exe文件中拿到资源文件方法如下:
1. 用VC打开文件
2.找到C:\WINDOWS\system32\winmine.exe,注意,这里点击“打开”右边的向下箭头,用“Open with”打开winmine.exe
3.用Resource Editor打开
4. 看到资源列表
5. 打开一幅位图可以看到
而从 https://github.com/luoshupeng/MineSweeper 下载的工程,用VC打开后,看到的资源布局和每个资源的内容,竟然和winmine.exe里面的资源惊人的一致!于是推测,前者是直接使用了后者的资源,然后自己写的程序逻辑。MineSweep的Release版exe大小为161K,winmine.exe大小为117K,二者大小相差也不是很大!
事实上,用上述方式打开winmine.exe后,如果没有选“只读”方式打开的话,是可以在VC中直接修改二进制资源的,比如将版本号换掉,将作者名字换掉等,然后保存即可。下次人家再运行winmine.exe的时候,看到的作者就是修改过后的作者名了,而你却一行代码也无需修改!
【yasi】
当然,既然已经知道了这个修改资源的“漏洞”,那么我们是可以预防资源被别人恶意修改的,比如给exe“加壳”,这是后话了。感兴趣的同学可以查看
加壳与脱壳的原理
相关文章推荐
- VC释放EXE资源文件
- VC释放EXE资源文件
- VC释放EXE资源文件
- 将二进制文件加入VC资源后释放执行
- VC释放EXE资源文件
- VC从EXE中提取资源文件
- VC++中的DUMPBIN 工具用来查看PE(可移植执行体)文件(EXE、dll。。。)
- VC释放EXE资源文件
- vc中将一个独立的dll(exe),作为资源加入资源文件中
- VC释放EXE自身的资源文件
- 如何将自己的文件作为资源文件放入VC工程中?如何在运行时,从EXE文件中提取(释放)出这个文件?
- VC释放EXE资源文件
- VS2010可以打开.exe文件和dll文件查看资源
- vs2005打开exe文件查看资源
- 将文件作为资源放入VC工程中?在运行时从EXE文件中提取(释放)出这个文件?
- VC释放资源文件DLL,EXE等。。。
- VC释放EXE资源文件
- VC释放EXE资源文件
- 将二进制文件加入VC资源后释放执行
- 发一款资源查看,编辑软件,可以编辑dll,exe,res等后缀名的文件的小东东(Reshacker汉化版)