CTF-Python常用函数语段详解;

开始

一.chr() 函数;

chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符

chr(i),i – 可以是10进制也可以是16进制的形式的数字。

返回值是当前整数对应的 ASCII 字符

一道逆向解题脚本写了: flag+=chr((18^enflag[i])-6),意思是计算括号中的式子,值返回ASCII码;

提到了 chr()就顺道提一下 ord(),两者有点类似吧

在这里插入图片描述

二.for i in range ()作用

for i in range ()作用:

range()是一个函数, for i in range () 就是给i赋值:
比如 for i in range (1,3):
就是把1,2依次赋值给i

range () 函数的使用是这样的:
range(start, stop[, step]),分别是起始、终止和步长

range(3)即:从0到3,不包含3,即0,1,2
range(1,3) 即:从1到3,不包含3,即1,2
range(1,3,2)即:从1到3,每次增加2,因为1+2=3,所以输出只有1
第三个数字2是代表步长。如果不设置,就是默认步长为1
解题脚本是这样描述的: for i in range(0,18,3): 意思是 0-18不包括18,三个数为一组;

三split

split() 方法可以实现将一个字符串按照指定的分隔符切分成多个子串,这些子串会被保存到列表中(不包含分隔符),作为方法的返回值反馈回来。

例子:
a = “8842101220480224404014224202480122”
a = a.split(“0”) 把这一串字符变为:88421, 122 48 2244等

四 for i in a:

for循环遍历语法 把a变量里包含的内容以循环的方式一个一个放到i变量里面;

例题

a=[118,104,102,120,117,108,119,124,48,123,101,120]
s=''
for i in a:
	s+=chr(i-3)
print(s)

把a里面的内容一个一个的放入i里面进行运算;

五.def

意思是自己定义一个函数;

在这里插入图片描述这一串即是自己定义的加密函数 encode是加密, decode是解密

六 lower()

描述:将字符串中的所有大写字母转换为小写字母。

注意 lower()函数和casefold()函数的区别:

lower() 方法只对ASCII编码,即‘A-Z’有效,对于其它语言中把大写转换为小写的情况无效,只能用 casefold() 函数。

例如:print(t2.lower()) 意思是把t2字符串变为小写字母

七 进制转换函数

在这里插入图片描述chr(int(s, 16)) 意思是从16进制转10; ASC码转换成字母输出

文件的读写

with open(r'filename.txt') as f:
   data_user=pd.read_csv(f)  #文件的读操作

with open('data.txt', 'w') as f:
   f.write('hello world')  #文件的写操作
   

猜你喜欢

转载自blog.csdn.net/weixin_45556441/article/details/110507144
今日推荐