[HNCTF 2022 WEEK2]getflag-入土为安的二十一天

简介: [HNCTF 2022 WEEK2]getflag-入土为安的二十一天

难点读程序,写exp

  • *(unsigned __int8 *)(i + a1) >> 4:
  • 这将字节 i + a1 右移 4 位,提取出字节的高 4 位。
  • *(_BYTE *)(i + a1):
  • 这获取原字节的低 4 位(即,i + a1 位置的字节的低 4 位)。
  • (16 * *(_BYTE *)(i + a1)):
  • 这是将低 4 位的值乘以 16,用于计算位权值。
  • (unsigned __int8)((*(unsigned __int8 *)(i + a1) >> 4) | (16 * *(_BYTE *)(i + a1))):
  • 高 4 位和低 4 位相加得到最终的字符值

def convert_to_string(a):
    result = []
    for i in range(len(a)):
        byte_value = a[i]
        high_nibble = byte_value >> 4
        low_nibble = byte_value & 0x0F
        char_value = high_nibble | (low_nibble * 16)
        result.append(chr(char_value))
    return ''.join(result)
# 输入数组
a = [228, 53, 53, 52, 69, 100, 183, 212, 100, 52, 245, 7, 39, 3, 118, 39, 67, 214, 214, 150, 230, 118,
     245, 150, 55, 245, 22, 119, 86, 55, 3, 214, 51, 215]
# 调用函数并输出结果
output_string = convert_to_string(a)
print(output_string)
//NSSCTF{MFC_pr0gr4mming_is_awes0m3}


目录
相关文章
|
5月前
|
机器人
week 0
这篇文章是关于机器人产业发展的介绍,以及一个以四足机器狗为平台的课程概览,课程内容包括机器人运动学、嵌入式开发和ROS等,旨在教授学生理解机器人系统的构成和工作原理,并进行项目实践。
31 0
week 0
|
5月前
[HGAME 2022 week1]easyasm-入土为安的第十八天
[HGAME 2022 week1]easyasm-入土为安的第十八天
53 0
|
OceanBase
to_date 和 sysdate
to_date 和 sysdate
872 0
|
Python
今天是今年的的第几天
今天是今年的的第几天
225 0
new Date()
new Date()
119 0
|
Go
New Year and Hurry
New Year and Hurry
111 0
New Year and Hurry
C#编程:用DateTime获取当前是星期几-5
C#编程:用DateTime获取当前是星期几-5
108 0
C#编程:用DateTime获取当前是星期几
C#编程:用DateTime获取当前是星期几
280 0