일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 뭉뭉
- c언어
- 변수
- probgame
- 리버싱
- 워 게임
- 시탭
- hackingcamp
- 코드엔진
- write up
- reversing
- 해킹캠프
- 2021
- 강의
- write-up
- 파이썬
- ShaktiCTF
- 라이트업
- 드림핵
- Basic
- 라업
- 히공
- ctf
- web
- 리버스 엔지니어링
- reversing.kr
- vsCode
- PYTHON
- 라이트 업
- 풀이
목록뭉뭉 (19)
히공
립케알 문제중 첫번째 Easy Crack문제를 풀어보겠습니다. 실행화면 아무값이나 넣고 확인을 누르면 틀렸다는 메세지가 출력됩니다. 아까 봤던 틀렸다는 메세지로 찾습니다. 분기점 입니다. 분기점에서 올라가면서 분석해봅시다. 아무값이나 넣어보고 브포를 걸어서 분석해 봅시다. cmp로 [ebp+5]를 'a' 하고 비교합니다. 저희는 123456를 넣었는데 2부분하고 a를 비교하는것을 보면 ebp+4부터 입력한 문자열의 시작이라고 볼 수 있습니다. 일단 그러면 2부분을 a로 바꾸어서 보겠습니다. 5y하고 3456을 어떤함수에 인자로 넣어줍니다. 함수의 반환값이 0이여야 401135로 점프를 안합니다. (401135로 점프하면 틀렸다는 메세지 출력) strcmp인거 같으니 한번 3456부분에 5y를 넣어보겠습니..
코드엔진 basic 2번 문제를 풀어보겠습니다. 실행파일이 손상되었다고 합니다. 실제로 실행이 불가 한것을 볼 수 있습니다. 한번 HXD로 분석해 보겠습니다. 여기 를 눌러서 다운 받을 수 있습니다. (hxd) 실행해 주세요. 이런식으로 뜹니다. 여기다가 02.exe를 끌어서 넣어보세요. 이런식으로 나오는데 GetDigItem같은 자주 사용하던 함수들 이름이 보입니다. 스크롤 해서 밑으로 내려가 보겠습니다. 어머! 너무 대놓고 비밀번호가 있습니다.!! 정답 : JK3FJZh
오늘은 코드엔진 basic 1번 문제 풀어보겠습니다. MessageBox로 나오는 군요. 확인을 눌러보니 또 나왔습니다. x32dbg로 확인해 보았습니다. 0x401026부분이 성공, 실패로 가는 분기점 입니다. cmp, je를 같이 해석해보자면 if (eax==esi) 라고 볼 수 있습니다. 그리고 GetDriveTypeA를 호출합니다. docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getdrivetypea GetDriveTypeA function (fileapi.h) - Win32 apps Determines whether a disk drive is a removable, fixed, CD-ROM, RAM disk, or network..