[HGAME 2022 week1]easyasm-入土为安的第十八天

简介: [HGAME 2022 week1]easyasm-入土为安的第十八天

知识点汇编  asm

0x91, 0x61, 0x01, 0xC1, 0x41, 0xA0, 0x60, 0x41, 0xD1, 0x21, 0x14, 0xC1, 0x41, 0xE2, 0x50, 0xE1, 0xE2, 0x54, 0x20, 0xC1, 0xE2, 0x60, 0x14, 0x30, 0xD1, 0x51, 0xC0, 0x17

首先是将ax清零,然后从数据段中拿出数据,向左偏移4,压入栈中,再清零ax,再从数据段中拿出数据,再向右偏移4,将栈中的数据拿出给bx,ax+bx,再拿ax与 (十六进制的17)23进行异或

(左移使用的是 shl 指令,而右移使用的是 shr 指令)

string = [0x91, 0x61, 0x01, 0xC1, 0x41, 0xA0, 0x60, 0x41, 0xD1, 0x21, 0x14, 0xC1, 0x41, 0xE2, 0x50, 0xE1, 0xE2, 0x54, 0x20, 0xC1, 0xE2, 0x60, 0x14, 0x30, 0xD1, 0x51, 0xC0, 0x17]
flag = ""
for i in string:
    i = i ^ 0x17
    flag += chr(((i>>4)+(i<<4))%128)
print(flag)

hgame{welc0me_to_4sm_w0rld}

为什么需要 %128

  • 范围限制:在字符转换中,通常需要确保得到的值在有效的字符范围内,尤其是ASCII范围(0到127)或更大范围(0到255)。%128 操作是为了确保得到的结果在0到127范围内,适合ASCII字符。
  • 避免溢出:位移操作后,结果可能超出单字节范围(0到255),使用 %128 是为了保证结果在0到127的范围内,以防止在chr()函数中出现不合法的字符代码或导致错误。
目录
相关文章
BUUCTF [SWPU2019]我有一只马里奥 1
BUUCTF [SWPU2019]我有一只马里奥 1
811 0
BUUCTF [SWPU2019]我有一只马里奥 1
|
数据安全/隐私保护
[羊城杯 2020]easyre 1题解
buuctf-[羊城杯 2020]easyre 1题解
641 0
[羊城杯 2020]easyre 1题解
[MoeCTF 2022]chicken_soup 入土为安的第三天
[MoeCTF 2022]chicken_soup 入土为安的第三天
242 0
[LitCTF 2023]程序和人有一个能跑就行了 入土为安的第五天
[LitCTF 2023]程序和人有一个能跑就行了 入土为安的第五天
217 0
|
数据可视化 搜索推荐 前端开发
建站必备!推荐20款免费WordPress主题下载合集!
本文推荐了20款免费WordPress主题,包括极简主义的Hello、功能强大的Kadence、轻量级的GeneratePress等。每款主题均附有预览图和特色介绍,如可视化编辑、自定义布局、SEO优化等,适合不同需求的建站者使用。更多主题可访问ztmao.com。
1844 5
建站必备!推荐20款免费WordPress主题下载合集!
[HDCTF2019]Maze(初识逆向)
[HDCTF2019]Maze(初识逆向)
805 1
|
存储 安全 算法
CTF磁盘取证分析方法案例
CTF磁盘取证分析方法案例
683 1
|
Python
[NISACTF 2022]ezpython入土为安的第二十一天
[NISACTF 2022]ezpython入土为安的第二十一天
188 0
|
数据库 Python
NSSCTF[GDOUCTF 2023]Check_Your_Luck
NSSCTF[GDOUCTF 2023]Check_Your_Luck
145 0
|
小程序
配置自动上架(提效百宝箱系列)
配置自动上架(提效百宝箱系列)
282 11
下一篇
开通oss服务