Basic03 힌트를보면 비주얼베이직의 스트링 비교함수를 알아오라고 합니다. 구글링해서 답을 찾을 수 있는 문제지만, 디버깅을 통해 알아보는게 실력향상에 도움이 될겁니다. 분석할 실행파일을 실행하고 등록을 눌렀더니 오류가 뜨네요. 저 문자열을 기억하고 있겠습니다. 스트링을 비교해서 True이면 맞는 값을, False면 저 msg의 경고창을 날리는 종류인 것 같습니다. Exeinfo PE로 확인을 해보면 visual Basic으로 컴파일이 되어있고 패킹은 안되어 있습니다. 디버깅을 해보면, VB 파일을 디버깅하게 되면 항상 저런 모습의 exe파일과 다르게 점프문 형식으로 이루어져 있습니다. VB는 이벤트 값으로 실행하고 불러오는 구조이기 때문에 그렇습니다. exe파일 분석하다가 이런 파일 만나면 너무 어렵..
Basic02의 힌트를 보면 패스워드가 무엇인지 분석하라고 나옵니다. 일단, 실행을 해보겠습니다. 실행은 안되고 오류가 뜨네요. 흠.. 헥스레이로 한번 살펴보겠습니다. 예상대로 기존의 실행 파일과는 많이 다르네요. MZ(4D 5A)만 정상이고 다른 것들은 좀 이상해보입니다. 아래는 일반 실행파일과 이번 문제 파일의 비교입니다. 일반 실행파일의 헤더 구조 이상하다 싶어서 아래를 계속 내리니 헤더 복구가 된다면 정상적인 API 함수도 사용하고 기존의 True/False 루틴도 나옵니다. 그런데 문자열 속에 무언가를 숨겨놓네요.
코드엔진 Basic부터 차근차근 풀어가도록 하겠습니다. 다른 사이트와 다르게 답을 공개하면 불이익이 주어지네요. 풀이만 공개하겠습니다. 일단, 문제를 보시면 HDD를 CD-ROM으로 인식하기 위해서 리턴값을 바꿔야 하는 것 같은데, 바로 올리디버거로 분석 해보겠습니다. 밑의 화면을 보시면 처음에 MsgBox를 띄워줍니다. 당신의 HDD를 CD-Rom으로 만들어라. 흠.. 아래의 API 함수가 눈에 띄네요. GetDriveTypeA라는 함수는 현재 드라이브를 가져와서 리턴 시키는 함수입니다. UINT WINAPI GetDriveType( _In_opt_ LPCTSTR lpRootPathName ); 인자로는 path 값을 받아서 실행을 합니다. 밑의 화면은 GetDriveType의 리턴 값입니다. 트레이싱..
- Total
- Today
- Yesterday
- malware
- VirusBulletin
- .wll
- Decoding
- CVE-2018-9375
- Yara
- AMSI
- 비트코인
- idapython
- Servey
- 멋쟁이사자처럼 4기
- 위협정보공유
- Bisonal
- us-cert
- 악성코드
- koodous
- MS-Office
- CVE-2018-0798
- infostealer
- 해킹메일
- Cisco Talos
- cuckoo-sandbox
- 한글악성코드
- 출처 : Do it 안드로이드 프로그래밍
- Static Analysis Engine
- vuln
- Kimsuky
- 스피어피싱
- keylogger
- Flybits
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |