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


目录
相关文章
|
4月前
|
算法
leetcode-1185:一周中的第几天
leetcode-1185:一周中的第几天
42 0
|
11月前
codeforces 304 B. Calendar
就是给你两个日期,让你求两个日期之间差多少天。 我先算出两个日期分别是公元多少天,然后相减得到结果。
29 0
|
1月前
|
数据安全/隐私保护
[LitCTF 2024]ezrc4——入土为安的第一天
[LitCTF 2024]ezrc4——入土为安的第一天
24 0
|
1月前
[LitCTF 2024]hello_upx——入土为安的第一天
[LitCTF 2024]hello_upx——入土为安的第一天
27 0
|
1月前
[HGAME 2022 week1]easyasm-入土为安的第十八天
[HGAME 2022 week1]easyasm-入土为安的第十八天
25 0
|
1月前
[HNCTF 2022 WEEK3]What‘s 1n DLL?入土为安的第四天
[HNCTF 2022 WEEK3]What‘s 1n DLL?入土为安的第四天
23 0
|
4月前
计算某年某月某日是星期几
计算某年某月某日是星期几
|
4月前
|
安全
第十四届蓝桥杯集训——Date与Calendar函数
第十四届蓝桥杯集训——Date与Calendar函数
32 0
|
弹性计算 运维 关系型数据库
听过闰年闰月,可你听过闰秒吗?
闰年闰月大家都知道,可是你听说过闰秒这回事情吗?
听过闰年闰月,可你听过闰秒吗?
|
前端开发 Java 程序员
一个由“ YYYY-MM-dd ”引发的惨案 元旦来临前警惕
前言 在元旦假期到来之际,我刚好准备出去飘几天,然而在使用一些 App 的时候,竟然被我发现了一个应该是由于前端粗心而导致的 bug,在 2019.12.30 出发,结果 App 上显示的是 2020.12.30(吓得我以为我的订单下错了,此处是不是该把程序员拉去祭天了)。 鉴于可能会有程序员因此而被拉去祭天,而我以前学 Java 的时候就有留意过这个问题,所以我还是把这个问题拿出来说一下,希望能尽量避免这方面的粗心大意(毕竟这种问题也很难测出来)。
109 0
一个由“ YYYY-MM-dd ”引发的惨案 元旦来临前警惕