30/09/2018, 17:41
Hỏi về một số ký tự lạ trong script python
Mik có tìm hiểu 1 số chương trình ngoài và trong chương trình này thấy có ký tự sau
<< , & , và chế độ “wb”,“rb” khi open file
Đây là chương trình đó
def getflag(openfile):
c = open(openfile,"rb").read()[54:]
newfile = ""
for i in range(len(c)/2):
first = ord(c[2*i]) & 0xf;
second = ord(c[2*i+1]) & 0xf;
result = (first << 4) + (second)
newfile += chr(result)
try:
open("flag.bmp","wb").write(newfile)
print 'Createfile flag ok , get flag now :D'
except:
print 'error create'
return
if __name__ == "__main__":
openfile = raw_input("nhap file bmp vao: ")
getflag(openfile)
Ai chỉ mik giùm ý nghĩa các ký tự đó với ^^
Bài liên quan
Ký tự
<<
là phép dịch bit. Ví dụfirst<<2
là dịch 2 bit sang phía bên trái. Ví dụfirst = 0011 1100,
first<<2=1111 0000.
Ký tự & là phép and bit. Kiểu như 0 and 0 =0, 1 and 0=0, 1 and 1=1 ấy.
wb: mở file để ghi dạng binary.
rb: mở file để đọc dạng binary.