2018/03(35)
-
pwnable.kr asm (진짜오래걸렸다 이해하는데..)
보호되어 있는 글입니다.
2018.03.21 -
pwnable.kr memcpy
보호되어 있는 글입니다.
2018.03.20 -
pwnable.kr UAF
보호되어 있는 글입니다.
2018.03.17 -
예전에 풀었던 Abex을 키젠 으로 다시 풀기
#include #include #include int main(){int t = 0x64;unsigned char name[100] = "\x0";printf("name 입력 >> ");scanf("%s", name);int n = strlen((const char*)name); if (n < 4)return -1; for (int i = 0; i < n; i++){name[i] += t;}for (int i = 0; i < n; i++){name[i] = name[i] & 0xffffffff;printf("%x", (int)name[i]);}return 0; 4글자만 된다. }
2018.03.15 -
64비트 간단한 예제로 다루어보는 최적화 모드들에 대한 분석
보호되어 있는 글입니다.
2018.03.15 -
우연히 삽질 후 알게 된 메인함수의 뒷 이야기..?
집에 와서 디버깅을 조금 해보다가 재밌는것을 알게 되었습니다. 제목은 우연히 삽질 후 알게 된 메인함수의 뒷 이야기입니다. 많은 이들이 메인함수가 끝났을 때 return 0을 습관처럼 사용합니다. 무심결에 return 0을 사용하는데 그 근본을 알고 싶어 이번에 우연찮게 시도해보게 되었습니다. 테스트에 사용되었던 코드입니다.#include #pragma warning(disable:4716)char format[] = "ㅋ"; int i = 0;__declspec(naked)int main(int argc, char*argv[]){__asm{push ebpmov ebp,espmov ecx, icompare:cmp ecx,0x4jl _loopje _out_loop:mov eax, offset formatp..
2018.03.14