2 a1051123 a1051123 于 2016.02.14 03:43 提问

vs如何设置,生成的exe里面才看不到函数名

我自己写的exe用OD打开后,所有的函数名都可以看见,但是我发现下载的exe没有一
个会是这样,比如优酷客户端就很干净,为什么?

3个回答

zuishikonghuan
zuishikonghuan   2016.02.14 20:52
已采纳

编译后理论上就不会再存在没有导出的函数名称了(因为没有必要这纯粹是无意义地增大程序体积),但是VS默认会生成pdb文件,并把pdb的路径写入exe文件,所以你发布的时候不发布pdb就行了,其实这个pdb就算发布了也不会给破解者多大帮助,pdb里面就是函数名称啊,各种原型啊,方便程序崩溃时调试用的,你可以在项目属性里面配置不生成pdb

caozhy
caozhy   Ds   Rxr 2016.02.14 06:24

用加壳软件压缩下,常用的有upx zprotect aspack等等。

bdmh
bdmh   Ds   Rxr 2016.02.14 09:03

压缩混淆,混淆时,那些根据名字需要进行反射的对象,不要混淆,否则就找不到了,因为混淆后,名字都变了

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
如何将VS向导生成的DLL工程切换到EXE配置
如何将VS向导生成的DLL工程切换到EXE配置 问题现象 操作步骤 问题现象调试一个大的工程时手动对编写的代码进行单元测试,已经在工程属性对话框中将“配置”生成模式从“DLL”切换到“应用程序(即EXE)”配置。 具体如下图操作。但是编译时仍然提示如下错误:1>Creating library D:\...\LAC_IO.lib and object D:\...\LAC_IO.exp 1>MSV
VS2013如何生成exe文件以及如何更改exe程序图标
首先,我们右键解决方案资源管理器,就得到了                           然后点击属性,                          然后就可找到这个更改图标的地方了。点击浏览ico文件进行替换。
VS2012中QT程序EXE文件图标设置
(1)  首先,把现有的.ico文件拷贝到此解决方案中的Resources文件下,注意:不能讲其他格式的文件(jpg/png等)直接修改后缀,这样不行,需要专门的转换工具      (2)然后,利用vs2010打开此解决方案,右击工程名,选择“添加”—》“资源”,打开一个对话框,选中“Icon”,在此对话框中选择“导入”,到Resources文件夹下找到.ico图标添加进去,就ok了。
vs更改exe生成的文件夹和拷贝文件到特定目录(如dll)
1.vs更改exe生成的文件夹 项目右击->properties->general 找到output directory,直接修改 2.生成完exe之后,要拷贝dll到特定的目录,如项目里面的release,则用xcopy命令,项目右击->properties->buildevent/post build event,输入命令 xcopy $(ProjectDir)snmp_pp.dll $
设置VS2008生成的EXE文件的版本号等信息
(1)假如你用VS2008 写的Win32 SDK程序,那么请进行如下操作: 在"Solution Explorer"里,右键点击项目,然后在弹出菜单内指向"Add",在弹出子菜单内选择"Resource"(资源),然后会弹出"Add Resource"对话框,然后点"Version",然后点"New",这时会添加一个版本描述资源,exe文件的任何信息都在此描述。   (2)
VS2012生成的exe的图标的添加
VS2012生成的exe的图标的添加大家是否还记得初学C++时,用VS生成的黑框框程序? 这里回顾下编译当年的HelloWorld 而且,还是学了好久那种,在上面也有一些自己得意的作品,但是当你向别人展示你的exe时,自然而然的会产生这么一个念头——好难看的图标,好没有个性:然后,用着VS2012的我到处去找教程,就是为了换这个图标,找遍了vs的项目属性里面的东西,都找不到【哭】【哭】 最终中
VS2008下编译生成exe的设置
在项目属性---》配置属性 --》C/C++ ----》代码生成中设置 “运行时库”设置为:多线程调试(/MTd),确定之后,再重新编译一次便可以将生成的exe在没有安装vs2008的机器上使用。这种设置是将项目所有的代码、需要的库文件全部都加入到生成的exe中,也可发现,这种设置的exe文件比较大。 另外,还可以看见,在下拉菜单中,还有一个选项:“多线程(/MT)” ,这个选项也是将所需要的一
vs程序生成后找不到exe文件
基于debug编译的在工程录下的Debug文件夹下 基于release编译的在工程录下的Release文件夹下 对应于不同编译,将Release或Debug文件夹中的文件全部删除,重新编译
VS2010中修改生成程序的名称
在CMainFrame的PreCreatWindow中 加入: cs.style&=~FWS_ADDTOTITLE; cs.lpszName=_T("修改的文件名称");   如果要修改生成的exe的文件名则在“项目—属性—配置属性—常规”中“目标文件名”中直接将$(ProjectName)改为你想要的可执行文件名如:“数据库查询系统”。编译生成以下,在DEBUG目录中即可找到更
MFC中对生成exe文件的图标更改方法
创建或打开工程Icon(以下都以工程名为Icon为例), 单击Workspace窗口的ResourceView标签,选中资源ID为IDR_MAINFRAME图标资源,然后按Delete键把它删除掉。注意:一定要把它删除才行。 从Developer Studio的Insert菜单中选择Resource,然后选择Icon,新建(New)一个新的图标或导入(Import)一个已有的图标。 把新图标