본문 바로가기

반응형

Programming

(77)
C/Pointer/C포인터의 이해와 활용 - 3 ※ 본 자료는 위 책을 읽고 개인적으로 정리한 포스트임을 알려드립니다. # 포인터와 함수- 포인터는 함수로 데이터를 전달하거나 함수에 의해 데이터를 수정할 수 있게함.복잡한 데이터 역시 구조체의 포인터 형태로 함수에 전달되거나 반환될 수 있음.포인터가 데이터 타입이 아닌 함수의 주소를 가리키는 경우프로그램의 실행 흐름을 동적으로 제어하는 데 사용될 수 있음. - 프로그램 스택 이해현대의 블록 구조 언어에서 함수의 실행을 지원하기 위해 사용함수가 호출되면 함수의 스택 프레임이 생성되고 프로그램 스택에 추가(push) - 함수가 반환될 때프로그램 스택은 C언어와 같은 현대의 블록 구조 언어에서 함수의 실행을 지원하기 위해 사용함수는 함수에 의해 참조되는 데이터를 수정할 수 있음.덩치가 큰 데이터를 효과적으로..
C/Pointer/C포인터의 이해와 활용 - 2 ※ 본 자료는 위 책을 읽고 개인적으로 정리한 포스트임을 알려드립니다. # 동적 메모리 관리- 포인터의 강력한 기능의 대부분은 동적으로 할당된 메모리를 추적할 수 있는 포인터의 능력에서 기인한다.동적 메모리 관리는 복잡한 데이터 구조를 조작하는 일을 포함한 많은 일의 핵심이다.- C 프로그램은 런타임 시스템(runtime system) 안에서 실행된다.런타임 시스템 : 운영체제에서 제공되는 환경많은 프로그램 기능들과 함께 스택(stack), 힙(heap)을 지원 - 메모리 관리 : 프로그램의 핵심자동 관리 : 자동 변수의 메모리 할당정적 변수와 전역 변수의 경우는 프로그램 시작 시 0으로 초기화되는 애플리케이션의 다른 데이터 세그먼트에 위치함 - 메모리를 할당하고 해제하는 능력메모리를 더 효율적이며 유연..
C/Pointer/C포인터의 이해와 활용 - 1 ※ 본 자료는 위 책을 읽고 개인적으로 정리한 포스트임을 알려드립니다. #포인터와 메모리- 정적(Static)/전역(Global)정적으로 선언된 변수는 정적/전역 메모리에 할당 -> Data영역이나 BSS영역시작될 때 할당되며 종료될 때까지 메모리에 남아있음.전역 변수는 모든 범위에서 접근, 정적 변수는 선언한 함수 범위내에서 접근- 자동(Automatic)/로컬(Local)함수 안에서 선언되고 함수가 호출될 때 생성됨접근 범위는 선언한 함수 범위내블록문안의서에 선언은 범위가 블록문 안으로 좁혀짐- 동적(Dynamic)동적 메모리는 힙 영역에 하당 되고 필요할 경우 해제됨포인터를 사용하여 메모리 영역을 참조해제하지 않는한 메모리 영역에 존재 # 포인터를 잘알아야 하는 이유- 용도빠르고 효율적인 코드작성다..
Python/자료 목록/Python Exploit Development # 목록- PeachPy- Peda- moneyshot- libformatstr : 포맷스트링 exploit - Sulley, PaiMei : fuzzing suites- riusksk/ shellsploit-library- Python Haystack : Heap FrameWork- Radium keylogger : 키로거- kitty- PEDAL- hexdump- angr - shellnoob- one_gadget- libc-database- checksec- xrop- ROPgadget- pwntools- QIRA- pwndbg- hugsy / gef - svenito / exploit-pattern-mgeeky / Exploit-Development-Tools- roissy / IOI- amons..
C/Symbolic Execution/KLEE Reference ++ 2018-02-6 변경사항 ++- docker 컨테이너 내의 파일 빼오기- docker 컨테이너 volume의 위치를 확인 ※발음 - 클레이, 클레※ LLVM - Loew Level Virtual Machineclang을 사용# 출처 : [KLEE Documentation] http://klee.github.io/docs/ # [Part : Docker] 영구적 컨테이너 설정- docker 상에 임시적으로 띄우는 컨테이너를 영구적으로 유지시킵니다.docker run -ti -name=[컨테이너 이름] --ulimit='stack=-1:=1' klee/klee--rm 옵션을 사용하지 않으면 컨테이너가 종료될 때 컨테이너가 사라지지 않습니다.--volume 옵션을 통해 docker run을 통해 마운트..
Android/APKid/안드로이드 분석 도구 - 원래 찾아본 목적은, apk가 무엇으로 난독화 되어 있는지 프로파일링 해주는 것 같아서 찾아본 도구 였는데 결과에 없었습니다. : compiler : dx중요한건 ./apki.sh 의 apk 인자를 줄때 절대경로로 입력안하면 인식못함. # 사용법usage: apkid [-h] [-j] [-t TIMEOUT] [-o DIR] [FILE [FILE ...]]APKiD - Android Application Identifier v1.0.0positional arguments: FILE apk, dex, or directoryoptional arguments: -h, --help show this help message and exit -j, --json output results in JSON format..
Programming/Python/문자열의 Hex,문자 빈도수 체크하는 프로그램 # 문자열의 문자 빈도수, HEX 빈도수를 검사하여 가장 큰 빈도를 출력하는 프로그램 CODE12345678910111213141516171819202122232425262728# Made by hyeonbell# 2018/01/21 import sys filename = sys.argv[1]f = open(filename)data = f.read()result = {} hexdata = data.encode("hex")s = ''i = 0 while i
Programming/Python/모듈 다루기 # 모듈 path 확인이나, import 시킬때 맞을 수 있는 문제나 에러에대해서 포스팅하고 업데이트할 예정입니다. # 업데이트 내역- 2018/01/17 ++ 기본 내용 - 설치된 모듈 확인하기# pydoc modules# python -c 'help("modules")'# pip list# pip freeze# python -c 'import pip,pprint; pprint.pprint(pip.get_installed_distributions())'- modulename.__file__ : 모듈이 로드된 path를 알아내는 방법입니다.1234567import moduleprint module.__file__ #orimport ospath = os.path.abspath(module.__file__)..

반응형