美文网首页CTF练习解析
实验吧逆向工程-bitwise

实验吧逆向工程-bitwise

作者: 追求科技的足球 | 来源:发表于2019-04-27 09:34 被阅读30次

题目下载链接:http://ctf5.shiyanbar.com/reverse/bitwise/bitwise.rar
上来又是一堆英文,其实也挺有趣,逗你一下,让你开心一些。
英文意思为:
你看到loading bay的门,但它们被锁定了。 但是,你可以从控制面板中提取密码验证程序...你是否可以找到密码才能访问loading bay?
先下载题目压缩包看看吧。
解压后有一个java文件和一个python文件,神奇
1、先看python吧,这是体重给的python代码:

#!/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"

好像就是一个反向解密?感觉如同密码学啊。。

2、直接再写一个python自动化解密吧,首先是暴力破解,ord函数是字符转ASCII码,chr函数为ASCII码转字符。

verify_arr = [193, 35, 9, 33, 1, 9, 3, 33, 9, 225]
user_arr = [0,0,0,0,0,0,0,0,0,0]
for i in range(10):
    for j in range(128):
        if (verify_arr[i] ==  (((j << 5) | (j >> 3)) ^ 111) & 255):
            user_arr[i] = j
flag = ''
for i in user_arr:
    flag += chr(i)  #转换成字符
print(flag)

3、再根据处理的顺序反写一个解密吧。

(((ord(char) << 5) | (ord(char) >> 3)) ^ 111) & 255

首先把字符转为ASCII码值,进行二进制操作,左移五位与右移三位的值求或,再与111取异或,最后在与255(11111111)取与。
那就把这个语句反向一下:
(1)与255(11111111)取与是取低8位。
(2)与111异或得的值再异或一次可以返回。
(3)左移五位后补5个0,右移三位后前补3个0,所以或为0,不对中间值起作用(相当于相加)。

verify_arr = [193, 35, 9, 33, 1, 9, 3, 33, 9, 225]
flag = ''
for i in verify_arr:
    flag += chr(((i^111)>>5)|((i^111)<<3)&255)
print(flag)

4、java是一样的思想,就是换一种语言写。

小结:今天的题也不算难,属于汇编基本知识的应用,基础还是很重要啊。

相关文章

  • 实验吧逆向工程-bitwise

    题目下载链接:http://ctf5.shiyanbar.com/reverse/bitwise/bitwise....

  • 【实验吧】逆向之bitwise

    题中给出了py代码: 于是 根据题的意思写出了自己的解题脚本: 最终得到:ub3rs3cr3t技不如人就要多努力,...

  • 实验吧逆向工程-逆向观察

    日更任务到第29天,我以为更新够了100字,然而没有,于是 失败了,从头来过。今天的题目的介绍: a simple...

  • 实验吧逆向工程-FLAG

    每日一题打卡中。。。题目链接:http://ctf5.shiyanbar.com/qwctf/flag-check...

  • 实验吧逆向工程-debug

    感觉逆向试一个很厉害的工作,直接破解软件啥的可以(其实是看需求会逆向,同时也想挑战一下,感觉很有意思),因此今天做...

  • 实验吧逆向工程-defcamp

    逆向的题目真的好难啊,发现很多逆向的题都没有几个人做出来,甚至没有人做出来,为了开始我的逆向生涯,还是先从简单题做...

  • 实验吧逆向工程-1000

    今天的生活依旧如此,要想超过其他人,还是靠自己的努力,所以加油吧!题目下载链接:http://ctf5.shiya...

  • 实验吧逆向工程-证明自己吧

    人生如戏,世事如棋,看了某大学人工智能培养方案,感慨万千。还是默默做自己。题目链接:http://ctf5.shi...

  • 实验吧逆向工程-Just Click

    简单难度的题目不一定简单。。而中等难度的题目也很困难题目链接:http://ctf5.shiyanbar.com/...

  • 实验吧逆向工程-CFG to C

    题目链接:http://ctf5.shiyanbar.com/reverse/cfg-to-c/index.htm...

网友评论

    本文标题:实验吧逆向工程-bitwise

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