简单的工作室网站模板/百度没有排名的点击软件
这回跟着个队伍跑,不过还是2X以后的成绩,前边太卷了。
自己会的部分,有些是别人已经提交了的。记录一下。
Crypto
crypto 1
给了一些数据,像这样就没有别的了
ct = [0, 1, 1, 2, 5, 10, 20, 40, 79, 159, 317, 635, 1269, 2538, 5077, 10154, 20307, 40615, 81229, 162458, 324916, 649832, 1299665, 2599330, 5198659, 10397319, 20794638, 41589276, 83178552, 166357103, 332714207, 665428414, 1330856827, 2661713655, 5323427309, 10646854619, 21293709237, 42587418474, 85174836949, 170349673898, 340699347795, 681398695591, 1362797391181, 2725594782363, 5451189564725, 10902379129451, 21804758258901, 43609516517803, 87219033035605, 174438066071211, 348876132142421, 697752264284843, 1395504528569685, 2791009057139370, 5582018114278740, 11164036228557480, 22328072457114960, 44656144914229920, 89312289828459841, 178624579656919682, 357249159313839363, 714498318627678726, 1428996637255357453, 2857993274510714906, 5715986549021429811, 11431973098042859623, 22863946196085719246, 45727892392171438492, 91455784784342876983, 182911569568685753966, 365823139137371507933, 731646278274743015865, 1463292556549486031730, ...]
看了会发现一个规律:
ct[i] = bit + sum(ct[:i])
把这些0,1弄出来就OK了。我来得早,这时候还没人上线,两个crypto都是1血,跟签到抢到1血一样。
#Alice and Bob decided to create their own super cryptosystem. However.. it has a super flaw
k = 0
f = ''
for i in range(1,len(ct)):f += str(ct[i]-k)k += ct[i]print(f)#前面的和+bit
f = '0'+f
for i in range(0, len(f),8):print(chr(int(f[i:i+8],2)), end='')#OSC{SUP3r!NCr3451NG_53QU3NC3}
crypto 2
一个e=3的RSA题
from Crypto.Util.number import bytes_to_long, getPrime
from secret import messagesdef RSA_encrypt(message):m = bytes_to_long(message)p = getPrime(1024)q = getPrime(1024)N = p * qe = 3c = pow(m, e, N)return N, e, cfor m in messages:N, e, c = RSA_encrypt(m)print(f"n = {N}")print(f"e = {e}")print(f"c = {c}")
给了好多的n,c显然,感觉如果flag不是很大可以爆破,不过只有第1行爆破出来了,正好是flag
from gmpy2 import iroot
from Crypto.Util.number import long_to_bytesmsg = open('output.txt').readlines()for i in range(11):n = int(msg[i*3][4:])e = int(msg[i*3+1][4:])c = int(msg[i*3+2][4:])print(n)print(e)print(c)while True:a,b = iroot(c,3)if b:print(long_to_bytes(a))break c+=n #OSC{C0N6r47U14710N5!_Y0U_UND3r574ND_H0W_70_U53_H4574D5_8r04DC457_4774CK_______0xL4ugh}
Rev
snake
python 字节码
2 0 LOAD_CONST 1 (0)2 LOAD_CONST 0 (None)4 IMPORT_NAME 0 (base64)6 STORE_FAST 0 (base64)3 8 LOAD_CONST 1 (0)10 LOAD_CONST 2 (('Fernet',))12 IMPORT_NAME 1 (cryptography.fernet)14 IMPORT_FROM 2 (Fernet)16 STORE_FAST 1 (Fernet)18 POP_TOP4 20 LOAD_CONST 3 (b'gAAAAABj7Xd90ySo11DSFyX8t-9QIQvAPmU40mWQfpq856jFl1rpwvm1kyE1w23fyyAAd9riXt-JJA9v6BEcsq6LNroZTnjExjFur_tEp0OLJv0c_8BD3bg=')22 STORE_FAST 2 (encMessage)5 24 LOAD_FAST 0 (base64)26 LOAD_METHOD 3 (b64decode)28 LOAD_CONST 4 (b'7PXy9PSZmf/r5pXB79LW1cj/7JT6ltPEmfjk8sHljfr6x/LyyfjymNXR5Z0=')30 CALL_METHOD 132 STORE_FAST 3 (key_bytes)6 34 BUILD_LIST 036 STORE_FAST 4 (key)7 38 LOAD_FAST 3 (key_bytes)40 GET_ITER>> 42 FOR_ITER 9 (to 62)44 STORE_FAST 5 (k_b)8 46 LOAD_FAST 4 (key)48 LOAD_METHOD 4 (append)50 LOAD_FAST 5 (k_b)52 LOAD_CONST 5 (160)54 BINARY_XOR56 CALL_METHOD 158 POP_TOP60 JUMP_ABSOLUTE 21 (to 42)10 >> 62 LOAD_GLOBAL 5 (bytes)64 LOAD_FAST 4 (key)66 CALL_FUNCTION 168 STORE_FAST 4 (key)11 70 LOAD_FAST 1 (Fernet)72 LOAD_FAST 4 (key)74 CALL_FUNCTION 176 STORE_FAST 6 (fernet)12 78 LOAD_FAST 6 (fernet)80 LOAD_METHOD 6 (decrypt)82 LOAD_FAST 2 (encMessage)84 CALL_METHOD 186 LOAD_METHOD 7 (decode)88 CALL_METHOD 090 STORE_FAST 7 (decMessage)13 92 LOAD_GLOBAL 8 (print)94 LOAD_FAST 7 (decMessage)96 CALL_FUNCTION 198 POP_TOP100 LOAD_CONST 0 (None)102 RETURN_VALUE
None
手扣
import base64
from cryptography.fernet import FernetencMessage = b'gAAAAABj7Xd90ySo11DSFyX8t-9QIQvAPmU40mWQfpq856jFl1rpwvm1kyE1w23fyyAAd9riXt-JJA9v6BEcsq6LNroZTnjExjFur_tEp0OLJv0c_8BD3bg='key_bytes = base64.b64decode(b'7PXy9PSZmf/r5pXB79LW1cj/7JT6ltPEmfjk8sHljfr6x/LyyfjymNXR5Z0=')key = []
for k_b in key_bytes:key.append(k_b^160)
key = bytes(key)decMessage = Fernet(key).decrypt(encMessage)
print(decMessage)#FLAG{FLY_L1k3_0xR4V3N}
#0xL4ugh{FLY_L1k3_0xR4V3N}
easy-Peasy
高低4位互换
v11[0] = 1947518052;v11[1] = 84227255;v11[2] = -181070859;v11[3] = -972881100;v11[4] = 1396909045;v11[5] = 1396929315;v12 = -10397;v13 = 0;v3 = 0i64;v16 = 0i64;v17 = 15i64;LOBYTE(Block[0]) = 0;sub_140001350(Block);sub_1400015D0(std::cout, (__int64)"Enter The Flag: ");sub_140001A50(std::cin, Block); // 读入Blockif ( v16 == 26 ){while ( 1 ){v4 = Block;if ( v17 >= 0x10 )v4 = (void **)Block[0];v5 = Block;if ( v17 >= 0x10 )v5 = (void **)Block[0];if ( *((unsigned __int8 *)v11 + v3) != ((*((char *)v4 + v3) >> 4) | (16 * (*((_BYTE *)v5 + v3) & 0xF))) )// 高低互换break;if ( ++v3 >= 26 ){v6 = sub_1400015D0(std::cout, (__int64)"The Flag is: ");v7 = Block;if ( v17 >= 0x10 )v7 = (void **)Block[0];sub_140001C50(v6, v7, v16);goto LABEL_12;}}}
解
va = [1947518052,84227255,-181070859,-972881100,1396909045,1396929315,-10397]from pwn import p32v11 = b''.join([p32(v&0xffffffff) for v in va])
f = ''
for v in v11:f += chr(((v&0xf)<<4)+(v>>4))print(f)
#FLAG{CPP_1S_C00l_24527456}
#0xL4ugh{CPP_1S_C00l_24527456}
lets go
代码看着很复杂,但明显能看出是字节变换
void __cdecl main_main()
{__int64 v0; // r14__int128 v1; // xmm15__int64 *v2; // rax__int64 v3; // r8__int64 v4; // r9__int64 v5; // rax__int64 v6; // rcxunsigned __int64 v7; // rbx__int64 v8; // rsiint v9; // r10d__int64 v10; // r11int v11; // r10d__int64 v12; // raxunsigned __int64 v13; // rcxint v14; // r10d__int64 v15; // raxunsigned __int64 v16; // rcx__int64 v17; // raxunsigned __int64 v18; // rcx__int64 v19; // rax__int64 v20; // [rsp-46h] [rbp-D8h]char v21; // [rsp+0h] [rbp-92h]char v22; // [rsp+1h] [rbp-91h]char v23; // [rsp+1h] [rbp-91h]__int64 v24; // [rsp+2h] [rbp-90h]__int64 v25; // [rsp+Ah] [rbp-88h]__int64 v26; // [rsp+12h] [rbp-80h]__int64 v27; // [rsp+3Ah] [rbp-58h] BYREF__int64 *v28; // [rsp+42h] [rbp-50h]void *v29; // [rsp+4Ah] [rbp-48h]char **v30; // [rsp+52h] [rbp-40h]__int128 v31; // [rsp+5Ah] [rbp-38h]const char *v32; // [rsp+6Ah] [rbp-28h]__int64 *v33; // [rsp+72h] [rbp-20h]void *v34; // [rsp+7Ah] [rbp-18h]char **v35; // [rsp+82h] [rbp-10h]if ( (unsigned __int64)&v27 <= *(_QWORD *)(v0 + 16) )runtime_morestack_noctxt_abi0();v34 = &unk_494360;v35 = &off_4C3F50;fmt_Fprint();runtime_newobject();v28 = v2;*v2 = 0LL;v32 = "\b";v33 = v2;fmt_Fscanln();v3 = *v28;v27 = *v28;v4 = v28[1];v25 = v4;v5 = 0LL;v6 = 0LL;v7 = 0LL;v8 = 0LL;while ( v5 < v4 ){v24 = v6;v26 = v5;v9 = *(unsigned __int8 *)(v3 + v5);if ( (unsigned __int8)(v9 - 65) > 0x19u ){if ( (unsigned __int8)(v9 - 97) > 0x19u ) // 符号{v10 = v6 + 1;if ( v7 < v6 + 1 ){v21 = *(_BYTE *)(v3 + v5);runtime_growslice(v20);v10 = v8 + 1;v3 = v27;v4 = v25;LOBYTE(v9) = v21;v8 = v17;v7 = v18;v5 = v26;v6 = v24;}*(_BYTE *)(v8 + v6) = v9;}else{v10 = v6 + 1;v14 = v9 - 26 * ((unsigned __int8)(v9 - 81) / 0x1Au);if ( v7 < v6 + 1 ){v23 = v14;runtime_growslice(v20);v10 = v8 + 1;v3 = v27;v4 = v25;LOBYTE(v14) = v23;v8 = v15;v7 = v16;v5 = v26;v6 = v24;}*(_BYTE *)(v8 + v6) = v14 + 16;}}else{v10 = v6 + 1;v11 = v9 - 26 * ((unsigned __int8)(v9 - 49) / 0x1Au);if ( v7 < v6 + 1 ){v22 = v11;runtime_growslice(v20);v10 = v8 + 1;v3 = v27;v4 = v25;LOBYTE(v11) = v22;v8 = v12;v7 = v13;v5 = v26;v6 = v24;}*(_BYTE *)(v8 + v6) = v11 + 16;}++v5;v6 = v10;}runtime_slicebytetostring();if ( v8 == 32 && (unsigned __int8)runtime_memequal() ){v31 = v1;v19 = runtime_convTstring();*(_QWORD *)&v31 = &unk_494360;*((_QWORD *)&v31 + 1) = v19;fmt_Fprintf();}else{v29 = &unk_494360;v30 = &off_4C3F60;fmt_Fprint();}
}
这个只需要个码表就行,输入字母得到的就是码表,然后手工对应填一下
输入得到对应关系
abcdefghijklmnopqrstuvwxyz012345
qrstuvwxyzabcdefghijklmnop012345ABCDEFGHIJKLMNOPQRSTUVWXYZ012345
QRSTUVWXYZABCDEFGHIJKLMNOP01234567890{_} 数字符号不变c = b"u507rv78qr5t6q99941422uursv94464"u507rv78qr5t6q99941422uursv94464
e507bf78ab5d6a99941422eebcf94464手工输入得到flag
ef➤
Correct:)
FLAG{e507bf78ab5d6a99941422eebcf94464}
52 in example/user/hello/hello.go换头
0xL4ugh{e507bf78ab5d6a99941422eebcf94464}
XPacker 未完成
看上去是运行时释放一个程序再找,但怎么运行都不释放,也许想错了
Misc
ATT-IP
流量题,wireShark打开一点点到结果

