pwnable.kr bof writeup
·
Wargame/Pwnable.kr
bof문제인데 이전 문제들이랑은 푸는 방법이다르더라구요이번엔 우분투에서 풀어보았습니다 자먼저 Download에있는 링크를 통해서 파일 두개 다운받아주시고bof.c먼저 살펴보겠습니다코드를 딱 봤을때는 쉽다라고 느껴졋는데아니더라구요 우선은 key값이랑 0xcafebabe가 같아야하는데 애초에 틀려먹었죠 그럼 어떻게하느냐 찾아본결과 gets함수가 받을 문자수를 지정하지않아서 버퍼오버플로우가 나타난다고 합니다 버퍼오버플로우가 무엇이냐https://namu.wiki/w/%EB%B2%84%ED%8D%BC%20%EC%98%A4%EB%B2%84%ED%94%8C%EB%A1%9C위에 나무위키에서 한번 읽어보면 될듯합니다 자그럼 gets 함수를 이용해서 key값을 0xcafebabe로 바꾸어 주면되겠죠gdb를 이용해서 분석..
PE File 정리 1
·
Reversing
PE파일 종류: 실행 계열 exe, scr 드라이버 계열 sys,vxd 라이브러리 계열 dll, ocx, cpl, drv 오브젝트 파일 계열 obj 기본구조:DOS header부터 Section header까지 PE 헤더 그 밑의 Section들을 합쳐 PE 바디파일에서는 offset, 메모리에서는 VA로 위치표현 PE 헤더의 끝부분과 각 세션의 끝에는 NULL padding이 존재 VA와 RVA:VA는 가상메모리의 절대주소RVA는 상대주소 RVA + ImageBase = VA DOS Header:PE 헤더의 앞부분에 DOS EXE Header를 확장시킨 IMAGE_DOS_HEADER 구조체존재 IMAGE_DOS_HEADER 구조체 크기 : 40e_magic : DOS signature (4D5A = "..
레나 튜토리얼 1 writeup
·
Reversing
레나 튜토리얼 첫번째 파일을 실행 시켯을때의 모습이다 해석하면 라이센스가 만료되었으니 새로운 라이센스를 구입하라는 뜻이다이제 올리디버거로 열어서 분석해보자올리디버거로 실행하면 이런모습인데문자열 검색을통해서 한번 찾아보자문자열 검색을하면 이렇게 검색결과가 나오는데 처음 실행시켯을때 나온 문자열도 보이고 맨아래 성공했을시에 나오늘 문자열로보이는 문장도 보인다40120C주소로 가보자 이렇게 메세지박스호출함수가 있다문제는 이제 이 메세지박스를 실행시켜야한다는 건데어떻게 해야좋을지 생각을해보자코드들을 보고 고민해본결과지금내 수준에서는 40107B의 JNZ에서 점프주소를 401205로 바꿔주면 된다고생각했다점프주소를 바꾼결과음... 해석해보니 점프범위를 벗어났다고 JNZ LONG를 사용하란다 검색을해보니 JNZ S..
pwnable.kr collision writeup
·
Wargame/Pwnable.kr
------------------------------------------------------------------------------ ls -l 명령어로 파일을먼저 확인합니다 col.c를 vi 편집기로 열어준다음에 코드를 살펴보면 flag를 보기위해선 hashcode와 check_password값이 같아야볼수있군요 위에 check_password 함수를보면 사용자가입력한것을 4바이트단위로 끊어서 res에 넣는함수입니다 그럼 hashcode를 5로 나누어서 입력해주면되겠죠 계산기를 이용해서 21DD09EC를 5로 나누어주면 6C5CEC8이 나옵니다 하지만여기서 6C5CEC8을 5번 곱하면 21DD09E8이라는 값이 나오는데 4가 모자란상황이니깐 6C5CEC8 * 4 + 6C5CECC 를 입력해주면되..
pwnable.kr fd writeup
·
Wargame/Pwnable.kr
첫번째 fd문제는 파일 디스크립터 문제이다 포너블을 처음시작하는 것이라서 파일 디스크립터가 무엇인지 잘모르기때문에  검색을 해보았다  파일디스크립터는 운영체제가 만든 파일이나 소켓을 지칭하기 편하기위해 부여된 숫자라고한다 자세한 설명은  이 블로그에서 쉽게 설명해주고있다  먼저 어떤파일이 있는지 확인해보기위해서 ls -l명령어로 확인한다 여기서 살펴봐야될 파일은 fd.c다  vi를 이용해서 fd.c를 열어보겠다  여기서 잘모르는 코드를이있다 atoi와 read(fd, buf, 32), strcmp인데  하나씩 찾아보았다 먼저 atoi는 문자열을 정수로 변환해주는 함수라고한다 그리고 read(fd, buf, 32)에서 fd자리에는 파일스크립터값 buf자리에는 저장할버퍼 32자리에는 읽을크기를 넣어서 전달해..
crackme2 writeup
·
Reversing
먼저 파일을 실행하면 이름과 시리얼을 입력하는 창이 나온다 아무단어를 넣고 Check버튼을 누르면 시리얼이 틀렷다는 팝업이 실행된다 올리디버거를 이용해서 파일을 열어보자 일단 이프로그램은 비주얼베이직으로 만들어졋고 파란색으로 동그라미친 부분이 비주얼 베이직엔진에서 메인함수를 호출하는 부분이다 먼저 문자열검색기능으로 아까 시리얼이틀렷다는 메세지를 찾아서 주소로 이동한다 시리얼이 틀렷을경우와 맞을경우를 구분하는 조건분기문이 있을것이니 좀만위로 올려서 찾아본다 403332 주소에서 찾아볼수있다 아래에 Congratulations! 라고 시리얼이 맞알을경우 출력되는 내용으로 추정되는 문자열이있고 TEST 명령어로 비교한뒤 참이면 JE 명령어로점프한다
Crackme1 writeup
·
Reversing
환경: window10 64x파일을 실행시키면하드디스크를 cd롬으로 인식되게 만들라는 내용이 나온다 401024, 401026주소에서 CMP명령어로 EAX와 ESI의 값을비교하고JE명령어도 참이면 40103D주소로 점프하고틀리면 401028주소를 실행한다 JE를JMP로 바꾸어 주고 F9를 누르면 정상적으로 하드디스크가 시디롬으로 인식되었다고 말하면서 끝난다
파이참 깃헙(깃허브) 연동하기
·
Coding/python
https://github.com/우선 위의 깃헙주소로 들어가줍니다 그 뒤에 들어가면 바로보이는 웹페이지에서 회원가입을 하신뒤에 깃헙에 로그인해줍시다 로그인하면 이화면이 보이실텐데 여기서 Start a Project 를 눌러서 새로운 프로젝트를 만들어주세요 그뒤에 Repository name에 프로젝트 이름을 적어주신뒤하단의 Create repository를 눌러 주시면 새로운 프로젝트가 만들어집니다 그다음 이화면에서 자기가만든 프로젝트의 깃주소를 복사하신뒤 파이참 메뉴에서 VCS-Checkout from Version Control-Git 순서로 눌러주시고 URL에 복사하신 주소를 붙여넣은다음에 Clone버튼을 눌러줍니다 여기서 저는 이미 파이참에서 깃헙에 로그인되어있기때문에따로 로그인을 안해줘도되지만..
비주얼 스튜디오2017 다운방법 사용법
·
Coding/C
안녕하세요 이번엔 사람들이 많이 사용하는 IDE인 비쥬얼 스튜디오 2017 다운방법을 알아보겠습니다 먼저 아래링크로 들어가주세요https://visualstudio.microsoft.com/ko/downloads/?utm_medium=microsoft&utm_source=docs.microsoft.com&utm_campaign=button+cta&utm_content=download+vs2017&rr=https%3A%2F%2Fdocs.microsoft.com%2Fko-kr%2Fvisualstudio%2Finstall%2Finstall-visual-studio%3Fview%3Dvs-2017 위의 다운로드 페이지로 들어가신다음 커뮤니티버전 무료 다운로드를 클릭하셔서 진행하시면됩니다. 감사합니다
비주얼 스튜디오 콘솔창 꺼짐문제 해결
·
Coding/C
비주얼 스튜디오를 사용하다보면 코드를 열심히 작성하고 실행시키면 결과가 나오지않고 바로 꺼질때가 있습니다 제가 해결방법을 알려드릴께요먼저 비주얼스튜디오에서 작업중인 프로젝트를 활성화 시켜주세요그리고 여기서 메뉴창의 디버그 - (프로젝트이름)속성으로 들어가신후에속성창이 뜨시면 좌측 사이드바에서 링커-시스템 탭으로 이동하신다음하위시스템을 콘솔로 변경해주시면 이렇게 콘솔창이 바로 꺼지지않고 결과를 확인하실수있습니다 이만 포스팅 마치겠습니다 감사합니다
Junyoung.dev
Junyoung.dev