일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제풀이
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제 답
- CodeEngn
- 반복문
- codeengn 13
- Reversing
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제풀이
- StolenByte
- 프로그래밍 언어
- java
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 9장 연습문제
- OEP
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 8장 연습문제
- covetknowledge
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제풀이
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 8장 연습문제 답
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 9장연습문제 답
- 조건문
- codeengn basic 14
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제 답
- break
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 10장 연습문제
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 8장 연습문제풀이
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 13장 연습문제 답
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 14장 연습문제
- 누구나 쉽게 즐기는 c언어 콘서트 개정판 9장 연습문제풀이
- codeengn basic 15
- upx 언패킹 명령어
- 리버싱
- Today
- Total
목록리버싱 (23)
One's Knowledge

CodeEngn basic 5번 문제 이 프로그램의 등록키는 무엇인가 이 프로그램의 등록키를 찾아야하는 문제인거같다. ExEinfo PE프로그램으로 보니 UPX로 패킹된것을 볼 수 있다. upx -d 프로그램명 명령어를 사용하여 upx 파일을 성공적으로 언패킹하였다. 올리디버거로 언패킹된 프로그램을 열고 성공구문과 실패구문을 찾았다. 성공구문 윗부분에 ASCII 코드로 Registerd User과 GFX-754-IER-954가 보인다. 아마 등록키로 추정된다. 브레이크포이트를 걸고 실행 시켜보았다. 첫번째 브레이크 포인트가 걸리고 EAX에 내가 입력한 abcdef가 EDX에 Registerd User이 들어가 있는 것을 볼 수 있다. 아마 call 로 함수를 호출해 EAX와 EDX를 비교하는 것으로 추정..

CodeEngn basic 4번 문제 이 프로그램은 디버거 프로그램을 탐지하는 기능을 갖고 있다. 디버거를 탐지하는 함수의 이름은 무엇인가? 우선 이 프로그램을 실행시켜보면 1초 정도 단위로 정상이라는 글자가 출력된다. 그러면 올리디버거를 사용하여 실행하겠다. 실행을 시켜보니 정상이라는 문구 대신 디버깅 당함이라는 문자가 출력된다. 디버거 프로그램을 탐지한 후 조건에 맞게 출력 시키는 것 같다. 그러면 정상이라는 문구와 디버깅 당함이라는 문구를 찾아 봤지만 TEXT string에는 있지 않았다. 한줄한줄 실행시켜보니 0040100의 함수를 호출하면서 프로그램이 실행이 되는 것을 볼수있다. 0040100으로 이동하여 보겠다. 0040100으로 가보니 sleep , IsDebuggerPresent 라는 함수..

리버싱 CodeEngn basic 3번 문제 비주얼베이직에서 스트링 비교함수이름은? 프로그램을 실행하여 보니 다음과 같이 뜬다. 시리얼을 입력하고 입력한 시리얼이 맞는지 확인하는 비교함수를 찾으라는 것같다. 그러면 시리얼을 입력하였을때 성공구문이나 실패구문을 찾아야 한다. 다음을 보니 실패구문과 성공구문이 보인다. 저기로 간다. 실패구문과 성공구문에서 위로 올려보니 점프구문이 있다. 즉 위에서 내가 쓴 시리얼을 비교했을것이다. 코드를 보니 vbaStrCmp라는 함수를 실행하고 리턴값을 EDI로 옮긴후 여러번의 연산을 통하여 비교문으로 가는 것을 볼수있다. vbaStrCmp 함수 실행부분에 브레이크 포인트를 걸고 계속 실행한다. 시리얼은 임의로 12345를 넣었다. 여기서 vbaStrCmp라는 함수가 시리..
PE FILE FORMATPE FILE FORMAT이란 윈도우에서 사용되는 실행 파일 형식 실제로는 더 많지만 몇개만 표시함 - Dos header - WORD e_magic : Dos signature(4D5A = "MZ" ) - LONG e_lfanew :NT header의 옵셋 표시- Dos stub : window가 PE로 인식하면 무시- NT header - DWORD signature : PE (50450000) - File header - WORD Machine : CPU 고유값 - DWORD NumberOfSections : 섹션 개수 - WORD TimeDateStamp : 파일 빌드 시간 ..
stolen byte stolen byte란 프로그램의 일부분을 훔쳐 다른 곳에서 실행을 하는 코드를 말한다. 주로 패킹을 할때 stolen byte를 만드는 것같다. 패킹된 프로그램을 볼때 (이부분이 Entry Point) 1. 압축된 프로그램 1번째 부분 풀기 2. 압축된 프로그램 2번째 부분 풀기 3. 압축된 프로그램 3번째 부분 풀기 4. 압축된 프로그램 4번째 부분 풀기 (이부분에 stolen byte가 있다.) (이부분이 Original Entry Point) 5. 프로그램 1번째부분 실행 6. 프로그램 2번째 부분 실행 7. 프로그램 3번째 부분 실행 8. 프로그램 4번째 부분 실행 stolen byte를 만드는 이유는 패킹된 프로그램을 메모리 덤프를 못하게 하기 위해서이다. 보통 stole..
패킹패킹이란 PE file을 압축하는 방법중 하나로 실행압축이다.일반적으로 알고있는 알집같은 경우는 프로그램을 압축하면 압축을 풀어야 실행이 가능하다.하지만 패킹은 압축된 상태에서도 실행이 가능하도록 하는 기술이다.패킹을 하는 프로그램을 패커라고 하는데 패커의 종류는 아주 다양하다.ex) upx, upack, aspack압축을 한상태인데 프로그램을 실행이 가능한 이유는 압축해제 코드가 내부에 있기 때문이다.패킹을 하면 EP는 패킹을 푸는 압축해제 코드를 가리킨다. 예를 들어 프로그램이 다음과 같이 실행이 된다고 하자 1. A 부분 실행2. B 부분 실행3. C 부분 실행4. D 부분 실행 이 프로그램을 패킹을 한 후 실행 하면 다음과 같이 소스코드가 바뀐다. (이부분이 Entry Point)1. 압축된..