일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 강의
- 워 게임
- 라이트 업
- 코드엔진
- web
- 리버싱
- probgame
- 시탭
- vsCode
- ShaktiCTF
- 리버스 엔지니어링
- 풀이
- 2021
- 파이썬
- PYTHON
- 라이트업
- 드림핵
- 히공
- 라업
- Basic
- 뭉뭉
- write up
- reversing.kr
- write-up
- 변수
- c언어
- ctf
- hackingcamp
- 해킹캠프
- reversing
목록reverse engineering (45)
히공
ImagePrc 문제를 풀어보겠습니다. 실행화면 입니다. 그냥 아무거나 그리고 Check 버튼을 눌러보았습니다. WinMain 함수 입니다. WndProc 으로 보이는 함수 입니다. (인자도 WndProc 함수랑 같기 때문입니다) 27줄에서 CreateComatibleBitmap(v7,200,150)으로 비트맵을 만듭니다. msdn 주소 : 여기 비트맵의 크기는 200px, 150px 입니다. string 검색 Wrong을 찾았습니다. 여기서 x를 누르니 어디서 사용되는지 알려줍니다. 바로 여기 입니다. 24비트맵이란걸 알 수 있습니다. 여기서 비교를 해서 그린 그림이 맞는지 아닌지 검사합니다. x32dbg로 아까 그 부분을 열었습니다. 반복문 시작 전에 bp를 걸어주었습니다. 이런식으로 칠해주고 Che..
보호되어 있는 글입니다.
로또 문제를 풀어보겠습니다. 실행화면 입니다. 메인함수입니다. 64비트 문제여서 그런지 wprintf, wscanf_s 등 w붙은 함수를 사용하네요. x64dbg의 주석기능을 이용해서 코드의 설명을 넣었습니다. wscanf_s 부분에 bp를 걸고 f9를 입력해서 숫자를 입력해보겠습니다. 1 2 3 4 5 6을 입력했습니다. 그 후 system("cls")로 창을 이쁘게 정리해주고, sleep(0x1f4)를 해서 조금 쉬게 해줍니다. 여기서 랜덤으로 값을 가져오고, 그 값을 암호화 합니다. 그 후 [rsp+rbx*4+0x54] 부분에 순서대로 값을 저장합니다. 이것을 총 6번 반복합니다. 그 후 생긴 배열입니다. 이런 루틴이 있습니다. 총 6번 for문을 돌립니다. 비교 루틴이 보입니다. eax값은 1이고..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.
보호되어 있는 글입니다.