본문 바로가기

분류 전체보기264

(BOJ) 10216 풀이 #include using namespace std; typedef struct xyr{ int x,y,r; }xyr; xyr cord[5001]; int visited[5001]; int sqare(int x){ return x*x; } int main(void){ int T,N,ans=0; scanf("%d",&T); while(T--){ scanf("%d",&N); ans=0; fill(visited,visited+N,0); stack s; for(int i=0;i 2022. 1. 12.
(BOJ) 2667 풀이 #include #include #include using namespace std; int map[26][26]={0,}; int visit[26][26]={0,}; int yy[]={0,-1,0,1}; int xx[]={-1,0,1,0}; int N; int DFS(int y,int x,int c){ if (y = N || x >= N || map[y][x] == 0) return 0; visit[y][x]=1; for(int asdf=0;asdf 2022. 1. 11.
(Pwnable.xyz) GrownUp writeup int __cdecl main(int argc, const char **argv, const char **envp) { char *src; // [rsp+8h] [rbp-28h] char buf[24]; // [rsp+10h] [rbp-20h] BYREF unsigned __int64 v6; // [rsp+28h] [rbp-8h] v6 = __readfsqword(0x28u); setup(); *buf = 0LL; *&buf[8] = 0LL; printf("Are you 18 years or older? [y/N]: "); buf[(read(0, buf, 0x10uLL) - 1)] = 0; if ( buf[0] != 'y' && buf[0] != 'Y' ) return 0; src = malloc(0x8.. 2022. 1. 11.
(REV) 간단한 지뢰찾기 코드인젝션 목차 찾은 개수 카운팅 변수 찾고 어디서 access 하는지 확인 지뢰 그려주는 함수 찾기 코드인젝션 일단, 치트엔진으로 분석을 시작했다. 찾은 개수 카운팅하는 변수를 찾고, 어디서 access 하는지 검색했다. 칸은 16*16 = 256 개고, 지뢰는 40개 이므로, 현재 찾은 개수와 찾아야 하는 개수를 비교해 같으면 mine.exe+347C 에 1을 넣어 호출해준다. EIP 조작해서 1넣고 호출해보면, 깃발로 모든 지뢰를 표시해준다. 0을 넣어서 호출하면 지뢰가 표시되고 게임이 끝난다. 0 or 1 으로 게임승리와 종료를 판별하는 것 같다. 다음으로, 웃는얼굴을 클릭했을 때 핸들러를 찾기 위해, 지뢰를 초기화해주는 initialize (임의로 명명) 함수의 xref 를 찾아가 봤더니 이렇게 생긴 함수.. 2022. 1. 11.