분류 전체보기
GDB 사용방법
어떤 분이 써놓은 신 문서이다.정리가 제법 잘 되어 있어서 퍼왔다. 원문 출처http://optimizer.snu.ac.kr/yanne/ GDB 사용하기 1. GDB GDB같은 디버거의 목적은 다른 프로그램 수행 중에 그 프로그램 ‘내부에서’ 무슨 일이 일어나고 있는지 보여주거나 프로그램이 잘못 실행되었을 때 무슨 일이 일어나고 있는지 보여주는 것이다. GDB는C, C++, Modula-2로 짠 프로그램을 디버그 할 수 있다.쉘에서 gdb로 GDB를 시작하면 quit로 종료명령을 주기전까지는 터미널로부터 명령라인을 읽어 들인다. help명령을 사용하여 gdb내부에서 도움말을 볼 수 있다.디버깅을 하기 위해서는 –g옵션을 주고 컴파일/링크 해야 한다. 만약 링크가 libg.a를 찾을 수 없다고 하면서 실패..
리틀엔디안(Little-endian) 빅엔디안(Big-endian)
분석하는 과정에서 꼭 알고 넘어가야 하는 부분이 바이트오더(Byte-order)이다. 우리가 사용 하는 컴퓨터에는 cpu라는 두뇌역할을 하는 하드웨어가 있는데, cpu의 제조사에 따라서 바이트 오더가 다르다. 크게 바이트 오더는 2가지로 나누어 진다. 리틀엔디안(Little-endian), 빅엔디안(Big-endian) 엔디언(Endianness)은 컴퓨터의 메모리와 같은 1차원의 공간에 여러 개의 연속된 대상을 배열하는 방법을 뜻하며, 바이트를 배열하는 방법을 특히 바이트 순서(Byte order)라 한다. - 출처 : 위키백과 - 리틀엔디안(Little_endian) vs 빅엔디안(Big-endian)주로 인텔(intel) 프로세스 계열에서 사용되는 바이트오더이다. 리틀엔디안은 데이터를 메모리에 적재..
macOS에서 앱을 실행했을 때 "손상되었기 때문에 열 수 없습니다." 오류 메시지가 뜨는 문제와 해결 방법
며칠 전 한 구독자로부터 블로그에서 내려받은 파일이 작동하지 않는다는 메일을 받았습니다. 마우스 오른쪽 버튼으로 파일이나 텍스트 등을 클릭했을 때 표시되는 컨텍스트 메뉴의 서비스 항목 개수를 조절하는 앱인데 (링크), macOS 시에라에서 실행하면 다음과 같은 메시지만 뜬다는 것이었습니다. "xxx은(는) 손상되었기 때문에 열 수 없습니다. 해당 항목을 휴지통으로 이동해야 합니다." 제 맥에서도 같은 현상이 나타나 인터넷을 검색하니 비슷한 질문과 게시물을 많이 발견할 수 있었습니다.원인은 크게 두 가지로 압축할 수 있는데 하나는 앱이 실제로 손상된 것이고, 다른 하나는 맥 운영체제의 보안 기능인 '게이트키퍼(Gatekeeper)'를 통과하지 못해서 발생하는 문제입니다.첫 번째 케이스는 다운로드 도중 오류..
Java 웹프로그래밍 Servlet & JSP 개발환경구축
Java Servlet & JSP을 개발하기 위한 개발 환경 구축방법을 소개하고자 합니다. JDK 설치하기JDK(Java Development Kit)는 자바 소스를 컴파일하고 실행하기 위한 도구입니다. 설치링크 : http://www.oracle.com/technetwork/java/javase/downloads/index.html 라이센스 동의를 체크하고 개발 OS환경에 맞춰 다운을 받습니다. JDK를 설치합니다. (단순한 설치과정 생략...) 설치가 완료되면 환경변수 추가 작업을 해줍니다. 시스템 변수 부분에 환경변수이름을 "JAVA_HOME"으로 지정하고, JDK가 설치된 경로를 입력하여 추가해 줍니다. 그리고 시스템 영역에 기존에 있는 Path변수를 편집하여 맨 마지막 부분에 "%JAVA_HOM..
[SuniNaTaS] 5번 문제, eval함수 난독화
2017/08/28 - [Study :)/WarGame] - [SuniNaTaS] 4번 문제, 자바스크립트 우회 5번 문제 key 값을 입력해서 맞추는 문제인것 같다. 소스코드를 보니 eval 함수와 힌트가 보인다. 처음에는 아무생각 없이 힌트를 입력하여 check해봤으나.. 당연히 안됨... ㅋㅋ 음... MSDN에는 이렇게 설명되어 있다... 그래서? 자바스크립트 난독화 기법 / 분석 방법론 위 링크를 보면 eval 함수를 이용해서 난독화를 할 수 있다는 것을 알 수 있다. 그러면 복호화를 어떻게 할까? http://kwangguevara.tistory.com/20 좀더 검색해보니 위 링크 설명처럼 eval함수를 alert함수로 복호화 가능하다는 사실을 알게 되었다. 그래서 eval함수 부분을 모두 ..
[SuniNaTaS] 4번 문제, 브라우저 우회
2017/08/17 - [Study :)/WarGame] - [SuniNaTaS] 3번 문제, 게시판 글쓰기 우회 4번 문제 처음 화면은 이러하다."Plus"버튼을 누르면 Point가 1씩 증가하다가 25가 되는 순간 이러한 경고창이 뜨게 된다. 자기는 SuNiNaTaS 브라우저를 좋아한다고 한다.... 어쩌라고.. ㅋㅋ 그리고 더이상 25포인트에서 올라가지 않고 저 경고창만 계속 출력하게 된다. 그래서 웹 소스코드를 살펴보았다. 소스 마지막 부분에 힌트가 제고되어 있었다. 포인트를 50을 만들어야 된다고 쓰여있다. 그리고 "SuNiNaTaS"라고 쓰여 있었다. 힌트는 2가지 인것 같다. 포인트를 50으로 만들어야 된다는점. SuNiNaTaS 브라우저를 좋아한다는 점. 그래서 일단 Fiddler를 이용하..
[SuniNaTaS] 3번 문제, 게시판 글쓰기 우회
2017/08/17 - [Study :)/WarGame] - [SuNiNaTaS] 2번 문제, 파로스 및 웹브라우저 이용 JavaScript 우회 3번 문제 3번 문제를 보면 "Write articles in Notice board!"라는 문구만 표시되고, 소스코드를 살펴봐도 아무런 단서가 없다. 이는 단순히 Notice게시판에 글을 쓰라는 것 같다. 그런데 Notice게시판에 가보니 글쓰는 버튼이없다. 다른 게시판들을 살펴보니 글쓰기 버튼이 활성화 되어 있다. 그래서 글쓰기 기능을 우회하여 Notice게시판에 글을 쓰라는것 같아 조금 분석해보게 되었다. Q&A게시판에 글을 써보기도하고 여러번의 삽질끝에 단서를 찾았다. 무심코 WRITE 버튼의 경로를 살펴 보던중, divi값이 "Free"라고 되어 있었..
[SuNiNaTaS] 2번 문제, 파로스 및 웹브라우저 이용 JavaScript 우회
2017/08/16 - [Study :)/WarGame] - [SuNiNaTaS] 1번문제, replace함수, mid함수 2번 문제 2번 문제를 보면 단순히 아이디와 패스워드를 치고 로그인(?)하라는 창만 나타나게된다. 아래 부분에 보면 Authkey라고 해서 표시가 된다. 왠지 ID와 PW를 찾으면 인증키가 표시되는것 같다는 느낌이 있다. 일단 해당 페이지의 소스코드를 뜯어보자. 소스 스크립트 부분에 chk_form()함수가 있으며, id값과 pw값을 불러와 비교를 한다. id와 pw가 같으면 "You can't join! ..."이라는 메시지가 출력되면서 id값과 pw값이 초기화 된다. id와 pw값이 다르면 submit()함수가 실행되어 어떠한 행위를 하는 것 같다. 그런데 스크립트 아래쪽 주석을..