본문 바로가기

분류 전체보기75

지능형 자동차 만들기 1일차 자동 운전을 할 수 있는 자동차를 만들고자 계획 중이여서 이번에 방학 기간동안 취미로 만들기 시작했다 우선 재료는 내가 현재 속해 있는 임베디드 동아리에 굴러다니는 부품들을 모았다. 조향제어도 해보고 싶었지만.. 그닥 부품이 없어 우선 모터와 라즈베리파이 그리고 초음파센서를 통해 바퀴의 방향을 통해 방향조절을 하도록 만들어야겠다고 생각했다. 그렇게.. 이것저것 꼽고 뽑았다 해서..... 짜잔 ... 조립 끝 이제 빵판에 모터드라이브랑 라즈베리파이를 연결 하도록 점프선 연결... 흑.. 몹시 지저분함.. 이렇게 꼽고 했는데.. 모터 작동을 안함....하.... 그래서 오늘은 그냥 여기까지만 2016. 8. 16.
[Project Euler]5번문제 1 ~ 10 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 2520입니다.그러면 1 ~ 20 사이의 어떤 수로도 나누어 떨어지는 가장 작은 수는 얼마입니까? 저는 1~20을 소인수 분해 해봤습니다.즉 2가 몇개인지, 3이 몇개 인지, 5가 몇개인지, 7이 몇개인지, 11이 몇개인지, 13이 몇개인지, 최소공배수를 구한겁니다. 2016. 2. 22.
[Project Euler]4번문제 앞에서부터 읽을 때나 뒤에서부터 읽을 때나 모양이 같은 수를 대칭수(palindrome)라고 부릅니다.두 자리 수를 곱해 만들 수 있는 대칭수 중 가장 큰 수는 9009 (= 91 × 99) 입니다.세 자리 수를 곱해 만들 수 있는 가장 큰 대칭수는 얼마입니까? 저는 세자리 수를 곱해서 만들 수 있는 최대 수를 우선 생각했습니다.그렇다면 최대 수는 999*999가 최대인데....1000000이 되지 못합니다.저는 900000이전의 숫자는 생각하지 않고 구했습니다. 이전의 숫자는 900000이후에 답이 있을 거라고 예상했기 때문입니다. (사실 이러면 편법이죠 ㅋㅋ) 그리고 배열에 넣어 확인 하였습니다. 2016. 2. 22.
[Project Euler]3번문제 어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다. 예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.600851475143의 소인수 중에서 가장 큰 수를 구하세요. 정말 간단한 방법으로는 1부터 600851475143 숫자를 반복문으로 실행 후 하나씩 소수인지 판단해보면 간단하다 즉 이중반복문을 쓰면 된다. 그러면 대신 시간이 오래걸린다.. 그러면 다른 방법은 무엇일까?1~600851475143의 숫자를 소수인지를 판단후 소수이면 배열에 저장하고배열에 저장한 숫자로 다 나눠보고 소수가 아닌지 판단하면 좀더 시간이 단축된다. 하지만 소스가 조금 복잡하다 ㅎㅎ 여기까지는 문제가 쉬우니 소스를 올리지 않음 주소 : http://euler.syna.. 2016. 2. 20.
해킹-공격의 예술(책) 공부 2일차 공부 내용 : 디버깅 방법과 명령어, 간단한 사용, 역어셈블리 디버깅 시 intel 문법으로 바꾸는 법gdb -q set disassembly intel 또는 set dis intel 이라고 치면 된다 하지만 set dis intel은 내 컴퓨터에서 안됨.. 또 다른 방법은 .gdbinit 파일에 설정에 해주는 것이다파일을 실행해서 치든 상관없다. 하지만 난 echo 명령어를 사용하였다.echo "set disassembly intel" > ~/.gdbinit 그리고 인텔의 문법 형식은 명령어 , 이다.예를 들어서 mov rbp, rsp 라고 하면 rsp를 rbp로 복사해라는 뜻이다.또는 sub rsp, 0x8은 rsp에서 8을 빼라는 뜻이다. 또 컴파일 시 -g 옵션을 넣어주면 디버깅 시 소스를 볼 수.. 2016. 2. 20.
해킹-공격의 예술(책) 공부 1일차 bp(16비트) -> ebp(32비트) -> rbp(64비트) objdump –D a.out |grep –A20 main.:AT&T문법objdump –M intel –D a.out |grep –A20 main.:INTEL문법 범용 cpu레지스터eax(extended accumulator register)-산술, 연산을 수행하며 함수의 반환값이 이 레지스터에 저장된다. ebx(extended base register)-esi또는 edi와 결합 될수 있으며, 주로 메모리주소를 저장하기 위한 용도. edx(extended Data register)-eax와 같이 쓰이고 부호 확장 명령 등에 쓰인다. ecx(extended counter register)- 주로 반복 명령어 사용 시 반복 카운터로 사용.(반복,.. 2016. 2. 18.
반응형