일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- abex crack me 2번 문제풀이
- 레나 리버싱
- 암호화폐
- 메이플스토리 M 사전예약
- 배열 정렬
- 빅엔디언
- C언어
- 리버싱
- 네트워크 관리사 2급 필기
- 오버워치
- 프론트엔드 개발자
- 배열
- c언어 알고리즘
- 알고리즘
- Reverse Me
- 안드로이드 백도어
- 구조체
- UDP daytime
- 배열 탐색
- 마인크래프트
- 재밌는 모바일게임
- 구조체 함수
- 리틀엔디언
- abex crack me 1번
- abex crack me 5번문제
- 프로그래밍 언어론
- 덧셈
- sa 계정 비밀번호 변경
- 1.9.2
- react native
- Today
- Total
목록Study (31)
Gyejoong's Information
8번 문제 프로그램을 실행한 결과입니다. 왼쪽그림은 RegCode를 임의의 RegCode를 입력한 그림입니다. 오른쪽 그림은 잘못된 reg code라고 출력 한 그림입니다. 이 프로그램을 Immunity Debugger로 분석을 해봅니다. Immunity Debugger로 8번문제를 실행 한 결과입니다. 메인 함수가 어디에 존재하는지찾기가 어렵기 때문에 위 그림24처럼 Sorry! Wrong registration code!를 출력하는 string값을 찾아서 메인함수를 찾아보도록하겠습니다. 그림 27을 보게되면 아까 그림 24에서 보이던 Sorry ! wrong registration code 이부분을보입니다. 저부분을 더블클릭합니다. 그림28을 보면, UNICODE "I'mlena151" 이부분이 보입..
2번 문제입니다. 시리얼 키를입력하라는 메시지 창이 뜹니다. 임의의 값을 입력 한 결과 입력한 시리얼 값이 옳지 않다고 출력 됩니다.이제 Immunity Debugger로 분석을 해보겠습니다. Error 메시지와 성공 메시지가 출력되는 부분에 JE구문이 있는 것을 확인할 수 있습니다.JE부분에 breakpoint를 정하고 디버깅을 시작해보도록 합니다. 메인함수가 시작되면서 시리얼키 값을 입력 받는 메시지 창이 출력됩니다. 여기서 임의의 값을입력 합니다. JE 구문으로 바로 넘어옵니다. 그 윗부분을 보게되면 String값으로 L2C-5781과6784-ABEX값을 연결하는(concat)함수 가 실행되는걸 확인 할 수있습니다.그리고 strcmp을 사용하여 L2C-57816784-ABEX와 1234값을 비교를 ..
우선 abex - crack me 1번 프로그램을 실행 시켜보도록 하겠습니다. HD디스크를 CD-ROM처럼 만들라고 합니다. CD-ROM이 아니라고 하네요. Immunity Debugger로 이 프로그램을 분석 해보도록 하겠습니다. JE SHORT 부분에 breakpoint를 걸고 디버깅을 시작해보겠습니다. 메시지박스를 불러보는 부분에서 멈추게 됩니다. 확인을 누르고 다음 부분으로 진행 하겠습니다. C드라이브의 타입을 불러오는 과정입니다. EAX값이 3이 되었네요. ESI 값을 1증가 시키고 EAX값을 1감소 시킨 후에 ESI값을 2증가, EAX값을 1감소 시키도록 되어 있습니다. 모든 과정을 거친 후에, 레지스터값은 EAX값이 1이고, ESI값이 790077입니다. CMP로 비교한 후에, 값이 0이면 ..
https://www.offensive-security.com/kali-linux-vmware-virtualbox-image-download/ 위 사이트를 접속하셔서 다운 받으시면 됩니다. 가상이미지는 virtualBox를 받겠습니다. 토렌트를 받아도 되구요 Kali Linux 64 bit VBox를 바로 다운받아도 됩니다. 다운을 다 받았으면 virtualbox를 실행시켜서 가상시스템 가져오기를 합시다. 가상이미지가 위치한 폴더를 찾기위해서 폴더모양을 클릭합니다. 가상이미지를 가져옵시다. 특별히 설정할 것은 없으니 쭈욱 가져오기를 누르시면 됩니다. 가져오면 이렇게 가상 머신이 생깁니다. 이제 이 가상머신을 실행시켜봅시다. 그렇다면 이러한 오류 메시지가 뜰 것입니다. USB 2.0 controller 를..
이번 포스팅은 MongoDB 서버를 구축 하고 설정을 하는 방법에 대해서 포스팅 하겠습니다. 우선 OS는 windows 기준으로 하겠습니다. 우선 mongodb community를 다운로드 하겠습니다. https://www.mongodb.com/download-center#community 위 사이트 링크로 이동합니다. 다운로드를 합니다. 이 파일은 .zip 파일이 아닌 msi 파일이므로 설치를 해보도록 합시다. 쭉 Next누르 신뒤, 이 부분에서는 complete를 클릭 하시면 됩니다. 설치가 다되면 finish를 누릅니다. 이 파일은 보통 C드라이브의 program files에 설치가 됩니다. 통상적으로 대부분 저 경로로 저장 될 겁니다. 위 경로를 저장하도록 합시다. 환경변수를 하는 방법도 있으니 ..
Mysql DB 구축하고 관리자 계정 설정 및 외부에서 접속하는 방법까지 포스팅 해보겠습니다. 우선 MySQL Community(GPL)를 다운로드를 해보도록 하겠습니다. https://dev.mysql.com/downloads/ 위 사이트를 접속합니다. 가장 위에 있는 MySQL Community server(GPL)을 클릭합니다. 조금 아래쪽으로 스크롤 하게되면 위와 같은 설치 목록이 뜨게 됩니다. 자신의 OS버전에 맞게 다운로드 하시면됩니다. 여기서 중요합니다. Login이나 Sign UP 하지 마시고, 가장 아래에 보이는 No thanks, just start my download. 를 클릭하시면 바로 다운로드 할 수 있습니다. zip 파일을 다운로드 받으시면 압축해제 하시면됩니다. 압축을 해제하..
이번 포스팅은 return break의 차이점에 대해서 비교를 해볼 것입니다. 우선 이론적으로 생각을 해보면, return은 호출시킨 함수로 되돌아갑니다. 즉, return을 쓰게되면 현재 실행되고 있는 함수가 종료되는겁니다. 메인함수에서 return을 쓰게되면 프로그램이 종료되는 것이죠. 보통 반환할 값이 있는경우에는 반환할 값을 반환하면서 현재 메소드를 종료 시키고 자신을 호출 시킨 곳으로 되돌아갑니다. break도 비슷한 점도 있습니다. break는 현재 돌고있는 loop문 -> While문, for문, do~While문 등등 에서 유용하게 쓰입니다. loop문을 종료할 때 쓰입니다. 아래 코드는 break문과 return문 차이점에 대한 이해를 돕기위한 코드입니다. #include void aa(..
1. udp daytime 클라이언트 소스코드 #include #include #include #include #include #include void err_quit(const char *message);void err_sys (const char *message); #define MAXLINE 4096 /* max text line length */ int main(int argc, char *argv[]){if (argc != 2)err_quit("usage: daytimeudpcli "); // 비연결지향형 udp 소켓 생성 (socket)int sockfd;if ( (sockfd = socket(AF_INET,SOCK_DGRAM,0)) < 0)err_sys("socket error"); // 서..
우선 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte order)라 한다. 엔디언은 보통 큰 단위가 앞에 나오는 빅 엔디언과 작은 단위가 앞에 나오는 리틀 엔디언으로 나뉘게 된다. 간단하게 차이점을 알아보자면 그림으로 알수있다. 출처 : 위키백과 위 그림은 빅엔디언의 그림이다. 32비트의 정수를 메모리에 배열할 때, ABCD순서로 큰단위를 앞에 배열하는 것을 볼 수있다. 출처 : 위키백과 위 그림은 리틀엔디언의 그림이다. 32비트의 정수를 메모리에 배열할 때, DCBA순서로 작은단위가앞에 배열된 것을 볼 수있다. 좀더 간단하게 차이점에 대해서 알아보자면 바이트순서(byte order)..
서버 코드 (daytime, qotd, echo, finger) daytime ※ 헤더파일 추가.※ 포트번호 13 time_t ticks = time(NULL);char buff[MAXLINE];snprintf(buff,sizeof(buff),"%.24s\r\n",ctime(&ticks));if (wrtie(connfd,buff,strlen(buff)) < 0)err_sys("write error"); echo※ "common.h" 헤더파일 추가.※ 포트번호 7※ void str_echo(int sockfd); 함수 선언 추가. pid_t childpid;if ( (childpid = fork()) < 0)err_sys("fork error");else if (childpid == 0) {close(li..