| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- codeengn basic 20
- 프로그래밍 언어
- covetknowledge
- codeengn advanced 1
- codeengn basic 19
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제풀이
- StolenByte
- OEP
- CodeEngn
- codeengn basic 16
- java
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제 답
- Reversing
- codeengn 13
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제 답
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제풀이
- codeengn basic 14
- 반복문
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제 답
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제풀이
- codeengn advanced 3
- upx 언패킹 명령어
- codeengn basic 15
- 조건문
- 리버싱
- codeengn basic 18
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제
- codeengn basic 17
- break
- Today
- Total
목록CodeEngn (22)
One's Knowledge
CodeEngn basic 4번 문제 이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가? 우선 이 프로그램을 실행시켜보면 1초 정도 단위로 정상이라는 글자가 출력된다. 그러면 올리디버거를 사용하여 실행하겠다. 실행을 시켜보니 정상이라는 문구 대신 디버깅 당함이라는 문자가 출력된다. 디버거 프로그램을 탐지한 후 조건에 맞게 출력 시키는 것 같다. 그러면 정상이라는 문구와 디버깅 당함이라는 문구를 찾아 봤지만 TEXT string에는 있지 않았다. 한줄한줄 실행시켜보니 0040100의 함수를 호출하면서 프로그램이 실행이 되는 것을 볼수있다. 0040100으로 이동하여 보겠다. 0040100으로 가보니 sleep , IsDebuggerPresent 라는 함수..
리버싱 CodeEngn basic 3번 문제 비주얼베이직에서 스트링 비교함수이름은? 프로그램을 실행하여 보니 다음과 같이 뜬다. 시리얼을 입력하고 입력한 시리얼이 맞는지 확인하는 비교함수를 찾으라는 것같다. 그러면 시리얼을 입력하였을때 성공구문이나 실패구문을 찾아야 한다. 다음을 보니 실패구문과 성공구문이 보인다. 저기로 간다. 실패구문과 성공구문에서 위로 올려보니 점프구문이 있다. 즉 위에서 내가 쓴 시리얼을 비교했을것이다. 코드를 보니 vbaStrCmp라는 함수를 실행하고 리턴값을 EDI로 옮긴후 여러번의 연산을 통하여 비교문으로 가는 것을 볼수있다. vbaStrCmp 함수 실행부분에 브레이크 포인트를 걸고 계속 실행한다. 시리얼은 임의로 12345를 넣었다. 여기서 vbaStrCmp라는 함수가 시리..
리버싱 CodeEngn basic 2번 문제 패스워드로 인증하는 실행파일이 손상되어 실행이 안되는 문제가 생겼다. 패스워드가 무엇인지 분석하시오 프로그램을 실행시키니 실행할수 없다고 되어있다.그래서 바로 올리디버거로 열어보았다. 올리디버거로도 열리지 않는다.hex editor로 열어보겠다.다행히 열리고 성공구문과 실패구문이 있다. 그리고 밑에 #1.JK3FJZh가 있다.패스워드를 JK3FJZh로 유추할수 있다.CodeEngn에 보니 답이 맞다.되게 찜찜하게 풀었다. 답: JK3FJZh
리버싱 CodeEngn basic 1번 문제HDD를 CD-Rom으로 인식시키기 위해서는 GetDriveTypeA의 리턴값이 무엇이 되어야 하는가?파일을 실행해 보면 다음과 같은 메세지박스가 뜬다. 나의 HDD를 CD-Rom으로 인식하게 만들어야하는것같다. 이 부분에서 첫번째 메세지 박스가 뜬다.계속 진행한 후GetDriveTypeA 라는 함수를 지나고 나니 EAX 의 값이 3으로 바뀐것을 알수 있다. 레지스터 EAX는 함수의 return값을 주로 저장하는 레지스터이다.INC ESI가 총 3 번있고 DEC EAX가 총 2번 있으니 ESI의 값은 +3이 되어있고, EAX의 값은 처음이었던 3에서 -2가 되어있는것을 볼수있다. 그후 EAX와EXI를 비교하여 같으면 성공메세지가 뜨고 다르면 실패메세지가 뜨는 것..