2018/07(15)
-
ISITDTU CTF Reversing cool
문제 의도 : md5 decrypt && xor value 바이너리를 실행하면 전형적인 키 값 입력 리버싱 문제임을 알 수 있다.이러한 문제는 루틴을 잘 이해해야 한다. 코드를 보고 판단해보자.antidebug가 있지만 이건 간단하게 patch를 할 수 있으니 굳이 신경쓰지 않아도 된다. 위에 알 수 없는 문자열들은 32바이트 즉, md5이다.md5 decrypt를 하면 fl4g _i5_ h3r3 이라는 값을 볼 수 있다. 해당 문제의 핵심은 이 부분이라고 볼 수 있다. convert_md5함수에 접근해보자. 입력한 data가 고정 되어있는 md5값과 같은지 다른지 체크하는 부분이 있다. 같든 다르든 메모리 해제(free)를 해준다. convert_md5의 반환 값에 따라 fail()로 갈 지 새로운 작..
2018.07.30 -
ISITDTU CTF Reversing Embeedding
바이너리를 다운로드 받으면 ZIP 파일이 있는데 이를 압축해제하면 한국노래 하나와 .exe가 있다. 해당 exe 파일은 zip archive가 되어있다. 예전에 악성코드 분석을 할 때 sfx로 압축되어있는 파일이 있던 것이 기억이 나서 exe를 zip으로 바꾸니 또 다른 파일들을 추출 할 수 있었고 그 파일 안에 flag가 숨어있다. 플래그ISDTU{Enc0d1ng_ph4s3_i5_t3rr1b3._.}
2018.07.30 -
ISITDTU PWN Unexploitable 미완성
보호되어 있는 글입니다.
2018.07.30 -
ISITDTU CTF PWNABLE XOXOPWN
보호되어 있는 글입니다.
2018.07.30 -
어셈 64비트 구구단
후 스스로 했다 뿌듯 뿌듯 뿌듯 !!!! x86_64에서 호출 규약 이건 깨뜨리면 안 되는듯 ; 64bit is rdi -> rsi -> rdx -> rcx -> r8 -> r9 ; how to compile ; nasm -f elf64 -o test -l test.lst test.asm ;how to linker ; ld --dynamic-linker /lib64/ld-linux-x86-64.so.2 -o test /usr/lib/x86_64-linux-gnu/crtn.o test.o -lc global _start extern printf extern exit section .data message: db "%ld x %ld = %ld",10,00 ; \x0a\x00 i: dq 2 ; long int..
2018.07.13 -
어셈 32bit 구구단
#include #define INIT (1)char format[] ="result = %d x %d = %d\n";char end_print[] = "good bye\n";int j = 1;int i = 2;int result = 0;int main(){__asm{jmp _init_init:xor eax,eaxxor ecx,ecxxor edx,edxxor edi,edi jmp row_init row_init:mov ecx, i // x jmp row_comp row_comp:cmp ecx, 0x9 // 9단인지 비교 jle column_set// 2~9단이면 jmp end column_set:mov edi, j // yjmp column_comp column_comp:cmp edi, 0x9jle ca..
2018.07.13