unpWn4bL3 发表于 2022-6-28 01:33

[网鼎杯2020青龙组]singal有一处不理解的地方

本帖最后由 unpWn4bL3 于 2022-6-28 01:39 编辑

题目链接:https://buuoj.cn/challenges#[%E7%BD%91%E9%BC%8E%E6%9D%AF%202020%20%E9%9D%92%E9%BE%99%E7%BB%84]singal

小弟自己吭哧吭哧动静结合一通分析也算是做出来了,就是倒着跑虚拟机指令,但是有个地方我不是很理解:


红框的部分应该是vm指令里检查变化后的用户输入与opcode是否相等的地方
但如果我用Str_100 = 这个作为最终结果跑的话,求出来的结果对应原数组0xffffff几个数字的地方,算出来的值非常大无法转换为字符
但是如果我用Str_100 = 这个数组跑的话,就能跑出正确答案!
最终比较部分的代码如下:


对汇编里数据传送和比较这块理解的不是很深入,难道是这时的比较仅传入了一个byte吗?望各位师傅指点!

页: [1]
查看完整版本: [网鼎杯2020青龙组]singal有一处不理解的地方