VC 使用什么代码能让exe膨胀数倍大小

lookjoyson 2015-05-05 03:30:16
VC 使用什么代码能让exe膨胀数倍大小
...全文
136 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mewiteor 2015-05-06
  • 打赏
  • 举报
回复
引用 7 楼 lookjoyson 的回复:
[quote=引用 6 楼 mewiteor 的回复:]
for /L %i in (1,1,循环次数) do type 程序名.exe>>程序名.exe
循环次数填一个正整数,最后大小为 程序名.exe的大小^(循环次数+1) 或者
fsutil file createnew tmp 文件大小
copy /b 程序名.exe+tmp 程序名.exe
del tmp
最后大小为 程序名.exe的大小+文件大小
求完整点, 最好是 程序名.exe运行后开始膨胀自身大小,不用资源文件[/quote]
#include<windows.h>
int main(int argc,char** argv)
{
	if(1==argc) // 正常运行时
	{
		char fileold[MAX_PATH],filenew[MAX_PATH];
		HANDLE hFile,hProcess;
		char szCmdLine[600];
		
		GetModuleFileNameA(NULL,fileold,_countof(fileold)); // 获取进程路径
		
		GetTempPathA(MAX_PATH,filenew);	// 获取临时文件夹
		GetTempFileNameA(filenew,"CHG",0,filenew);
		
		CopyFileA(fileold,filenew,FALSE); // 复制自身生成一个的临时程序
		
		hFile=CreateFileA(filenew,0,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_FLAG_DELETE_ON_CLOSE,NULL); // 这里是为了加上FILE_FLAG_DELETE_ON_CLOSE标志,表示此临时程序结束后自动删除
		hProcess=OpenProcess(SYNCHRONIZE,TRUE,GetCurrentProcessId());	// 获取进程句柄
		sprintf(szCmdLine,"\"%s\" %llu \"%s\"",filenew,(unsigned long long)hProcess,fileold); // 生成调用命令
		
		STARTUPINFOA si={sizeof(STARTUPINFO)}; 
		PROCESS_INFORMATION pi;
		CreateProcessA(NULL, szCmdLine, NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi); // 以临时程序创建新的进程
		
		CloseHandle(hProcess);
		CloseHandle(hFile);
	}
	else if(3==argc) // 调用的临时文件
	{
		HANDLE hProcess;
		unsigned long long ullProcess;
		char str[600];
		
		sscanf(argv[1],"%llu",&ullProcess);	// 获取临时程序的句柄
		hProcess=ullProcess;
		
		WaitForSingleObject(hProcess,INFINITE);	// 等待原进程结束
		CloseHandle(hProcess);
		
		sprintf(str,"type \"%s\">>\"%s\"",argv[2],argv[2]);	// 使原exe文件大小翻倍
		system(str);
	}
	return 0;
}
encoderlee 2015-05-06
  • 打赏
  • 举报
回复

#pragma data_seg(".data")
char data[100000000] = {0};
#pragma data_seg()
Eleven 2015-05-05
  • 打赏
  • 举报
回复
你是做恶意软件吗?写垃圾数据到exe文件末尾?
lookjoyson 2015-05-05
  • 打赏
  • 举报
回复
引用 6 楼 mewiteor 的回复:
for /L %i in (1,1,循环次数) do type 程序名.exe>>程序名.exe
循环次数填一个正整数,最后大小为 程序名.exe的大小^(循环次数+1) 或者
fsutil file createnew tmp 文件大小
copy /b 程序名.exe+tmp 程序名.exe
del tmp
最后大小为 程序名.exe的大小+文件大小
求完整点, 最好是 程序名.exe运行后开始膨胀自身大小,不用资源文件
mewiteor 2015-05-05
  • 打赏
  • 举报
回复
for /L %i in (1,1,循环次数) do type 程序名.exe>>程序名.exe
循环次数填一个正整数,最后大小为 程序名.exe的大小^(循环次数+1) 或者
fsutil file createnew tmp 文件大小
copy /b 程序名.exe+tmp 程序名.exe
del tmp
最后大小为 程序名.exe的大小+文件大小
worldy 2015-05-05
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
[quote=引用 1 楼 jennyvenus 的回复:] 将整个硬盘当资源加入exe。
还是将整个互联网内容当资源加入exe更高大上吧。[/quote] 加两个互联网吧
oyljerry 2015-05-05
  • 打赏
  • 举报
回复
添加一些大的图片,二进制数据等资源,编译进exe
likfeng 2015-05-05
  • 打赏
  • 举报
回复
添加图片、音频、压缩文件、Word文档等文件到资源中,体积立马变大
赵4老师 2015-05-05
  • 打赏
  • 举报
回复
引用 1 楼 jennyvenus 的回复:
将整个硬盘当资源加入exe。
还是将整个互联网内容当资源加入exe更高大上吧。
智能卡_Snooper 2015-05-05
  • 打赏
  • 举报
回复
将整个硬盘当资源加入exe。
我们从小的教育就是如何拆分问题、解决问题,这样做显然会使复杂的问题变得更容易些。但是这带来一个新问题,我们丧失了如何从宏观角度看问题,分析问题,解决问题,对更大的整体的内在领悟能力。这导致了我们对现有问题提出的解决方案,但无法预计实施该方案后产生的各种后果,为此我们付出了巨大代价。而我们试图考虑大局的时候,总要在脑子里重新排序,组合哪些拆分出来问题,给它们编组列单。习惯性认为解决了所有微观领域的问题,那么宏观上问题就得到了解决。然而,这种做法是徒劳无益的,就好比试图通过重新拼起来的碎镜子来观察真实的影像。所以在一段时间后,我们便干脆完全放弃了对整体的关注。当今的社会,几乎所有的企业情况都是岗位职责清晰,分工明确,员工是企业机器上的一颗螺丝钉,我们在招聘下属的时候也仅仅是用他的一技之长。项目一旦立项,我们就根据项目需求针对性性的招聘,短短半年团队就会膨胀数倍,但效率并不是成正比增长。另一个问题是这个庞大的团队合作起来并不尽人意。结果是 80% 协调的时间,20% 实际工作时间。 课程设置: 多维度架构之监控多维度架构之日志多维度架构之超时时间多维度架构之网络延迟多维度架构之DevOps多维度架构之容器 

16,372

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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