동글동글 라이프
어제 C언어에 관련된 문제를 하나 내었는데 댓글로 답을 풀어주시기보다 트위터나 네이트온 쪽지로 더 답을 많이 주셨습니다. 1 2 3 4 5 6 7 8 9 10 11 #include int main(void){ int A[]={10,20,30,40,50,60,70}; double *dp = (double *)A; (*dp)++; printf("%d \n",*dp); return 0; } 제가 원했던 답은 빨간색으로 표시된 (*dp)++ 만 수정하여 답을 11이 되도록 바꾸는 것이 었는데 많은 분들이 소스 전체를 바꾸셔서 답을 주시더군요 ^^;; - 풀이 dp 는 더블형 포인터 입니다. 그렇기에 *dp 는 더블형으로 접근한 값을 1을 증가해 줘야 하는데 접근 한 값은 정수기 때문에 데이터 형에 맞지 않게 1..
간단한 C언어 문제를 한번 풀어보세요 ~ 1 2 3 4 5 6 7 8 9 10 11 #include int main(void){ int A[]={10,20,30,40,50,60,70}; double *dp = (double *)A; (*dp)++; printf("%d \n",*dp); return 0; } 위의 예제는 A라는 정수형 배열과 dp 라는 더블형 포인터 변수가 있습니다. 더블형 포인터 변수에 A배열을 연결 한 뒤 dp의 주소 값으로 접근하여 1을 더하려고 합니다. 정확히 10에 접근하여 1을 더한 11이라는 값을 출력하고 싶습니다. (*dp)++; 하지만 위의 코드는 원하는 값이 나오지 않는데 이 코드는 왜 11이 되지 않으며, 이것을 해결하려면 어떻게 코드를 짜야 하는지 댓글 한번 달아주세요..
Perl 6이 Rakudo Star 라는 이름으로 릴리즈 되었습니다. Rakudo Star - a useful, usable, "early adopter" distribution of Perl 6 http://rakudo.org/node/75 여기서 early adopters 라는 이름을 달고 출시를 한 이유는 perl 6 출시에 앞서 몇가지 버그가 있음을 잘 알고 사용자와 피드백을 얻기 위해서 이렇게 이름을 달았다고 합니다. Perl 6 에서의 멋진 기능들 입니다 :) Perl 6 grammars and regexes formal parameter lists and signatures metaoperators gradual typing a powerful object model, including ro..
트위터를 하던중 DM(Direct Message) 로 반가운 메세지가 하나 왔습니다. 헛!! 나는 Follower 만 했을 뿐인데 ( 왼손은 거들뿐..) 이런 좋은 기회가! 잽싸게 이름과 핸드폰번호, 주소를 보냈는데 답장이 좀 늦게 왔습니다. ㅡ_ㅠ 아자 아자!! 정확하게 28일날 영화표가 도착했습니다. 제가 어제 일이 있어 좀 늦게 올렸는데 받을 당시에 힘든일이 있어 잘 몰랐지만 지나고 나니 기분이 좋더군요 ^^/ 7월 31일 까지니 헙; 토요일 까지 봐야 하는군요 감사합니다 @samsumgtomorrow 님 :) 잘 볼께요~
레지스트리 정보에 관한 UI 입니다. 왼쪽에는 메인 정보를 나타내는 트리 형식으로 된 메뉴가 존재하며 레지스트리에 분석된 파일에 따라 이 메뉴들이 활성화 됩니다. 총 5개의 카테고리로 구성되어 있고, 첫번째 카테고리는 레지스트리 하이브 정보를 알려줍니다. 레지스트리를 분석하기 위한 파일에 관련된 정보들을 출력 해주며, 각 파일에 따른 하이브 파일 구조도 보기 쉽도록 출력됩니다. 두번째로는 카테고리는 레지스트리를 분석하여 하드웨어의 정보들을 장치관리자와 동일한 형식으로 나열해줍니다. 하드웨어 정보뿐만 아닌 사용자의 정보에도 신경을 더 쓸 계획입니다. 세번째 카테고리인 파일은 포렌식 분석에서 가장 중요한 역활인 사용자와 관련된 파일들을 나열하는 탭입니다. 최근 접근한 파일, 최근 저장된 파일, Explore..
만들어질 프로그램에 대하여 UI 를 설계하였습니다. 아래 그림은 처음 프로그램이 실행 될 시에 메인 화면입니다. 왼쪽에는 로고가 오른쪽에는 두가지 메뉴가 있습니다. 세부적인 데이터를 분석해주는 Normal 모드와 시나리오에 따른 문서화를 해주는 Document Mode 입니다. 각 버튼을 누르면 다음 모드로 이동을 합니다. 그리고 각 모드를 진행하기 전에 환경설정을 먼저 해야 하는데 환경설정 버튼을 누르게 되면 아래 폼이 뜨게 됩니다. 사건의 정보에 대하여 작성하고 분석하기 위한 각각의 파일들을 존재하는지 체크해야 합니다. 만약 여기서 존재하지 않는 파일이 있다면 Success 가 되지 않으며 Option 탭으로 가서 복구를 할 수 있습니다. Normal Mode 의 화면입니다. 총 4가지 탭으로 나뉘며..
프로그램의 전체적인 시나리오 입니다. 프로그램의 흐름은 아래와 같습니다. 1. Intergrity (무결성) 디지털 매체에서 데이터들을 무결성을 유지하며 모두 복사해 옵니다. 2. Extraction (추출) 포렌식 수사에 필요한 자료들을 추출을 합니다. 3. Restore (복구) 지우거나 손상된 파일이 있을 시 복구를 합니다. 4. Analysis (분석) 추출된 데이터를 통해 각 분류(레지스트리 , 웹, 시스템로그)별로 분석을 합니다. 5. Data representation (데이터 표현) 분석된 데이터들을 조사관이 보기 좋도록 표현합니다. 6. Document ( 보고서 ) 분석 및 표현된 데이터들을 보고서 양식에 맞게 작성합니다.
전체 시스템에 관한 Architecture 입니다. 하드웨어에 저장 되어 있는 데이터를 추출하여 사용자 정보, 시스템 정보 , 하드웨어 정보 등을 얻어온 뒤 이 정보들을 보기쉽게 나열해 주며 유용한 정보를 모아서 사용자 분석을 해주는 시스템입니다. 윈도우 XP 운영체제에서 닷넷 프레임워크 3.5 C# 으로 제작이 됩니다. 디지털 포렌식 정보수사 과정은 아래와 같이 4가지로 이루어 집니다. 1. Assessment(평가) 2. Acquisition(수집) 3. Investigation(조사) 4. Document(문서화 및 보고) 이 수사과정에 따라 표를 만들어 보았으며, 데이터를 수집시에 무결성, 저장 매체 이미징 기술, 정보 수집 기술을 바탕으로 데이터를 수집해 와야 합니다. 수집한 데이터를 바탕으로 ..
포렌식 도구 Winproof가 왜 필요한지 설명을 해보겠습니다. 국내에는 통합 포렌식 툴이 없습니다. 포렌식 툴이 없다는 것이 아닌 통합적인 포렌식 툴이 없습니다. 여기서 제가 말하는 통합 포렌식 툴이란 레지스트리, 웹, 시스템 로그 그리고 사용자 분석을 위한 복구기술까지 포함된 툴을 기준으로 이야기 하였습니다. 국내에 포렌식 툴을 만드는 사람도 없고 공개화된 커뮤니티도 없습니다. 그래서 포렌식 툴을 사용할 때는 항상 외국의 툴을 사용해야 하고, 영어의 압박을 받으며, 주어진 기능대로만 사용해야 합니다. 국외의 통합툴의 경우에는 제품의 가격이 비싸고, 도구를 사용할 시 익히기도 어렵습니다. 국내 및 해외의 점유율이 가장 높은 포렌식 툴인 encase 의 경우 메뉴얼 페이지만 약 500페이지 가량 됩니다...