美文网首页
【实验吧】逆向之bitwise

【实验吧】逆向之bitwise

作者: S_s_s_a53f | 来源:发表于2017-09-01 20:37 被阅读0次
    You see the doors to the loading bay of the hangar, but they are locked. However, you are able to extract the password verification program from the control panel... Can you find the password to gain access to the loading bay?
    解题链接:  http://ctf5.shiyanbar.com/reverse/bitwise/bitwise.rar  
    

    题中给出了py代码:

    #!/usr/bin/env python
    
    user_submitted = raw_input("Enter Password: ")
    
    if len(user_submitted) != 10:
      print "Wrong"
      exit()
    
    
    verify_arr = [193, 35, 9, 33, 1, 9, 3, 33, 9, 225]
    user_arr = []
    for char in user_submitted:
      # '<<' is left bit shift
      # '>>' is right bit shift
      # '|' is bit-wise or
      # '^' is bit-wise xor
      # '&' is bit-wise and
      user_arr.append( (((ord(char) << 5) | (ord(char) >> 3)) ^ 111) & 255 )
    
    if (user_arr == verify_arr):
      print "Success"
    else:
      print "Wrong"
    

    于是 根据题的意思写出了自己的解题脚本:

    #!/usr/bin/env python3
    verify_arr = [193, 35, 9, 33, 1, 9, 3, 33, 9, 225]
    key=[0,0,0,0,0,0,0,0,0,0]
    for i in range(10):
        for k in range(128):
            if verify_arr[i]==(((k<< 5) | (k >> 3)) ^ 111) & 255 :
                key[i]=chr(k)
            
    flag= ''
    for i in key:
        flag+=i
    print flag
    

    最终得到:
    ub3rs3cr3t
    技不如人就要多努力,假期已过,一切已是物是人非

    相关文章

      网友评论

          本文标题:【实验吧】逆向之bitwise

          本文链接:https://www.haomeiwen.com/subject/cowkjxtx.html