当前位置: 首页> 房产> 市场 > [HNCTF 2022 WEEK2]getflag-入土为安的二十一天

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

时间:2025/7/12 10:25:55来源:https://blog.csdn.net/lzx13290757580/article/details/141316625 浏览次数:0次

难点读程序,写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 >> 4low_nibble = byte_value & 0x0Fchar_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}

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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: