【实验吧】逆向之bitwise

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
技不如人就要多努力,假期已过,一切已是物是人非

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引子 多年以后,在回顾当年的案情时,胡凯仍旧无法抹平心中的波动。 “人的一生像一条线段。”胡凯徐徐吐出空中...
    阿折阅读 4,672评论 0 12
  • 闵玧其竖起耳朵,听着你刻意放轻的脚步声离他越来越近,不自觉地抓紧被子的边角,下定决心般,“回你自己的房间去。” 出...
    YunkiCho阅读 310评论 0 0
  • 德国Prospan婴儿儿童成人特效止咳消炎咳嗽糖浆100ml【产地】德国【规格】100ml【适用于】儿童 幼儿 成...
    Dora小羊羊阅读 1,674评论 0 0
  • 导读:微信红包上线于2014年1月份,并在2015年与春节联欢晚会互动,使得除夕当日微信红包收发总量达10.1亿次...
    wjcccc阅读 3,793评论 4 7