CAT-Security 썸네일형 리스트형 python 공부 자료 [기초]왕초보 파이썬 - 가장, 이해하기 좋은 곳이죠http://turing.cafe24.com/[기초]점프 투 파이썬 - 파이썬의 전반적 응용과 기초 내용을 다루었지만, 조금 어렵습니다.http://wikidocs.net/mybook/read/page?pageid=1 [응용]파이썬으로 레이싱 갤러리 긁어오기(배워가는 형식으로 작성되어 있습니다)http://jangc.tistory.com/17 [응용]레이싱 갤러리 긁어오기http://bbs.python.or.kr/viewtopic.php?t=14639 [응용]오늘의 TV 방송 편성표 가져오기http://bbs.python.or.kr/viewtopic.php?t=22426 [응용]파이썬 미니 웹서버 만들기 (소켓 프로그래밍을 쉽게 다룹니다)http://w.. 더보기 kernel object 와 handle 정리 쓰레드의 경우 쓰레드에 대한 기본 정보가 커널 오브젝트에 생성됩니다. 커널 오브젝트 핸들은 프로세스에서 커널 오브젝트에 접근하기 위한 키 같은 녀석이구요. 프로세스는 커널 오브젝트 핸들 테이블(핸들값과 커널 오브젝트의 실 주소값의 매핑 테이블)을 통해 커널 오브젝트에 접근하게 됩니다. 다시 말하지만, 커널 오브젝트는 해당 오브젝트의 기본 정보를 담고 있습니다. 쓰레드의 경우, 쓰레드의 서스펜드 카운트, 컨텍스트 정보등이 포함되어 있습니다. 결론부터 말씀드리면, 쓰레드의 커널 오브젝트는 하나입니다. 여러 방법을 통해 커널 오브젝트는 공유할 수 있는데.... 1. 자식 프로세스에게 상속 2. Named (쓰레드의 경우 Named가 없죠) 3. DuplicateHandle 이렇게 여러 프로세스가 하나의 커널 .. 더보기 [시스템 기초] 스터디(3주차) 파일 리스트와 파일 속성리눅스에서 ls- al을 했을경우 나타나는 파일정보를 상세히 설명한 그림 입니다. 맨 앞에 -은 파일유형으로 보통 디렉토리의경우 d의 값을 가직 ㅗ있습니다.파일 허가권은 [3-3-3] 식으로 rwx의 값들을 가지고 있는데, 각각이 소유자 그룹 다른사용자의 권한 설정을 가지고 있습니다.링크수는 말그대로 하드,소프트 링크가 걸려있는 수를 말해 줍니다.파일 소유자의 이름과 그룹이름은 따로 설명이 필요 없을 것 같습니다.파일크기는 byte로 나타나며, 마지막 변경 날짜/시간이 그 뒤에 나오고, 마지막으로 파일이름이 있습니다. 파일허가권을 상세히 설명한 그림 입니다. 위에 [3-3-3]이라고 설명 해드렸는데, 더 자세히 설명해 드리도록 하겠습니다.r -> 읽기권한 4 (2의2승)w - > .. 더보기 리그 오브 레전드 첫 금장 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ그냥 기분좋아섴ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 더보기 TCHAR, _tmain등 (SBCS, MBCS, WMCS)의 이해 및 정리 1. 문자셋의 종류와 특성- 문자셋 (Character Sets) : 약속된 문자의 저장과 표현방법, 대표적으로 아스키코드와 유니코드가 있음.- 아스키코드 (ASCII CODE) : 영어 및 확장문자 256개 표현. 1 바이트.- 유니코드 (UNICODE) : 전 세계 모든 문자 표현. 65,536 개 표현가능. 2 바이트. - 문자셋의 종류1) SBCS (Single Byte Character Set)- 문자 저장과 표현에 1 바이트만 사용. 아스키코드가 해당됨. 2) MBCS (Multe Byte Character Set)- 문자 저장과 표현에 1 바이트 혹은 2 바이트를 사용.- MBCS 는 SBCS 를 포함한다. 대부분의 문자들을 2 바이트로 처리하되, 경우에 따라서 1 바이트로 처리한다. 즉, .. 더보기 [문제풀이] abexcm5 분석 문제는 쉬운편이고, 단순히 점프문 수정이라든지 비교하는부분의 값들을 바꾸면 되는 문제입니다.그래서 문제 자체의 풀이보다는 함수가 어떻게 흘러가고 호출되며 무슨일을 하는지에초점을 맞춰서 공부 했습니다. abexcm5의 실행 화면 입니다. 인증키를 요구하고 틀린지 맞는지를 확인 합니다. Ctrl + N을 눌러서 abexcm5의 함수 목록을 확인 했습니다.GetDlqItemTextA는 입력을 받는 함수이고Istrcat은 C언어의 strcat의 함수와 비슷한 함수이고Istrcmp는 C언어의 strcmp 함수와 비슷한 함수입니다. (이름 거의 똑같네요.....) 맨처음 GetModuleHandleA의 시작 주소를 구합니다.(DialogBoxParmA의 생성을 위해) 우선 DialogBoxParmA를 호출해서 사용.. 더보기 스터디 3주차 http://blog.naver.com/pk920207?Redirect=Log&logNo=110146983473 더보기 아파치 설정법 모음 not found 해결법http://blog.naver.com/PostView.nhn?blogId=emtype&logNo=100156272283 우분투 apm 설정(아파치설치 등등)http://www.cmsfactory.net/ubuntu-install-apache-php-mysql 고정 ip 설정http://www.cmsfactory.net/ubuntu-network-static 더보기 sdfsdf sdfsdf 더보기 리눅스 아파치 서버 설치 아파치 설치1. http://blog.naver.com/feelwoo?Redirect=Log&logNo=100119454470 vmx설치2.http://220.70.2.30/Common/Board/Files/2009_openwrt%20%EC%84%A4%EC%B9%98%EA%B0%80%EC%9D%B4%EB%93%9C(v2.0)_ASUS.pdf 더보기 [시스템 기초] 스터디(2주차) 스택 부가 설명-사진 출처-해커스쿨 스택에 대한 이해를 좀더 하기 위해 간단한 함수를 가져 왔습니다.1주차때 스터디를 하신분들은 스택이 어떤식으로 쌓이는지 대략적으로 아시게 되셨을거라고 믿습니다.허나 main()함수에서만 쌓이는 방법은 알고있지만,함수 인자 혹은 다른 함수의 지역변수는 어떻게 쌓이는지에 대해 궁금하실것 입니다.이것을 설명하기 위한 예제 입니다. 프로그램의 실행 결과 모습 입니다.메인함수 내에 있는 x와 y는 가장 오른쪽 스택에 자리잡힘을 알수 있고, 그 다음주소에 area의 주소가 잡힘을 알 수 있습니다.시스템 스택은 cpu를 따라간다고했고, 현재 cpu는 32bit를 기준으로 하기에 모두 4바이트만큼의 크기를 가집니다. 인자 x와 y의 주소값 역시 약간 떨어진곳에 쌓이는것을 확인 할 수.. 더보기 gdb 잘나와있음 http://blog.naver.com/mububja119?Redirect=Log&logNo=130119472091 고등학생분 사이트http://iyounges.org/549 더보기 [시스템 기초] 스터디(1주차) 본 글은 2학기 쥬니어 시스템 스터디 강좌 포스팅이며 쥬니어분들의 복습을 위해 작성 되었습니다. 1. 시스템은 어떻게 실행 될까? 우리가 마우스로 어떤 프로그램을 실행 시킬 때 그 명령을 수행하기 위해서 CPU에서 하드디스크의 자료를 가져옵니다.불러온 자료를 연산후에 입출력 장치를 이용하여 그 결과를 화면에 뿌려 줍니다.하지만 하드디스크는 CPU의 연산속도를 따라 올 수가 없습니다. 느린속도로 인해 효율성이 떨어 집니다.이때 사용된 개념이 주기억장치(RAM)입니다. 휘발성데이터로 CPU와 하드디스크 사이에서 숨가뿌게 움직이게 됩니다. 이것이 바로 우리가 사용하는 폰노이만 구조 입니다. 이 방식은 크게 주기억장치(RAM)와 중앙처리장치(CPU), 그리고 입출력 장치 (IOP - Input Output Pr.. 더보기 [안티디버깅] UPX packer 이해 실행압축 실행압축이란 실행가능 한 파일(PE파일)을 대상으로 파일 압축을 하지만, 파일 내에 압축해제 코드를 포함 하고 있어서 실행되는 순간 메모리에서 압축을 해제시킨 후 실행을 시키는 기술 압축해제 루틴이 존재 하기 때문에, 메모리에서 압축을 해제 시킨 후 실행되는 것이 특징 사용목적으로는, 압축이기에 파일 자체의 크기를 줄이는 효과로 전송 및 보관에 용의 함을 얻기 위함이고 가장 큰 목적으로는 내부 코드와 리소스를 임의의 사용자가 보지 못하게 방해 하는 것 입니다. 즉 압축이 되어있기에 임의의 사용자가 보기에는 압축된 데이터는 알아보기 힘든 형태의 바이너리로 저장이 되어 있습니다. 이중 UPX 실행압축에 대해 알아 보도록 하겠습니다. . 첫째 섹션인 UPX0의 RawDataSize는 0이기에 파일 내.. 더보기 [안티디버깅] Anti-Debuging(안티디버깅) 기초 안티 디버깅에는 2가지의 그룹이 있습니다. static그룹 -> 맨 처음 실행될 때 안티 디버깅이 실행, 한번만 해제하면 되는것 입니다. dymamic그룹 -> 실행 중에 계속 해제를 해주어야 함, 디버거 트레이싱을 방해하는 것 입니다. 디버깅 트레이싱이란? F8 안티 디버깅은 디버기 프로세스에서 자신이 디버기 당하는지 여부를 파악하는 기법 발견하면 종료코드를 실행하거나(대부분) 실행에 방해를 하는 코드를 실행 안티디버깅의 목적 디버거 탐지방법 디버거 환경탐지 디버거 강제 분리 회피 방법은 탐지 코드에서 얻어오는 정보를 변경함 현재 프로세스 디버깅을 판단하기 위해 PEB 구조체 정보 이용 합니다. PEB 구조체 정보를 이용하는 것이 현재 가장 잘 사용되는 안티 디버깅 기법입니다. PEB 구조체 주소는 F.. 더보기 리버싱 워게임 사이트 http://reversing.kr/index.php 더보기 system 링크 http://blog.naver.com/PostView.nhn?blogId=ileksiah&logNo=80003317346 socket http://www.cyworld.com/kcm2500/13571339 http://blog.daum.net/sysnet924 더보기 cogegate 300문제 풀이(ida) http://www.hackerschool.org/Sub_Html/HS_University/CTF/Codegate/2011/vuln300/vuln300.html 더보기 정리 잘 되어 있음!! http://sol9501.blog.me/70122749344 쿨소프트http://coolsoft2.com/897446 링크 모음집http://blog.naver.com/PostView.nhn?blogId=aaaa875&logNo=110118847400&parentCategoryNo=&categoryNo=&viewDate=&isShowPopularPosts=false&from=postView 더보기 PLT . GOT 정리 PLT PLT는 "Procedure Linkage Table"의 약자 입니다. 말 그대로 프로시져들을 연결해 주는 테이블 이라는 것입니다. 이 때 중요한 것은 프로그램을 어떻게 구현 했느냐에 따라서 약간의 메커니즘이 달라진 다는 것입니다. 무슨 말이냐 하면 PLT는 프로시져를 연결하지만 외부 프로시져를 대상으로 연결을 합니다. 즉 프로그램코드를 짰는데 모두 직접 같은 화일 안에서 구현한 프로시져들이라면 이것들은 따로 PLT가 필요없이 직접적으로 호출이 가능합니다. 그런데 이런 프로시져가 아닌 다른 라이브러리에 위치해 있는 프로시져를 호출 할 때에는 PLT를 사용해서 그 프로시져를 호출하게 됩니다. 이것은 심볼해석과도 연관이 있습니다. 연관이 GOT GOT는 "Global Offset Table"입니다. .. 더보기 이전 1 2 3 다음