- 참치군
- ?
- stalk.io
- :: 2013년, 스리는 여섯살
- 웹 강좌
- 점프 투 파이썬
- 요니나의 대학생 재테크
- This is CS50
- 애자일 이야기
- isao의 IT,게임번역소
- 소프트웨어 이야기
- Color Scripter
- 어디를 가든지 마음을 다해 가라
- VisuAlgo
- 서울대 평생교육원
- 몽환
- RegExr: Learn, Build, & Test R…
- Hello, Stranger :D
- I Like Exploit
- Z3alous Security Story
- Project Euler
- Blog
- pieces of code
- window 쪼물딱 거리기
- IT - Informatics Alphabet
- rop
- 국제 정보교육센터 I2sec 대구 1기
- This is the moment. :)
- blackmoon
- z3alous는 세상에 소리 z3alous~
- Acord
- FORENSIC-PROOF
- 어셈블리
- Outsider's Dev Story
- Open Tutorials
- 코드라이언
- 컴퓨터 그래픽스와 3D 프린팅
- HACKABILITY
- Lee, Jae-Hong
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- Visual Studio
- 펌
- 파이썬
- 블루블랙
- 탈색
- 베이스
- 호출규약
- 디버깅
- Packet
- 발표
- 소켓
- ubuntu
- Hello World
- 공간복잡도
- 오지총
- 피보나치
- Debug
- 창의공학설계
- 버퍼오버플로우
- 동대구
- Calling Convention
- 추상데이터타입
- 컴파일러
- 시간복잡도
- Wireshark
- 레지스터
- C언어
- 염색
- BOF
- Today
- Total
목록분류 전체보기 (40)
c0smicb0y
윈도우에서도 리눅스의 gcc처럼 멋지게 커맨드라인에서 컴파일을 할 수 있다. 하지만 그러기 위해서는 예전에 자바 환경 구축을 했던 것 처럼 환경 구축을 해주어야한다. 자바 개발 환경으로 자주 쓰이는 이클립스는 이제 인스톨러가 생겨서 원클릭으로 쉽게 환경 구축이 가능하다. 물론 자바도 커맨드라인에서 할려면 일일이 손으로 해주어야 한다. 그리 어렵지 않으니 잘 따라해보자! 일단 Visual Studio가 설치되어 있다는 전제하에 시작한다. Visual Studio는 드림스파크에서 다운로드 받을 수 있다. https://www.dreamspark.com/ 먼저 제어판 -> 시스템 -> 고급 시스템 설정 -> 환경 변수 를 열어준다. 이런 화면을 볼 수 있을 것이다. 시스템 변수에서 Path를 선택하고 편집하기..
전날 세시쯤(정확하게는 당일이죠)에 BoB 센터에서 퇴근해서 세시간쯤 자고 일어나서 피곤한 몸을 이끌고 PoC2015가 열리는 the K 호텔로 향했습니다. 컨퍼런스는 잘 참여하지 않다가 서울에 올라와서 이것저것 참가하게 되었는데요. PoC는 스피커분들부터 빵빵해서 매우 기대했습니다. 프론트에서 등록을 하고, 티셔츠와 뱃지와 명찰을 받았습니다. 아홉시가 조금 넘어서 관계자 분께서 개회사를 하셨는데요, 아마 vangelis님 같았습니다. 요즘 진행하는 프로젝트 관련해서 자료를 찾다가 역자에서 자주 뵙는 분입니다. 첫 세션은 Thegrugq의 "Cyberwar of Nation State Level"이였습니다. 동시통역이 진행되었는데, 그렇게 매끄럽지 못해서 조금 못마땅하였습니다. 영어 공부 열심히 해야겠어..
컴퓨터에서 수행되는 대부분의 연산은 레지스터를 이용하여 이루어지게 된다. 하지만 이 레지스터의 개수는 극히 제한적이기 때문에 함수 내에서 또 다른 함수 호출 시에는 레지스터간의 충돌을 고려해야한다. 우리가 사용하는 Windows의 컴파일러들은 이러한 문제를 피하기 위해 아래와 같은 규칙을 사용하여 함수들간의 레지스터 사용의 충돌을 피하고 있다. Platform Caller-save 레지스터 Callee-save 레지스터 x86 Windows EAX, ECX, EDX, ST(0)~ST(7), XMM0~XMM7 EBX, ESI, EDI, EBP x64 Windows RAX, RCX, RDX, R8~R11, ST(0)~ST(7), XMM0~XMM5, High half of XMM6~XMM15 RBX, RSI,..
스택을 이용하여 파라미터를 전달할 때 스택에 파라미터를 어떠한 순서로 넣을 것이며 또한 전달되어진 파라미터를 어느 곳에서 해제할 것인가에 따라 여러 가지 방식이 잇으며, 이를 Calling Convention(호출규약)이라고 부른다. __cdecl이 Calling Convention은 C, C++ 프로그램에서 파라미터 전달 시 기본적으로 사용되는 방식으로, 파라미터 전달은 오른쪽에서 왼쪽으로 이루어지며, 프로시저를 호출한 쪽(Caller)에서 파라미터에 대한 해제까지 책임져주게 된다. 12345678main(){ sum(1, 2);} int sum(int a, int b){ return a + b;}cs 123456789101112main: push 2 push 1 call sum add esp, 8su..
리눅스 커널 공개소프트웨어 개발자 센터(http://devlab.oss.kr) 운영체제커널은 운영체제의핵심으로 컴퓨터 시스템을 사용하는데 꼭 필요한 기능을 제공 프로세스 관리메모리 관리파일 시스템I/O 유닉스 V6는 공짜로 뿌림이것을 기반으로 나온 것이 리눅스 리눅스가 다른 OS보다 늦었지만 좀 더 발전한 것이 오픈소스이기 때문 유저 스페이스에서 시스템 콜을 통해 메모리를 할당하거나 IO를 컨트롤 함 http://iamroot.org리눅스 커널 스터디 http://kernelstudy.netARM, x86, 리눅스 커널 분석LLVM 컴파일러SDN/NFV http://kernel.bz커널 연구회 커널을 공부할때 가장 많이 볼 곳 > LWN.net 정기적인 소식을 볼 수 있음 커널을 공부하기 위해 필요한 도..
모던 c++이란 c++ 11/14를 말한다 녹슨 C++ 코드란succeed() 등으로 떡칠 된 코드 등등 고치고 싶지만...이미 고치기엔 길어져버린 코드어디서부터 손을 써야 할 지 모름코드는 점점 산으로... 어디에 기름칠을 할까?전처리기리소스관리 함수타입, 반복문기타 등등... 전처리기#if, #ifdef, #ifndef 등등많이 쓰면 복잡해진다.많이 쓸수록 이해하기 어렵다많이 쓸수록 유지보수하기 어렵다-> 템플릿을 이용하여 기름칠 조건부 컴파일에서 케이스 바이 케이스개선하지 못하고 #ifdef를 사용해야 되는 경우도 있다.반드시 사용해야 된다면, 코드를 단순화하는 것이 좋다.중첩 #ifdef를 피하는게 좋음, 함수의 일부를 조건부 컴파일에 넣지 않도록 한다. 매크로#define변수 대신 사용하는 매크..
레지스터는 CPU의 작은 저장 공간으로 CPU가 데이터에 접근하는 가장 빠른 방법을 제공한다.x86 명령 셋에서 CPU는 8개의 범용 레지스터(EAX, EDX, ECX, ESI, EDI, EBP, ESP, EBX)를 사용한다. EAX는 accumlator regiter라고 불리며, 산술 연산을 수행하기 위해 사용 된다. x86 명령 셋에서 최적화된 많은 명령이 데이터 계산과 저장을 위해 EAX 레지스터를 사용하도록 설계되었다. 또한 EAX 레지스터는 함수의 리턴 값을 저장하므로 EAX에 저장된 값을 조사하면 호출한 함수가 어떤 리턴 값을 가지는 지 알 수 있다. EDX 레지스터는 Data register이다. 이 레지스터는 기본적으로 EAX 레지스터의 확장 개념으로 사용된다. 즉, 나누기나 곱하기 같은 ..
안티바이러스 소프트웨어는 가장 복잡한 응용프로그램 중의 하나이다. 안티바이러스 소프트웨어는 많은 파일 타입과 포맷을 다루어야한다. * 실행파일: exe, dll, msi, com, pif, cpl, elf, ocx, sys, scx 등* 문서파일: doc, xls, ppt, pdf, rtf, chm. hlp 등* 압축파일: arj, arc, cab, tar, zip, rar, zoo, lha, lzh, ace, iso 등* 실행 가능한 패커: upx, fsg, mew, nspack, wwpack, aspack 등* 미디어파일: jpg, gif, swf, mp3, rm, wmv, avi, wmf 등 파일 포맷들 각각은 아주 복잡할 수 있다. 그래서 안티바이러스 소프트웨어가 모든 포맷을 적절하게 처리하는 것..