[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}


目录
相关文章
codeforces 304 B. Calendar
就是给你两个日期,让你求两个日期之间差多少天。 我先算出两个日期分别是公元多少天,然后相减得到结果。
34 0
|
3月前
|
人工智能
notsequence 入土为安的第七天
notsequence 入土为安的第七天
31 1
|
3月前
|
数据安全/隐私保护
[LitCTF 2024]ezrc4——入土为安的第一天
[LitCTF 2024]ezrc4——入土为安的第一天
45 0
|
3月前
[LitCTF 2024]hello_upx——入土为安的第一天
[LitCTF 2024]hello_upx——入土为安的第一天
35 0
|
3月前
reverse_re3-入土为安的第十天
reverse_re3-入土为安的第十天
35 0
|
3月前
[HGAME 2022 week1]easyasm-入土为安的第十八天
[HGAME 2022 week1]easyasm-入土为安的第十八天
32 0
|
3月前
[HNCTF 2022 WEEK3]What‘s 1n DLL?入土为安的第四天
[HNCTF 2022 WEEK3]What‘s 1n DLL?入土为安的第四天
30 0
|
3月前
[LitCTF 2024]编码喵——入土为安的第一天
[LitCTF 2024]编码喵——入土为安的第一天
40 0
|
3月前
|
数据安全/隐私保护
DosSnake-入土为安第八天
DosSnake-入土为安第八天
37 0
|
6月前
|
网络协议 算法 安全
HCIP第一天
HCIP第一天
41 1