본문 바로가기

반응형

Reversing

(13)
RCE/CodeEngn/BasicRCE02 # 문제 설명- 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오 - 실제로 실행하지 않고 Hxd열어서 패스워드를 확인했습니다. # 문제 풀이- 헥스 에디터로 문제 파일을 엽니다. - 문맥 상 "Yeah, you did it!" 문장 아래 적혀 있을것을 추측합니다.- JK3FJZh가 패스워드임을 확인합니다.
RCE/CodeEngn/BasicRCE01 # 문제 설명- HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가?- 다양한 풀이 방법이 있지만 저는 JE를 바꿔주는 풀이를 했습니다. # 문제 풀이- CMP EAX, ESI의 결과가 같으면 0040103D로 점프 합니다. 결과가 같지않으므로 같지 않을 때 점프하는 JNE명령으로 바꾸어 줍니다.- 바꾼 명령입니다. # 실행 결과
주요 원도우 함수 (기록) 출처 : 실전 악성코드와 멀웨어 분석 accept : 들어오는 연결을 리스닝 할 때 사용, 프로그램이 소켓에서 수신 연결을 리스닝하고 있음을 암시. AdjustTokenPrivileges : 특정 권한을 활성화하거나 비활성화 할 떄 사용 -> 프로세스 인젝션을 하는 악성코드가 추가 권한을 얻기 위해 사용. AttachThreadInput : 두 번째 스레드가 키보드나 마우스 같은 입력 이벤트를 수신할 수 있게 하나의 스레드가 다른 스레드의 입력을 처리할 때 사용. bind : 들어오는 연결을 리스닝할 목적으로 로컬 주소에 연관 지을 때 사용 BitBIt : 한 장치에서 다른 장치로 그래픽 데이터를 복사할 때 사용 -> 스파이웨어는 이 함수를 이용해 화면을 캡처 * 이함수는 라이브러리 코드의 일부로 컴파일..
공통 DLL 목록 # DLL 이란? - Dynamic Link Library- 프로그램이 실행될 때 동적으로 불려와서 사용되는 라이브러리- 프로그램이 실행될 때 필요한 함수들을 담고 있으며, 흔히 Import 된다고 말함.- 라이브러리를 동적으로 연결하면, 호스트 운영체제는 프로그램을 로드할 때 필요한 라이브러리를 검색, 검색후 함수를 호출하면 라이브러리 내의 함수를 실행 한것. # 공통 DLL DLL 설명 Kernel32.dll 메모리, 파일, 하드웨어 접근가 조작과 같은 핵심 기능. Advapi32.dll 서비스 관리자나 레지스트리 같은 추가 핵심 윈도우 컴포넌트에 접근. User32.dll 버튼, 스크롤바, 사용자 행위 제어, 반응 컴포넌트 등 모든 사용자 인터페이스 컴포넌트를 담음 . Gdi32.dll 그래픽 보기..
디스어셈블링 할 때 소스 깔끔하게 하기 IDA 5.x 매뉴얼을 읽다, 적어놓으면 좋을것 같아서 적음. Microsoft Visual Stdio의 VC 폴더 bin 안에는 CL라는 C/C++ 컴파일러가 존재한다. stdio를 실행시켜서 컴파일 하는 것보다 CL를 이용하여 컴파일하면 소스가 간단하게 나온다. 위 사진을 보면 용량도 적다. Visual Stdio 6.0일때 VC98 폴더 안의 bin 에 CL.exe가 존재했는데, 버전 업이되면서 VC\bin\CL.exe이 있다. 환경변수 설정을 해주면 cmd 창에서도 컴파일 할 수 있어 간편하므로 설정 해주자. E:\Program Files(x86)\Microsoft Visual Studio 14.0\VC\bin (필자 기준) 위 경로를 등록하면 끝. cmd 창에서 cl /help로 간단한 설명을 ..

반응형