[NewStarCTF 2023 公开赛道]SMC wp

偶然找到的一道题,和我之前做的简单的异或类型的smc不一样

image

shellcode和smc都会像这样更改权限,所以要留意这这个地址

其他的大佬博客也很清晰了

https://blog.csdn.net/2401_84404094/article/details/148739478

image

image

可能是修改了一次程序的原因,在没修改的时候更加明显,命名为ipaddress

image

将这里undefine再强制转换为code,这样就还原了加密函数(ida的类型识别感觉总有点问题)

image

#include <windows.h>
#include <stdio.h>

int main() {
	int flag[] = {0x7C,0x82,0x75,0x7B,0x6F,0x47,0x61,0x57,0x53,0x25,0x47,0x53,0x25,0x84,0x6A,0x27,0x68,0x27,0x67,0x6A,0x7D,0x84,0x7B,0x35,0x35,0x48,0x25,0x7B,0x7E,0x6A,0x33,0x71};
	for(int i = 0 ;i<32;i++){
		flag[i] = (flag[i]-5)^0x11;
		printf("%c",flag[i]);
	}
    return 0;
}

flag:flag{SMC_1S_1nt3r3sting!!R1ght?}

posted @ 2025-07-06 03:43  zzz222666  阅读(29)  评论(0)    收藏  举报