吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 826|回复: 11
收起左侧

[求助] 请用MFC或C++写一段代码

[复制链接]
朱朱你堕落了 发表于 2024-6-28 19:25
100吾爱币
本帖最后由 朱朱你堕落了 于 2024-6-28 19:51 编辑

C++生成一个EXE,大小如下图大小一样的文件即可,这个EXE当然无实际意义,也无法正常打开,这无所谓,
这个EXE用十六进制编辑工具打开,里面全是00即可,MFC或C++实现都可以请发下源码

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hunfeifei 发表于 2024-6-28 19:25
[C++] 纯文本查看 复制代码
	CFile cf;

	if (cf.Open(L"D:\\dump_.exe", CFile::modeCreate | CFile::modeReadWrite))

	{

		cf.SetLength(638976);



		cf.Close();

	}

	else

	{

		AfxMessageBox(L"文件创建失败");

	}






QQ截图20240628195006.png

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Broadm + 1 + 1 我很赞同!

查看全部评分

lccccccc 发表于 2024-6-28 19:45
请问这个可以吗?
https://wwk.lanzouj.com/ibUJm22z475g
密码:1g7r

点评

麻烦发下C++源码,别的语言的源码看不懂,也没对应的编译器。  详情 回复 发表于 2024-6-28 19:49

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
朱朱你堕落了 + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| 朱朱你堕落了 发表于 2024-6-28 19:49
lccccccc 发表于 2024-6-28 19:45
请问这个可以吗?
https://wwk.lanzouj.com/ibUJm22z475g
密码:1g7r

麻烦发下C++源码,别的语言的源码看不懂,也没对应的编译器。
苏紫方璇 发表于 2024-6-28 19:52
来一个c的
[C] 纯文本查看 复制代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
	FILE *file;
	file = fopen("test.exe", "wb");
	if (file == NULL) {
		printf("打开出错\n");
		return 1;
	}
	char* buf = (char*)malloc(638976);
	memset(buf, 0, 638976);
	// 写入文件
	size_t wlen = fwrite(buf, sizeof(char), 638976, file);
	if (wlen != 638976) {
		printf("写入出错\n");
		fclose(file);
		free(buf);
		return 1;
	}

	// 关闭文件
	fclose(file);
	free(buf);
	printf("写入完成\n");
	return 0;
}

点评

最佳答案牛B,我看了下, CFile::SetLength virtual void SetLength( ULONGLONG dwNewLen ); ULONGLONG类型这个牛B,这个生成10个G都没事。  详情 回复 发表于 2024-6-28 20:05
比方说,要生成3个G或5个G大小的EXE,不知道malloc会不是申请失败,意思就是说,当数据很大时,有可能调用一次malloc就失败,我贴子中的大小只是举例而已,我想的是写一个循环,比方说每次写入1000大小的数据,直到3  详情 回复 发表于 2024-6-28 19:58
ytw6176 发表于 2024-6-28 19:56
做作业吗?  随便找个ai都能解决吧
 楼主| 朱朱你堕落了 发表于 2024-6-28 19:58
苏紫方璇 发表于 2024-6-28 19:52
来一个c的
[mw_shl_code=c,true]#include
#include

比方说,要生成3个G或5个G大小的EXE,不知道malloc会不是申请失败,意思就是说,当数据很大时,有可能调用一次malloc就失败,我贴子中的大小只是举例而已,我想的是写一个循环,比方说每次写入1000大小的数据,直到3个G大小全面写入完毕,这样比较完美。

点评

3.5G的肯定申请失败,这种得分块写,楼下那个1字节循环的就可以  详情 回复 发表于 2024-6-28 20:21
 楼主| 朱朱你堕落了 发表于 2024-6-28 20:05
苏紫方璇 发表于 2024-6-28 19:52
来一个c的
[mw_shl_code=c,true]#include
#include

最佳答案牛B,我看了下,
CFile::SetLength

virtual void SetLength(
   ULONGLONG dwNewLen
);

ULONGLONG类型这个牛B,这个生成10个G都没事。
lccccccc 发表于 2024-6-28 20:06
朱朱你堕落了 发表于 2024-6-28 19:49
麻烦发下C++源码,别的语言的源码看不懂,也没对应的编译器。

这是我写的c++的源码:
[C++] 纯文本查看 复制代码
#include <stdio.h>

int main() {
    FILE *file = fopen("dumped_.exe", "wb");
    if (file == NULL) return 1;
    for (int i = 0; i < 638976; ++i) {
        unsigned char bit = 0;
        if (fwrite(&bit, sizeof(unsigned char), 1, file) != 1) {
            fclose(file);
            return 1;
        }
    }

    fclose(file);
    printf("Completed.");
    return 0;
}

免费评分

参与人数 1吾爱币 +3 热心值 +1 收起 理由
朱朱你堕落了 + 3 + 1 用心讨论,共获提升!

查看全部评分

苏紫方璇 发表于 2024-6-28 20:21
朱朱你堕落了 发表于 2024-6-28 19:58
比方说,要生成3个G或5个G大小的EXE,不知道malloc会不是申请失败,意思就是说,当数据很大时,有可能调 ...

3.5G的肯定申请失败,这种得分块写,楼下那个1字节循环的就可以
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-15 10:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表