Hgame easyasm
这题不能反编译,只能看汇编语言。
这里记录一下学到的东西。

可能会有不正确的地方,请指正。
第一个注意的点是seg001放入了寄存器ax,然后这个是可以看到是什么东西的

然后继续看到汇编语言,主要操作就是对其进行了换位先乘16后除16,在这里面的数字都是16进制,意思就是给其换位。
再看到si它加了1,最开始他是0,到right那里是进行了1ch次循环,然后可以看到seg001里有1c个数,就是每个数都进行了换位。
写脚本
ll=[145, 97, 1, 193, 65, 160, 96, 65, 209, 33,
20, 193, 65, 226, 80, 225, 226, 84, 32, 193,
226, 96, 20, 48, 209, 81, 192, 23,]
for i in range(len(ll)):
al=ll[i]^23
print(hex(al),end=',')
l=[0x86,0x76,0x16,0xd6,0x56,0xb7,0x77,0x56,0xc6,0x36,0x3,0xd6,0x56,0xf5,0x47,0xf6,0xf5,0x43,0x37,0xd6,0xf5,0x77,0x3,0x27,0xc6,0x46,0xd7]
for i in range(len(l)):
al=l[i]//16+l[i]%16*16
print(chr(al),end='')
hgame{welc0me_to_4sm_w0rld}

浙公网安备 33010602011771号