NSSCTF - creack
0x01 pyinstaller-cookie 运行后程序要求输入。尝试反汇编的时候一股浓烈的工业气息扑面而来: __int64 __fastcall sub_1400040D0(__int64 a1) { ...... v2 = _acrt_iob_func(2u); setbuf(v2, 0i64); if ( (int)sub_140003FC0(a1 + 16) &l...
0x01 pyinstaller-cookie 运行后程序要求输入。尝试反汇编的时候一股浓烈的工业气息扑面而来: __int64 __fastcall sub_1400040D0(__int64 a1) { ...... v2 = _acrt_iob_func(2u); setbuf(v2, 0i64); if ( (int)sub_140003FC0(a1 + 16) &l...
0x01 程序分析 使用ghidra反汇编: /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */ undefined8 FUN_0010108c(void) { int iVar1; size_t sVar2; undefined1 auStack_130 ...
这是一个python打包成的ELF文件: int __fastcall __noreturn main(int argc, const char **argv, const char **envp) { Nuitka_Main(argc, (char **)argv); } nuitka和pyinstaller等打包工具不同,它所做的工作更类似于“编译器”,因此不可能直接提取主代码。网...
__int64 __fastcall main(int a1, char **a2, char **a3) { unsigned int v3; // ebx __int64 v4; // rax __int64 v5; // rax _QWORD *v6; // rax unsigned int v7; // eax __int64 v8; // rax __i...
// gcc -o chall chall.c #include <stdio.h> #include <stdlib.h> #include <string.h> void rot13(char *s) { while (*s != 0) { *s += 13; s++; } } int main(void) { set...
0x1 尝试泄漏got表 - ver1 pwndbg> checksec File: /ctf/xctf/pwn200/pwn200 Arch: i386 RELRO: Partial RELRO Stack: No canary found NX: NX enabled PIE: No PIE (0x8048000) ...
0x1 打开.ttf文件 题目附件给了一个custom.ttf,外加一个html文件。打开后提示:输入正确的flag会显示O。 然而经过尝试,发现一些数字组合会显示X,比如连续输入ab,显示的是字母X。而且进一步测试可以发现只有[0-9a-f]之间的组合才有这样的反应。 看来问题出在这个自定义的字体文件,下一步我们要尝试打开它。 然而直接搜索 “how to open .ttf file”...
0x1 xfg防护 程序内容非常直白,输入50个字符,每个字符与固定数据异或后获得的字节分成4部分,每组 2bit, 进行四选一的操作,最后要求 v8 等于特定值。从这里其实感觉有点像迷宫问题,只是有点奇怪,怎么没有别的限制? int __fastcall main(int argc, const char **argv, const char **envp) { __int64 pro...
0x01 运行 使用file查看文件类型,显示是Game Boy ROM文件 (venv13) woc@myarch:why25/gamerboy ‹master*›$ file chall.gb chall.gb: Game Boy ROM image (Rev.01) [ROM ONLY], ROM: 256Kbit 尝试下载一些模拟器执行(最好能带有调试功能),最后我选择了GearB...
0x1 程序初探 程序需要一个参数,附件额外给了两个数据库,其中用第一个会输出一些条目信息,第二个则会开启一个彩色的终端Box,提示输入10位密码 int __fastcall main(int argc, const char **argv, const char **envp) { char v3; // r8 __int64 v5; // [rsp+10h] [rbp-10h...