57包:
tcp://91.243.59.76:23927/
0xL4ugh{91.243.59.76_23927}
PVE
这个是别的提交的,只因为第1步没作出来后边的就没想弄。
给的一vmware的临时文件.vmem 一直想用什么软件找到。其实只有第1题用软件,其它都是在时差搜文本。
后来下了volatility 3才弄好这一步
┌──(kali㉿kali)-[~/volatility3]
└─$ py vol.py -f ~/ctf/PVE.vmem Banners
Volatility 3 Framework 2.4.1
Progress: 100.00 PDB scanning finished
Offset Banner0x1a00180 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)
0x211e6a4 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)
0x1aaf7338 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)
0x1fde00a8 Linux version 4.4.0-186-generic (buildd@lcy01-amd64-002) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) ) #216-Ubuntu SMP Wed Jul 1 05:34:05 UTC 2020 (Ubuntu 4.4.0-186.216-generic 4.4.228)flag1:0xL4ugh{Ubuntu_4.4.0-186-generic}
第二步是Apache的版本,搜apache有很多,主要是两个版本,第2个=的是
0xL4ugh{2.2.14}
第三步找 flag 搜0xL4ugh
sudo echo "0xL4ugh{S4D_Y0U_G07_M3}" > flag.txt
0xL4ugh{S4D_Y0U_G07_M3}
第四个找程序里隐写的flag
int main(void){char flag[] = "0xL4ugh{H1DD3N_1N_PR0CE$$}";sleep(6969696969);return 0;
}0xL4ugh{H1DD3N_1N_PR0CE$$}
第五个找攻击求密码,没弄成,linux的密码存在shadow文件但这里没密码,再找passwd也没有,按密码的特征 $1$salt$enc_pass 搜$1$得到一个密码
Name: passwd/user-password-crypted
Template: passwd/user-password-crypted
Value: $1$JULXDu5H$c/QbtxOmwiX0rR7f0NXxj.
Owners: ubiquity
Flags: seen
从网站上解密得到 mrx 提交不正确。
队友还作了一些,刚开始已经狂飙到第2了,后来慢慢又多了1位成2x了
相关文章:

