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') #文件的寫操作總結
以上是生活随笔為你收集整理的CTF-Python常用函数语段详解;的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 根据16进制头文件识文件类型
- 下一篇: CTF-密码学-攻防世界-幂数加密(云影