使用Ubuntu运行C/C++文件and随机函数

[NISACTF 2022]string

考点一览

使用Ubuntu编程、随机函数(srand&rand)

Ubuntu编程

1.打开Ubuntu虚拟机
2.在设置中找到“Text Editor”
3.编写C/C++文件
4.保存文件:C文件以“.c”结尾,C++文件以“.cpp”结尾
5.在保存文件的位置打开终端
6.输入“ls”
7.C输入“gcc 文件名.c -o 文件名”| C艹输入“g++ 文件名.c -o 文件名”
8.最后输入“./文件名”
如图所示:
file

随机函数

函数一:void srand((unsigned) seed)
参数seed是rand()的种子
功能:用来初始化rand()的起始值。
函数二:int rand((void) )
无参数
功能:产生随机值,从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。

简单解题

本题主要考察认不认识函数,脚本就是ida中看到的一部分。坑在于在Ubuntu环境下和在windows环境下,同样的脚本,答案是不一样的,这里我们要在Ubuntu下编程!
脚本如下:

#include<stdlib.h>
#include<stdio.h>
int main()
{
	int seed = 10086;
	srand(seed);
	printf("NSSCTF{");
	for ( int m = 0; m < 13; ++m )
	{
		int v4 =rand();	
	    printf("%d", (unsigned int)(v4 % 8 + 1));
    }
    printf("}\n");
    return 0;
}

搞定啦~

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值