일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- probgame
- 라업
- PYTHON
- 뭉뭉
- 라이트 업
- 라이트업
- reversing.kr
- 강의
- 드림핵
- write-up
- ctf
- vsCode
- 풀이
- 코드엔진
- web
- 2021
- ShaktiCTF
- 워 게임
- reversing
- c언어
- 해킹캠프
- write up
- 히공
- 리버싱
- Basic
- 변수
- 파이썬
- hackingcamp
- 리버스 엔지니어링
- 시탭
목록Basic (14)
히공

11번을 풀어보겠습니다. 이러한 문제입니다. UPX로 패킹이 되어있습니다. oep로 가는 jump발견 oep 발견 oep주소는 00401000입니다. Messageboxa의 인자는 4개여야 하는데 1개만 있습니다. 그러면 oep로 오기전 3개의 인자가 있겠지요? 그리고 nop의 개수는 12개. 12byte입니다. 12byte가 oep로 오기전에 있을것입니다. 그 훔쳐온 코드를 nop부분에 입력하면 00401000부터 재대로된 코드이기 때문에 oep는 00401000입니다. popad이후 12byte를 보니 0040736D~00407375가 12byte이다. 그리고 3개의 인자 딱 저 부분입니다. 저 부분이 stolenbyte가 되는것입니다. stolenbyte : 6A00680020400068122040..

10번을 풀어보겠습니다. 이러한 문제입니다. 실행했을때 이런 화면이 나옵니다. peid로 확인해보니까 Aspack 패킹이였습니다. Aspack은 압축해제 -> 압축해제 끝 -> 프로그램 실행 이 순서입니다. pushad -> 압축해제 -> popad -> oep로 분기 방식으로 원본코드를 볼 수 있습니다. pushad 발견 pushad 실행 후 esp값 변화 확인 esp우클릭 후 덤프에서 따라기기 클릭 이러한 것이 밑에 뜹니다. 여기서 우클릭 - 중단점 - 하드웨어, 엑세스 - Dword 클릭 이제 esp가 가르키는 메모리 주소에 접근할 때 bp를 걸어두고 실행시키게 되면, 메모리 상에 복구를 마친 뒤 OEP로 분기전 상태가 되며 F9누르면 bp전까지 실행됩니다. f9로 실행하고 나서 jne구문 발견 이..

8번을 풀어보겠습니다. 이러한 문제이다. UPX패킹이 되어있다. pushad발견 popad후 oep로 가는 jmp oep : 01012475 (처음 푸는 분들은 Success가 떠야 정상입니다.) 정답 : 01012475

basic 7번 문제를 풀어보겠습니다. 이러한 문제이다. 실행시켰을때 문자열을 가지고 찾아보자 GetDlgItemTextA를 호출하는 부분에 브포를 걸고 입력값을 받아와보자. 이런식으로 12345를 입력해보았다. GetVolumeInformationA를 실행하고 보니까 push했던 주소중 0x40225C에 로컬 디스크가 들어가는 것을 볼 수 있다. docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getvolumeinformationa GetVolumeInformationA function (fileapi.h) - Win32 apps Retrieves information about the file system and volume associa..

오늘은 코드엔진 basic 6번 문제를 풀어보겠습니다. 이러한 문제입니다. 실행시켰을때 입니다. UPX로 패킹이 되어있습니다. pushad 발견 popad 후 jmp 원본코드 그러면 OEP는 00401360 입니다. 문자열 찾기로 틀렸을때 나오는 Wrong serial!!! 로 이동해봅시다. 0040107D가 분기점입니다. 브포 걸고 실행한 다음에 12345 입력 후 Check Serial 클릭 401290을 호출한다. 그리고 내가 입력한 Serial이랑 AD56DFS547을 push한다. 반환값이 1이다. 일단 strcmp라고 추측해볼 수 있다. 다시 실행해서 AD46DFS547를 입력해보니 반환값이 0이다. 이제 f9로 실행을 하면 잘 동작한다. 그러면 Serial은 : AD46DFS547 OEP :..

코드엔진 basic 2번 문제를 풀어보겠습니다. 실행파일이 손상되었다고 합니다. 실제로 실행이 불가 한것을 볼 수 있습니다. 한번 HXD로 분석해 보겠습니다. 여기 를 눌러서 다운 받을 수 있습니다. (hxd) 실행해 주세요. 이런식으로 뜹니다. 여기다가 02.exe를 끌어서 넣어보세요. 이런식으로 나오는데 GetDigItem같은 자주 사용하던 함수들 이름이 보입니다. 스크롤 해서 밑으로 내려가 보겠습니다. 어머! 너무 대놓고 비밀번호가 있습니다.!! 정답 : JK3FJZh