2023-02-02에 쓸 예정
CodeEngn Challenge 링크 https://ch.codeengn.com/
정답인증은 OEP + Serial
Ex) 00400000PASSWORD
Author: Raz0r
File Password: codeengn
이전글을 보고 오는걸 매우 추천한다. https://dhhd-goldmilk777.tistory.com/245
동영상: https://www.youtube.com/watch?v=iLdmGUMZU0Q
상세설명
소스코드로 생략한다. 영상에 대부분있으니 영상을 참고하길 바란다. Windows xp설치는 1편에서 했다.
리소스를 추출해서 Visual Studio 2022에 인식하는 걸 밑에 넣었다. xp는 영상과 소스를 참고하길 바란다.
Save ALL Resources to an RC file로 리소스를 추출한다.
소스 두개를 빈 프로젝트에 만든 후
오른쪽에 프로젝트 이름 클릭후 파일 탐색기에서 폴더 열기를 클릭해서 붙여넣어줍니다.
위에 소스를 각각 소스 파일과 해더 파일에 기존 항목 추가로 추가합니다.
소스 분석은 1편에서 했습니다.
#pragma once #include "resource.h"
+(2편용)main.h 설명
#include "resource.h"는 리소스 id를 가져오기위한 해더이다.
리소스에도 추가 기존 항목으로 똑같이 rc파일을 추가해줍니다.
06.rc를 클릭하면 두개의 오류가 나옵니다.
코드 편집이나 솔루션에서 코드 보기로 코드를 조금 수정해줍시다.
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 101 DIALOGEX 0, 0, 187, 46 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_STATICEDGE CAPTION "Raz0r Crackme #1" LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US FONT 8, "MS Sans Serif" { CONTROL "", 1000, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 7, 173, 14 , WS_EX_STATICEDGE CONTROL "Check Serial", 1001, BUTTON, BS_PUSHBUTTON | BS_CENTER | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 25, 173, 14 } 1002 ICON "ICON1002_1.ico"
위에가 원본이다.
#include "winres.h" LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL Dialog DIALOGEX 0, 0, 187, 46 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_STATICEDGE CAPTION "Raz0r Crackme #1" LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US FONT 8, "MS Sans Serif" { CONTROL "", 1000, EDIT, ES_LEFT | ES_AUTOHSCROLL | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 7, 173, 14 , WS_EX_STATICEDGE CONTROL "Check Serial", 1001, BUTTON, BS_PUSHBUTTON | BS_CENTER | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 7, 25, 173, 14 } Icon ICON "ICON1002_1.ico"
이렇게 수정하고 저장후
X를 눌러 닫고
다시 열어준다.
이제부터 중요하다. Dialog를 더블클릭후
샘플 입력란을 클릭 후
ID를 1000에서 Dialog_Input_String으로 바꾸어준다.
Check Serial을 클릭 후
여기까지하고 Ctrl+S로 저장하고 닫아준다.
솔루션탐색기에 보면 값이 정의되어있는데
저기에
#define Dialog 101
#define Icon 1002
을 추가해준다.
//{{NO_DEPENDENCIES}} // Microsoft Visual C++에서 생성한 포함 파일입니다. // 06.rc에서 사용되고 있습니다. // #define VS_VERSION_INFO 1 #define Dialog_Input_String 1000 #define Dialog_Check_Serial_Button 1001 #define Dialog 101 #define Icon 1002 #define IDC_STATIC -1 // Next default values for new objects // #ifdef APSTUDIO_INVOKED #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 102 #define _APS_NEXT_COMMAND_VALUE 40001 #define _APS_NEXT_CONTROL_VALUE 1000 #define _APS_NEXT_SYMED_VALUE 101 #endif #endif
바뀌기전
바뀐 후 Dialog와 Icon의 ID를 바꾸어준다.
만약 오류가 나면 코드 편집으로 들어가서
#include "winres.h"을 추가해주고 컴파일하면 컴파일이 된다.
'코드엔진 Basic RCE L' 카테고리의 다른 글
코드엔진 Basic RCE L06 번외풀이1 (0) | 2023.02.02 |
---|---|
코드엔진 Basic RCE L06 풀이 (0) | 2023.02.02 |
코드엔진 Basic RCE L05 풀이 (2) | 2023.02.02 |
코드엔진 Basic RCE L04 번외풀이 (0) | 2023.01.31 |
코드엔진 Basic RCE L04 풀이 (0) | 2023.01.31 |