일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- format
- reversing
- PMA
- pwnable.kr
- pico
- shellcraft
- practicalmalwareanalysis
- Bottle
- anti
- Bug
- pwnable
- CTF
- toddler
- Read
- shellcode
- Leak
- string
- Toddler's Bottle
- Reverse
- writeup
- picoCTF
- TUCTF
- CANARY
- ASM
- BOF
- 2018
- pwn
- rev
- FSB
- Rookiss
- Today
- Total
목록script (4)
제리의 블로그
program void *read_input() { void *result; // eax@2 int v1; // edx@4 void *v2; // [sp+0h] [bp-18h]@1 char v3; // [sp+4h] [bp-14h]@1 int v4; // [sp+8h] [bp-10h]@1 int v5; // [sp+Ch] [bp-Ch]@1 v5 = *MK_FP(__GS__, 20); v2 = 0; v4 = getline(&v2, &v3, stdin); if ( v4 == -1 ) { puts("No line read..."); result = &unk_8048882; } else { result = v2; } v1 = *MK_FP(__GS__, 20) ^ v5; return result; } int do..
요약리버싱 문제로flag 를 base64, rot13, 또 다른 인코딩.이렇게 3단계 인코딩을 거쳐 strcmp로 비교한다.(세번째 인코딩은 uu 인코딩이란다)풀이방법은 gdb script 로 브루트포싱을 했습니다. void __fastcall main(int argc, char **argv, char **env) { size_t len; // rax@4 char *flag; // ST18_8@4 size_t len_; // rdx@4 char *enc1; // rax@4 char *enc2; // rax@4 char *enc3; // ST18_8@4 if ( argc != 2 ) { puts("./dec_dec_dec flag_string_is_here "); exit(0); } len = strlen..
dingJMax (106pts)94 Solvers난이도: Easy분야: Reversing I prepared the Rhythm game "dingJMax" for you.This is really hard... Can you get prefect score for flag? dingJMax md5sum: 0a55a302e2da26f2e4cd327f056f8219 목차실행 화면분석gdb_command- 실행 화면 실행해보면 4키 리듬게임으로 note 의 모양은 소문자 o 입니다.그리고 299개의 모든 note 를 PERFECT! 를 해서 max SCORE 1000000점을 얻는게 목표란 것을 알 수가 있습니다. - 분석 76 key = wgetch(stdscr); 77 if ( key == 'f' ) 7..
#GDB, #script, #brute, #force, #PIEmmDescriptionWriteup시나리오GDB scriptFLAGDescriptionmm mmWriteup__int64 __fastcall main(__int64 a1, char **a2, char **a3) { __int64 result; // rax@4 __int64 v4; // rcx@4 char s[264]; // [sp+0h] [bp-110h]@1 __int64 v6; // [sp+108h] [bp-8h]@1 v6 = *MK_FP(__FS__, 40LL); srand(0x17A3u); memset(s, 0, 0x100uLL); write(1, "Input: ", 7uLL); s[read(0, s, 0x100uLL) - 1] = 0..