-
-
未解决
[求助]逆向中的一点问题,__x128i类型
-
发表于:
2019-11-13 18:09
2503
-
未解决 [求助]逆向中的一点问题,__x128i类型
关于__m128i类型的一个问题
只是菜鸡一个,希望大佬不吝建议!
是在练习CTF逆向题的时候遇到的问题,如下图中的伪代码,出现了类型为__m128i的变量:
在查阅了msdn和其他一些资料之后,我把这个类型理解为16个字节大写的一种类型,有些资料里叫做UNION,这样理解下来之后,在下面这张图片中有点疑问:
按照我分析的结果,check函数第二个参数decode_str是将输入的flag值进行相应的处理后得到的结果,check函数的第一个参数decode_size则是decode_str的长度,中间的最大的if代码段将decode_str进行二次处理了,结合m128i的理解,感觉应该就是将decode_str看做m128i的一个数组,循环对其进行异或(异或的值为
xor_value = "\x25"*16
),但在if代码段的最后又将其看做char字符串与0x25异或,我想问这两种异或的方式是一样的吗?如果是一样的话那不就相当于没有作用了吗?
第二张图片中:\JPzNKJRzMJRzQJzW@HJS@zOPKNzFJA@
是字符串you_know_how_to_remove_junk_code
与0x25异或的结果。
求大佬答疑!^-^
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!