0xL4ugh 2023
这回跟着个队伍跑,不过还是2X以后的成绩,前边太卷了。自己会的部分,有些是别人已经提交了的。记录一下。Cryptocrypto 1给了一些数据,像这样就没有别的了ct [0, 1, 1, 2, 5, 10, 20, 40, 79, 159, 317, 635, 1269, 2538, 5077, 1…...

Mybatis(4)之跟着老杜做一个简单的银行转账会话
这是个MVC项目,我不一定可以完整的实现这个项目,但力求把这个复现出来,尽量的复现细节。 第一步:创建数据库 表 创建表如下: 我们使用 int 是为了方便 然后采用 demcial,精确度较高 添加两个用户 然后…...

VBA提高篇_ 22 事件处理
文章目录1.事件编程2.常用工作簿事件名称与对应处理过程名称示例3. 事件编程的步骤4.工作簿事件4.1 Open4.2 BeforeClose4.3 NewSheet5.工作表事件6.变量和过程函数的作用域1.事件编程 写在事件发生地(对应工作簿或工作表) 2.常用工作簿事…...

【蓝桥杯集训·周赛】AcWing 第91场周赛
文章目录第一题 AcWing 4861. 构造数列一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第二题 AcWing 4862. 浇花一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第三题 AcWing 4861. 构造数列一、题目1、原题…...

【人工智能AI】三、NoSQL 实战《NoSQL 企业级基础入门与进阶实战》
帮我写一篇介绍NoSQL的技术文章,文章标题是《NoSQL 实战》,不少于3000字。这篇文章的目录是 3.NoSQL 实战 3.1 MongoDB 入门 3.1.1 MongoDB 基本概念 3.1.2 MongoDB 安装与配置 3.1.3 MongoDB 数据库操作 3.2 Redis 入门 3.2.1 Redis 基本概念 3.2.2 Red…...

platform 总线
驱动的分离与分层思想 分离:硬件信息分离; 在编写硬件驱动的时候,需要操作许多硬件寄存器。比如gpio 驱动,你需要知道gpio控制器 寄存器的地址,你想要哪个gpio输出?或是输入? 这些操作最终都是靠设置寄存…...

2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了
2023第10届生物发酵展3月30-4月1号山东济南开展,参观路线来了!展会时间:2023年3月30日-4月1日展馆地址:山东国际会展中心(济南市槐荫区日照路1号)展馆:4号馆、5号馆BIO CHINA生物发酵展…...

RK356x U-Boot研究所(命令篇)3.6 fdt命令的用法
平台U-Boot 版本Linux SDK 版本RK356x2017.09v1.2.3文章目录 一、fdt命令的配置二、fdt命令的定义三、fdt命令的用法3.1 fdt list3.2 fdt rm3.3 fdt set一、fdt命令的配置 .config配置文件需要有以下配置: rk3568_defconfig默认已使能。 二、fdt命令的定义 usb命令定义在cm…...

2023年社工工资多少钱一月 能领多少补贴
2023年社会工作者人员的待遇还算可以,每月的全额工资一共5000多,扣完五险一金以后每月的到手工资一共4000多,不同地区薪资也是不同的,一线城市会在7千元以上,还可以领取几百到几千元不等的补贴。 12023年社工工资多少钱…...

面试攻略,Java 基础面试 100 问(十一)
抽象类(abstract class)和接口(interface)有什么异同? 抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现ÿ…...

接口测试(Fiddler工具)
目录 1.Fiddler是什么? 2.Fiddler的原理 3.Fiddler安装 4.Fiddler界面 4.1.常用工具 4.2 会话列表 4.3 状态栏 4.4 内容显示区 1.Fiddler是什么? Fiddler是客户端与服务器之间的HTTP代理,是当前最常用的HTTP协议抓包工具。 主要功能&a…...

Debian/Ubuntu 安装和使用 perf 调试工具
为操作系统安装基本依赖环境:apt-get update -y apt-get upgrade -y apt-get install lrzsz zip unzip libkrb5-dev libicu-dev screen iftop openssl libssl-dev libunwind8 iftop net-tools gcc gdb cmake curl wget -y apt-get install gcc gdb cmake python-dev…...

【Python语言基础】——Python NumPy 数组连接
Python语言基础——Python NumPy 数组连接 文章目录 Python语言基础——Python NumPy 数组连接一、Python NumPy 数组连接一、Python NumPy 数组连接 连接 NumPy 数组 连接意味着将两个或多个数组的内容放在单个数组中。 在 SQL 中,我们基于键来连接表,而在 NumPy 中,我们按…...

解决IDEA报错:无效的目标发行版: 17
解决IDEA报错:无效的目标发行版: 17 目录解决IDEA报错:无效的目标发行版: 17报错由来解决报错【1】检查setting设置,查看编译器编译模块的编译版本是否是你需要的【2】尝试去修改当前项目的启动设置,设置JRE为你需要的版本。【3】…...

Redis第四讲
目录 四、Redis04 4.1 Redis集群应用场景 4.2 集群 4.2.1 基本原理 4.2.2 主从复制的作用 4.3 配置集群(一台虚拟机) 4.3.1 规划网络 4.3.2 创建节点 4.3.3 创建目录 4.3.4 配置redis7001.conf 4.3.5 配置其余文件 4.3.6 后台启动redis 4.3…...

Linux Ubuntu 软件安装与卸载
文章目录1 下载 deb 安装包后安装2 清理安装包3 卸载安装2 Ubuntu升级某个软件参考:1 下载 deb 安装包后安装 进入下载位置,执行 terminal sudo dpkg -i *.deb推荐sudo apt install *.deb 2 清理安装包 sudo apt-get install 会将下载的文件放在 /var…...

metasploit穷举模块
目录 工具介绍 常用模块 参数介绍 工具使用 工具介绍 Metasploit框架(Metasploit Framework, MSF)是一个开源工具, 旨在方便渗透测试,它是由Ruby程序语言编写的模板化框架,具有很好的扩展性,便于渗透测试人员开发、使用定制的…...

day35 贪心算法 | 435、无重叠区间 763、划分字母区间 56、合并区间
题目 435、无重叠区间 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], […...

C++Primer15.5节练习
练习15.18: Base* p &d1:合法 p &d2:不合法,只有当派生类公有地继承基类时,用户代码才能使用派生类向基类的转换 p &d3:不合法,只有当派生类公有地继承基类时࿰…...

【日常点滴019】Python制作流浪气球游戏(导弹射击类)
Python制作流浪气球游戏(导弹射击类)教学课程代码(分步教学版)1、构建全局通用代码结构2、构建气球精灵类3、构建导弹精灵类4、碰撞检测5、构建游戏信息类 (最终完整代码)教学课程代码(分步教学…...

effective c++阅读之旅---条款29
为"异常安全"而努力是值得的! 什么是异常安全? 所谓的"异常安全",往往值得是函数接口的异常安全,它要求函数满足两个条件: 异常抛出时: 1、不泄露任何资源 2、不允许数据被破坏 异常安…...

Android system — 进程生命周期与ADJ
Android system — 进程oom_adj0. 引言1. 进程的生命周期1.1 Foreground process1.2 Visible process1.3 Service process1.4 Background process1.5 Empty process2. Lowmemorykiller2.1 ADJ级别2.2 进程state级别2.3 lmk策略2.4 如何查看应用oom_adj值3. 注意0. 引言 本文主要…...

vue3+ts+node个人博客系统(三)
一.主页顶部和中心面板布局 (1) 首先先去element-plus选择合适的布局el-container (2)在头部处编写相应的菜单栏el-menu,在这里要注意动态绑定路由的问题:default-active"$route.path"。将default-active设置为$route.path,el-me…...

Python第三方模块
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...

怎样查询PMP成绩?
【如何查询成绩】1、输入网址(PMI官网,不知道网址的私戳),点击 Log In如果忘记 PMI 的账号和密码了,怎么办?可以在你报名机构官网的个人中心的学习中心的我的报名处查看 PMI 的注册名和密码2、点击 Exam An…...

说说变量 __name__ 和它可能取到的一个值 __main__
结合 例子 弄懂 变量__name__ 和它的值’ main’这两个东西。 首先,明白两个定义, __name__是一个变量, __main__是个普通字符串,不是变量,但可以作为变量的值。 例子: 1.py 代码如下: if _…...

软考高级-信息系统管理师之整体管理(最新版)
整体管理 1、项目整体管理概述2、制定项目章程(选择,案例,论文)制定项目章程过程制定项目章程的依据1、协议2.项目工作说明书:3、商业论证4、事业环境因素包括,但不限于如下事项。5、组织过程资产:项目选择方法项目启动会议项目目标引导技术3、制订项目管理计划(选择)项目管…...

JVM学习篇垃圾收集器ParNewCMS与底层三色标记算法详解
1. 垃圾收集算法 2. 分代收集理论 当前虚拟机的垃圾收集都采用分代收集算法,这种算法没有什么新的思想,只是根据对象存活周期的不同将内存分为几块。一般将java堆分为新生代和老年代,这样我们就可以根据各个年代的特点选择合适的垃圾收集算法…...

基于FFmpeg和Screen Capturer Recorder实现屏幕和声音的录制
当我们看到一些精彩的视频画面,但无法下载时,可以通过录屏的方式将视频和音频录制下来。 这个时候我们需要安装采集视频和音频的工具screen-capture-recorder。 以下是在windows10环境下,基于FFmpeg和Screen Capturer Recorder实现屏幕和声音…...

猿人学14题详解
目测重点在于cookie:mz和m 获取mz.js: https://match.yuanrenxue.com/static/match/match14/m.js 获取设置m: https://match.yuanrenxue.com/api/match/14/m 一、还原16进制 const fs require(fs); const parser require(babel/parser); const gen…...