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


目录
相关文章
|
2月前
|
人工智能
notsequence 入土为安的第七天
notsequence 入土为安的第七天
28 1
|
2月前
|
数据安全/隐私保护
[LitCTF 2024]ezrc4——入土为安的第一天
[LitCTF 2024]ezrc4——入土为安的第一天
34 0
|
2月前
[LitCTF 2024]hello_upx——入土为安的第一天
[LitCTF 2024]hello_upx——入土为安的第一天
30 0
|
JavaScript
JS日期、月份的加减
JS日期、月份的加减 需要注意的是返回的月份是从0开始计算的,也就是说返回的月份要比实际月份少一个月,因此要相应的加上1 // 日期,在原有日期基础上,增加days天数,默认增加1天 function addDate(date, days) { if (days == undefined || d...
4016 0
|
2月前
[HGAME 2022 week1]easyasm-入土为安的第十八天
[HGAME 2022 week1]easyasm-入土为安的第十八天
29 0
|
2月前
[HNCTF 2022 WEEK3]What‘s 1n DLL?入土为安的第四天
[HNCTF 2022 WEEK3]What‘s 1n DLL?入土为安的第四天
28 0
|
5月前
|
网络协议 算法 安全
HCIP第一天
HCIP第一天
40 1
|
5月前
|
安全
第十四届蓝桥杯集训——Date与Calendar函数
第十四届蓝桥杯集训——Date与Calendar函数
40 0
|
5月前
|
存储 安全 Java
日期时间之争:Date与LocalDateTime的决胜局
日期时间之争:Date与LocalDateTime的决胜局
1108 0
|
弹性计算 运维 关系型数据库
听过闰年闰月,可你听过闰秒吗?
闰年闰月大家都知道,可是你听说过闰秒这回事情吗?
听过闰年闰月,可你听过闰秒吗?