일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 바이트 오더
- 개발하기
- 윈도우 커널
- pcap packet capture
- vcruntime140.dll
- pwnable
- pcap packet
- Windows Kernel Driver
- packet capture
- Network Byte Order
- 윈도우 커널 드라이버
- arudino
- 네트워크 바이트 오더
- Msvcrt.dll
- HackCTF
- C언어 패킷캡쳐
- 윈도우 커널 디버깅
- 시스템해킹
- vcruntime.dll
- 해킹
- ucrtbase.dll
- 개발 환경 준비
- IAT Hooking
- windows kernel debugging
- Windows
- apphelp.dll
- Windows Kernel
- hacking
- Windows Kernel Debug
- 포너블
- Today
- Total
목록C (17)
미친해커
데이터 쓰기까지 끝난다면 이제 확실하게 간단한 모듈을 만들 준비는 끝난다. 테스트를 위해 아두이노의 코드를 다음과 같이 변경했다. void setup() { Serial.begin(115200); } void loop() { if (Serial.available()) { char name[16] = { 0, }; Serial.readBytesUntil(0x00, name, 16); char buffer[32] = { 0, }; sprintf(buffer, "Hello %s!", name); Serial.println(buffer); } } 시리얼 포트로부터 아두이노가 메시지를 받고 그 앞에 Hello를 붙여서 PC로 전송해주는 코드이다. 이렇게 PC와 아두이노가 정상적으로 통신하는지를 확인할 수 있게된다..
이제는 데이터를 읽을 차례이다. Windows에서 Baud Rate는 기본적으로 9600으로 설정되는 모양이다. 하지만 나는 직접 115200을 설정해 사용할 생각이다. 우선 다음과 같은 코드를 아두이노에 업로드했다. void setup() { Serial.begin(115200); } void loop() { Serial.println("Hello World Arduino!"); delay(1000); } 간단하게 설명하자면 begin 함수를 Baud Rate를 설정하는 함수이다. 그리고 1초에 한번씩 "Hello World Arduino!"라는 문자열을 시리얼 포트로 보낸다. 우리는 이 데이터를 Windows에서 읽어 출력하면 성공이다. ReadFile function (fileapi.h) - Win..
저번에는 통신수단 Handle을 얻는 방법을 알게되었다. 시리얼 포트로 통신하는 거라면 Baud Rate를 설정해줘야 한다. 왜냐하면 통신하는 아두이노의 Baud Rate와 PC의 Baud Rate가 일치하지 않으면 제대로 통신이 이루어지지 않는다. 이번에도 열심히 구글 검색을 한 결과 2가지 함수를 알게 되었다. 그리고 이 글을 쓰는 지금 여자친구와 헤어졌습니다. Baud Rate를 설정하기 위해서는 DCB 구조체를 사용해야한다. MSDN에서는 이 구조체를 다음과 같이 정의하고 있다. DCB (winbase.h) - Win32 apps Defines the control setting for a serial communications device. docs.microsoft.com 직렬 통신 장치에 대..
GitHub - jungjin0003/Serial-Monitor Contribute to jungjin0003/Serial-Monitor development by creating an account on GitHub. github.com 해당 모듈은 위 깃헙에 커밋할 예정이다. 우선 아두이노는 시리얼 포트를 사용한다. 다른말로 COM 포트라고도 하는거 같다. 또 COM 포트는 각각 번호가 부여되어 있어서 COM1 ~ COM255까지 unsigned char의 범위 값 만큼 생성가능 한 것으로 보인다. (아마 USB랑 비슷한 취급인 것 같다) 먼저 아두이노를 컴퓨터에 연결하고 장치 관리자를 실행해준다. 많은 탭 중에 포트(COM & LPT) 탭을 열게되면 위와 같이 연결되어 통신할 수 있는 시리얼 포트들..
[Arduino] 아두이노 첫 시작 (기초공부) 매번 Windows 관련해서 C언어를 공부하다보니 이번에는 아두이노에 관한 프로그래밍을 공부해보기로 했다. 중학생 때 아두이노를 접해본 경험이 있어서 생각외로 쉽게 접근할 수 있었다. 아두이 crazyhacker.tistory.com 위 글을 쓰기 전 내가 아두이노와 PC가 통신하기 위해 시리얼 포트를 사용한다는 것을 알게 되었다. 그리고 인터넷에서 여러 아두이노 예제를 보았는데 대체로 사용하는 시리얼 모니터가 Arduino IDE에 기본적으로 탑제되어 있는 시리얼 모니터를 사용한다는 것을 알게되었다. Arduino IDE는 자바로 만들어져있고 시리얼 모니터 또한 자바로 제작되어 있다. 물론 정상적인 개발자라면 '뭐 괜찮네 쓸만한데' 라고 생각할 수 있겠지..