목록War Game/CodeEngn (25)
tmxklab
1. 문제 1) 문제확인실행시키면 왼쪽 창이 뜨고 "Register now !"를 누르면 오른쪽 메시지 박스가 뜬다. 2. 접근방법 아이다에 올려보면 다음과 같이 메시지 박스가 뜨고start함수만 존재한다. 뭔가 문제가 있는 것 같다. 패킹 정보를 확인해보니 UPX로 패킹된 것을 알 수 있다. 이제 언패킹을 하자 upx를 다운로드하여 언패킹 시도 ㄱㄱ 3. 문제풀이 "Wrong Serial, try again!"문자열을 참조하는 곳을 살펴보면 Strcmp()가 2번 사용되었고 참이면 "Conrats! ~~~"메시지 박스를 띄워주는 것 같다. v7은 사용자 입력 값인 것 같고 비교하는 값은 str_Registered_User[1]과 str_GFX_754_IER_954[1]이다. 따라서 확인해보면 사용자 아..
1. 문제 1) 문제확인실행해보면 cmd창이 뜨고 계속 "정상"이라는 문자열이 출력된다. 2. 접근방법 3. 문제풀이 디버거 프로그램을 탐지하는 함수는 "IsDebuggerPresent" 디버깅하고 있으면 저렇게 "디버깅 당함"이라고 문자열 출력함 4. 몰랐던 개념 Anti-Debugging 기법 중 가장 기초적인 방법으로 "IsDebuggerPresent"함수를 사용한다. +) 커널모드의 디버거는 탐지하지 못하고 유저모드의 디버거먼 탐지가 가능하다고 한다.+) 해당 프로세스가 디버깅을 당하고 있는지 여부를 PEB구조체의 디버깅 상태 값을 확인한다고 한다. 참고 자료)자동등록방지를 위해 보안절차를 거치고 있습니다.http://hisjournal.net/blog/362 Uploaded by Notion2T..
1. 문제 1) 문제확인음.. 또 실행이 안된다. 근데 비쥬얼 베이직에서 문자열 비교함수를 찾아보니..요건데 입력하면 틀리다고 나온다..ㅋㅋㅋㅋㅋㅋ 2. 접근방법 다음 링크를 참고해서 문제해결ㄱㄱMsvbvm50.dll 다운로드 및 오류 해결법Msvbvm50.dll 에러가 발생하면 문제가 생긴 파일이 있는 위치에 파일을 복사하여 넣거나 파일을 새로 생성해야 합니다. 여기에서는 파일을 다운로드 받아서 시스템 폴더에 넣거나 다이렉트X 최신버전을 설치하여 파일을 새로 생성하는 방법을 알려드리겠습니다. 1. 바탕화면의 내 컴퓨터 아이콘을 마우스 오른쪽 버튼을 클릭합니다. 다음 그림과 같이 목록이 표시되면 속성을 선택하여 시스템 창을 오픈합니다. 2.https://boksbooks.tistory.com/67 그럼 ..
1. 문제 1) 문제확인실행이 안된다. 2. 접근방법 010 editor로 열어봤을 때 PE Header에 뭔가 문제가 있다.DOS Header의 e_lfanew멤버 즉, 첫 바이트로부터 offset이 0x3c떨어진 곳에 NT Header가 시작되는 위치의 옵셋이 존재한다. 근데 위 사진을 보면 알 수 있듯이 0x1000값이 들어있다. → 잘못됨여튼, 이것말고도 각 헤더의 멤버에 세팅 값이 이상한 것을 확인할 수 있어 요런 것들을 고쳐서 PE가 정상 작동하도록 해야할 것 같다. 결론적으로 잘 보면 Dos Header는 정상적으로 되어있고(위에서 말한 NT Header가 시작 옵셋을 알려주는 e_lfanew빼고) Dos Stub은 아예 없고 Nt Header도 아예 없는 것 같아보이지만 Section He..
1. 문제 1) 문제확인실행 결과 CD-ROM Drive가 아니라고 한다. 2. 접근방법 GetDriveTypeA()를 호출하고 eax값과 esi를 비교하여 같아야 할 듯하다.esi값은 어떤 값인지는 모르겠는데 eax값은 GetDriveTypeA()의 리턴 값으로 생각된다. 최종적으로 "cmp eax, esi"을 실행하기 전까지 eax는 2번 감소하게 된다. GetDriveTypeA()는 디스크 드라이브 타입을 알아내는 함수이며 리턴 값에는 드라이브 타입을 알 수 있다.DRIVE_CDROM일 때 리턴 값이 5인 것을 알 수 있다. 3. 문제풀이 GetDirveTypeA()의 인자에 C드라이브 path가 들어가며 실행 후 리턴 값으로 3이 eax에 저장되어진다. eax가 2번 감소되어 1이 저장되어 있고 ..