-
-
[原创]看雪CTF2019晋级赛Q2第六题《消失的岛屿》解题wp
-
发表于: 2019-6-14 12:28 3096
-
程序的流程:
IDA伪代码:
这里是程序的算法:
跟进去看看
IDA伪代码:
这里看到base64必备的编码变换函数:
跟进去看看,找到字符表
OD定位,查看里面的存储数据,这里也能用IDA直接看,但是我还是习惯用OD来定位。
到这里,就可以参考网上的base64,来写出对应的解密算法
得出flag
程序解密完整源码如下:
int __cdecl main() { int v0; // eax@3 _BYTE v2[3]; // [sp+11h] [bp-3Fh]@1 const char *v3; // [sp+48h] [bp-8h]@3 char *v4; // [sp+4Ch] [bp-4h]@3 __main(); printf("please enter Serial:"); scanf(" %s", v2); if ( strlen(v2) > 0x31 ) puts("error"); v4 = (char *)calloc(1u, 0x400u); v0 = strlen(v2); base64_encode(v2, v4, v0); v3 = "!NGV%,$h1f4S3%2P(hkQ94=="; if ( !strcmp("!NGV%,$h1f4S3%2P(hkQ94==", v4) ) puts("Success"); else puts("Please Try Again"); free(v4); system("pause"); return 0; }
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
赞赏
他的文章
谁下载
无
看原图
赞赏
雪币:
留言: