Challenges : Basic 16 Author : ReWrit Korean : Name이 CodeEngn일때 Serial을 구하시오 English : Find the Serial when the Name is CodeEngn 1) 16.exe파일을 PEID로 구조를확인해보자Dev-C++ 4.9.9.2 -> Bloodshed Software [Overlay]현재 Dev-C++ 구조로 패킹되어있는것을 확인할 수 있다. 2)이번것도 올리디버거를 사용해서,분기문을 찾아보자, 분기문을 찾아서 EAX,[EBP-3C]의 값을 찾아서 비교해보자. EAX에는 우리가 입력한 password값이 들어가있고, 결국 EBP-3C값을 구하면 된다HEX -> DEC값으로 변환 시켜서 확인해보자.
Challenges : Basic 15 Author : uBc - bRiANbuSY Korean : Name이 CodeEngn일때 Serial을 구하시오 English : Find the Serial when the Name is CodeEngn 1) PEID로 현재 패킹 상태 확인Borland Delphi 4.0 - 5.0 이렇게 패킹 된것을 확인할 수 있다.별다른 패킹이 없는것을 확인하였으니 2) 이제 올리디버거로 확인해보자,올리디버거로 확인하다보면, search for 기능을 활용하여 사용된 함수와, String값을 확인하여 메시지를 찾아보자, 성공하였을때, 3) 이렇게 성공하였을때 메시지 주변을 찾아보면, 분기문을 찾을 수 있는데, 이것이 큰 힌트가 된다. ID값은 CodeEngn 이고, pass..
Challenges : Basic 14 Author : BENGALY Korean : Name이 CodeEngn 일때 Serial을 구하시오 (이 문제는 정답이 여러개 나올 수 있는 문제이며 5개의 숫자로 되어있는 정답을 찾아야함, bruteforce 필요) Ex) 11111 English : Find the Serial when the Name of CodeEngn (This problem has several answers, and the answer should be a 5 digit number. Brute forcing is required.) Ex) 11111 1) 가장 먼저 해야될것은 PEID 로 패킹 여부 확인UPX 로 패킹된것 확인 하였음 2) Olly 로 Dump Dump 이후에 나머지..
Challenges : Basic 12 Author : Basse 2002 Korean : Key를 구한 후 입력하게 되면 성공메시지를 볼 수 있다 이때 성공메시지 대신 Key 값이 MessageBox에 출력 되도록 하려면 파일을 HexEdit로 오픈 한 다음 0x???? ~ 0x???? 영역에 Key 값을 overwrite 하면 된다. 문제 : Key값과 + 주소영역을 찾으시오 Ex) 7777777???????? English : You will see a success message after finding the key. If you would want the Key itself to replace the success message in the MessageBox, open up a Hex Edi..
Challenges : Basic 10 Author : ArturDents Korean : OEP를 구한 후 "등록성공"으로 가는 분기점의 OPCODE를 구하시오. 정답인증은 OEP + OPCODE EX) 00400000EB03 English : After finding the OEP, find the OPCODE of the branch instruction going to the "goodboy routine" The solution should be in this format : OEP + Serial EX) 00400000EB03 1)가장 먼저 할것은 PEid툴을 이용하여 패킹여부를 확인 -> AsPack을 사용하여 패킹된것을 확인할 수 있음 2) 이제, pushad 부분을 dump 를 뜬후 PE..
Author : Rekenmachine Korean : OEP를 구하시오 Ex) 00400000 English : Find the OEP Ex) 00400000 이것은 Original Entry Porint 실제 시작시점을 찾으면 된다.이것을 어떻게 찾냐? 일단 이것이 패킹이 되어있는지 여부부터 확인한다.PEId를 이용하여 패킹여부를 확인한다. UPX로 패킹되어있는것을 확인하였으므로올리디버거를 열어 pushad 부분부터 덤프를 떠서 언패킹을 실시한다.다시08.exe파일을 열어 이제 popad가 나온이후에 부터 jmp하는 구간을 찾아 디코딩을 하면 된다. jmp구간을 타고 들어가면 디코딩 구간이 바로 나오게되는데 그 부분이 OEP 구간이다. 이제 이부분을 보게되면 OEP 구간을 확인할 수 있다. Ctrl ..
Challenges : Basic 07 Author : abex Korean : 컴퓨터 C 드라이브의 이름이 CodeEngn 일경우 시리얼이 생성될때 CodeEngn은 "어떤것"으로 변경되는가 English : Assuming the drive name of C is CodeEngn, what does CodeEngn transform into in the process of the serial construction 1) 우리는 이제 06.exe 파일을 뜯어볼것이다일단 가장 먼저 해볼것이 패킹이 되어있는지 여부를 알아볼것이다PEid 툴을이용하여 패킹이 되어있는지 뜯어보자.뜯어본 결과는 패킹이 되지않아있는 exe파일이다. 2) 이제 올리디버거로 이용하여 알아보도록하자올리디버거로 뜯어보면 GetDrive부..
Challenges : Basic 05 Author : Acid Bytes [CFF] Korean : 이 프로그램의 등록키는 무엇인가 English : The registration key of this program is? 1) 문제 풀이일단 가장 먼저 해야될것은 , 등록 키값을 찾는것이기 때문에 이 파일이 패킹이 되었는지 여부를 확인해야 한다. 이때 사용하는것은 PEID 를 사용하여 이 5.exe 파일이 패킹되어있는지 확인을 해볼것이다.5.exe 파일이 패킹되어있는지 여부를 알게되는것은 PEid 를 열어보면 UPX 0.8 9.6 - 1.02 / 1.05 - 2.90 (Delphi) stub -> Markus & Laszlo 이런식으로 패킹여부를 확인 할 수 있다.2) 패킹 여부를 확인 하였으면 이제 ..
Challenges : Basic 04 Author : CodeEngn Korean : 이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가 English : This program can detect debuggers. Find out the name of the debugger detecting function the program uses.1) 문제 풀이일단 4.exe 파일을 실행시키면 True ,false 의 값을 가지는 cmd 도스창이 뜨게 된다. 이것은 디버깅 툴을 이용하게 될 경우 true,false 의 값을 가진다. 디버깅일 경우 0 의 값을 가지고 , 디버깅 값을 가지지 않을경우 1을 반환한다. 2) 일단 가장 먼저 해볼것은, 디버깅을 탐지..
Challenges : Basic 02 Author : ArturDents Korean : 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오 English : The program that verifies the password got messed up and ceases to execute. Find out what the password is. 1) 이번에는 2번 손상문제에 관련된 문제이다이것을 풀기위해서 올리디버거로 파일을 열어보았지만, 일단 2.exe 파일이 손상된것을 알 수 있따.그래서 나는 PEView를 통해 내부 구조를 파악해보려고한다.2)여기 사진에서는 잘나와있지않지만, 맨위에 문자열을 보면 MZ 라고 하는 부분이 있을텐데, 이부분은 PE ..
1. 기본 명령어 EAX : 기본적인 산술 논리 연산 리턴값 전달 EBX : 간접 번지지정 ([ebp+var_8]같은거) ECX : 반복문에 대한 카운트 몇번할지 정해주기도 하고 지역변수 지정에도 주로사용하고 EDX : 간접 번지 지정 주로 연산할때 나머지나 머 이런거 ESP : 스택의 가장 최근 데이터를 가르키게 되는 포인터 TOP포인터 EBP : 스택프레임을 지정할수있게 가장 아래에 깔리는 포인터 프레임포인터 라고도한다 ESI : 문자열 소스 인덱스 EDI :소스인덱스가 가르킬 곳 EIP 레지스터의 값을 변경할 수 잇는 어셈블리 명령어는? 조건분기 명령어 또는 CALL 또는 RET (call은 리턴주소값이 필요) 2. push의 용도? 데이터백업, 지역변수 할당, 매개 변수 전달3. stack의 용도..
1. 올리디버거 실습을 위해서 올리디버거를 깔았는데, ollydbg Themida 동작중인 디버거가 발견되었습니다. 라는 오류가 발생했다. 이것의 해결방법은 매우 간단한데, 왜 발생하는것일까? 은행 관련 공인인증하는쪽에서 충돌이 일어나는것으로 보여진다. 일단 2가지 방법이 있다. 1) path : C://programfiles(x86)/Wizvera/Delfino-G3/unins000.exe 파일을 삭제해주면 된다. 2) 제어판에 가서 Delfino-G3 를 삭제해주면 된다. 필자는 이것을 삭제하고나서 바로 에러창이 사라졌다.
- Total
- Today
- Yesterday
- programming
- C langauge
- 감자개발자
- 백준
- C언어
- 노드
- 리버싱
- 백준알고리즘
- db
- MVC
- TensorFlow
- 코드엔진
- 머신러닝
- 안드로이드
- Spring
- node
- 프로그래밍
- 학교
- 복습
- BFS
- 알고리즘
- node.js
- 감자코딩
- 초보자를 위한 C언어 300제
- Algorigm
- 텐서플로우
- 스프링
- 개발하는 관광이
- Controller
- Android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |