Hardware(Embedded, IoT) Hacking
 
강의 요약

    스마트플랫폼, 사무기기, 가전제품 등의 다양한 임베디드 기기들이 대중화 되고, 본격적인 사물인터넷(IoT)의 시대가 도래함에
    따라 하드웨어 해킹의 위협 또한 증가되고 있습니다. 본 트레이닝의 목적은 하드웨어 해킹의 원리를 이해하고, 단순히 하드웨어 해킹 툴을
    이용하는 수준을 넘어서 자신이 원하는 하드웨어 기반의 해킹 툴을 직접 만들 수 있는 능력을 키우는 것에 초점을 맞추고 있습니다.

기본 정보

    • 강의명 : Hardware(Embedded, IoT) Hacking
    • 강사 : 정구홍 (Grayhash 수석 연구원, 해커스쿨 운영자)
    • 강의 일정 : 2015년 8월 31일(월) ~ 9월 4일(금)
    • 강의 시간 : 매일 오전 10시~오후 6시 (점심시간, 쉬는시간 포함 하루 8시간)
    • 강의 장소 : 공간 POC 트레이닝룸 [위치보기]
    • 강의 비용 : 2,000,000원 (VAT 별도)
    • 중식 및 다과 제공

주요 교육 내용

    • AVR 마이크로 컨트롤러 Programming 실습
    • 하드웨어 통신 프로토콜의 이해    
    • UART & JTAG Hacking 실습
    • ARM Reversing & Exploitation
    • 유무선 공유기 Remote Exploitation 실습
    • AVR을 이용한 하드웨어 해킹 툴 개발 실습
    • Embedded 장비 해킹 : 유무선 공유기, 스마트폰, Home Network, CCTV 등

상세 교육 내용


    1일차 - AVR Programming
    
    [하드웨어 기초]
    • 전기 기초 : 전기의 이해, 옴의 법칙 (전압, 전류, 저항), 주의사항 등
    • 전기소자/부품의 이해 (저항, 트랜지스터, 캐패시터, 레귤레이터, 다이오드)

    [AVR 프로그래밍]
    • MCU(Micro Controller Unit)의 이해
    • 개발 도구(Atmel studio 6.2) 설치
    • ISP(In-System Programming)의 이해
    • 범용 입출력 포트의 이해
    • LED, 모터, 스피커 제어 실습
    • 7-Segment 제어 실습
    • 온도 센서 제어를 통한 ADC의 이해
    • 인터럽트, 타이머, PWM의 이해
    • IrDA 통신 실습
    • UART 통신 실습
    • AVR Binary Reverse Engineering


    2일차 - UART Hacking

    [UART 해킹 실습]
    • 하드웨어 레벨 프로토콜의 이해 : UART, I2C(2-wire, TWI), SPI
    • 신호분석기를 이용한 UART 프로토콜 분석
    • UART Pin Scanning
    • 각종 기기에 대한 UART 연결 실습 및 시연
        • 유무선 공유기
        • 스마트 TV
        • 홈 네트워크 시스템(월패드)
        • 스마트폰(갤럭시S)
        • CCTV
        • NAS 장비

    [개발 실습]
    • Hardware 기반 keyboard sniffer 만들기


    3일차 - ARM Exploitation

    [유무선 공유기 해킹 실습]
    • 파일 시스템 분석
    • 취약점 찾기
    • Exploiting
    • uPnP 해킹
    • 취약 대상 환경 찾기 (Port Scanning, showdan 활용)
    • File System Extracting from Firmware

    [ARM Exploitation]
    • ARM Assembly
    • ARM Reversing
    • ARM Shellcode 분석


    4일차 - Flash Memory Dump

    [내용]
    • Flash Memory 기초
    • AVR(Atmega128)을 이용하여 Flash Memory Dumper 만들기
    • 확장 소켓 이용 예제
    • test-clip 이용 예제
    • MCU(AVR) 내장형 Flash Memory Dump 실습
    • Winbond W25Q16BV Serial Flash Memory Dump 실습
    • 기타 : AMD AM29F400BB, SAMSUNG K9F1G08U0B Flash Memory
    • Desoldering 실습
    • Dump된 Firmware Image 분석 및 파일 추출 실습


    5일차 - JTAG Hacking

    [JTAG 기초]
    • JTAG의 개념 및 작동 원리의 이해 (TDI, TDO, TCK, TMS, TRST)
    • AVR(Atmega128)을 이용하여 JTAG 툴 개발하기
    • JTAG 기초 실습 : IDCODE 읽기, LED에 불 켜기, LED 상태 읽기

    [JTAG Hacking]
    • JTAG을 이용한 동적 디버깅 시연
    • JTAG을 이용한 메모리 변조 실습
    • JTAG을 이용한 플래쉬 메모리 dump 실습
    • JTAG을 이용한 스마트폰 데이터 포렌식 실습
    • JTAG을 이용한 Hard-Bricked 폰 복구 실습
    • JTAG 연결 실전 활용: 갤럭시S
    • JTAG Pin Scanning
    • 상용 JTAG 툴 소개 : Riffbox Jtag, H-JTAG, AD-JTAG


    * 상기 1~5일차 교육 내용은 상황에 따라 일부 변동될 수 있습니다.

교재 및 실습 장비 목록

    [교재]
    • 강의 PPT

    [Hardware]
    • AVR 개발 키트(jmod-128-1)
    • PS/2 키보드
    • 갤럭시S1 스마트폰
    • 유무선 공유기
    • UART 장비
    • TEST-CLIP
    • 확장 소켓
    • 점퍼 케이블
    • 빵판
    • 멀티테스터
    • 인두기

    [기타]
    • 수료증(certificate) 발급

교육자 준비사항

    • 노트북
    • Software : PowerPoint, Vmware
    • 사전지식 : C언어 기초 (상수, 변수, 비트연산, 함수)


지난 트레이닝 사진

트레이닝 수강 후기

    * 이승진교육생 여러분 5일 동안 수고하셨습니다.

수강 후기를 남겨주세요!

좋았던 점, 혹은 개선해야 할 점, 모두 감사하겠습니다. ^^
    * 박세한어려운 주제를 상세하게 잘 설명해 주셔서 짧은 시간동안 많은 내용을 배울 수 있었습니다!

강사님이 한결같이 최선을 다해서 강의하는 모습도 인상 깊었네요
    * 김지수안녕하세요 정구홍 강사님! ^^

트레이닝으로 정말 큰 것들을 배워온것 같습니다! { :^)

확실히 아는만큼 보인다고, 덤프뜨는법 이나 시리얼 연결하는법 등을 알게되니.. 집에 있는 모든기기들의 뚜껑이 열리고 있습니다.. 후후..

수업하는동안 납땜때문에 암걸릴뻔 하기도 했지만.. 그래도 강사님덕에 재밌게 공부할 수 있었던 것 같습니다.

쉽게 접근하기 힘든 하드웨어라는 분야에 시작점을 즐겁게 찍을 수 있게해준 정구홍 강사님께 감사드립니다 ^^
    * 이*욱하드웨어 해킹에 전무한 지식을 갖고 트레이닝에 임하느라 못 따라갈까봐 걱정을 했었으나 수강자 한 명 한 명 트레이닝을 잘 따라갈 수 있도록 챙기시는 모습에 너무나 큰 감동을 받았습니다. 5일 간 트레이닝을 받고 난 후 지금은 하드웨어 해킹이 어떤것인지에 대해서 누군가 물어보면 자세히 설명할 수 있을 것 같습니다. 하드웨어 해킹에 대해서 알고싶은 분들에게 정말 강추합니다!! 그레이해쉬에 대해서 잘 알지는 못하지만 정구홍님 덕분에 기술력있고 올바른 회사라는 이미지가 생겼습니다. 정구홍님 만세!! 그레이해쉬 만세!!
    * 서*준원리를 이해할 수 있어 좋았고, 실습 가능한 환경이 제공되어 좋았습니다. 다른 교육도 기대됩니다.

교육을 들었던 기수 인원들이 나중에라도 모여 스터디를 구성할 수 있게 커뮤니티가 하나 생성되면 어떨까 의견 드립니다.
    * 강성림강사님의 10년 동안 해커스쿨을 운영해오신 열정과 강의 노하우를 고스란히 느낄 수 있는 자리였으며, 하드웨어 해킹 접근에 대한 막연함을 떨쳐 낼 수 있는 시간이었습니다. c언어에 대한 기본지식만 있으면 하드웨어에 대한 지식이 없이도 들을 수 있게 입문자를 대상으로 쉽게 강의해주시며, 무엇보다 원리를 가르쳐 주셔서 좋았습니다. 이번 강의를 통해 그레이해쉬를 알게되었으며, 교육 퀄리티가 높아 만족스러웠습니다. 주위에도 많이 추천하고 홍보하고 싶네요~다른 교육과정도 기대가 됩니다. 그레이해쉬 화이팅~! 멍멍님 화이팅~!
    * 전*운5일간 열정적인 강의와 그 몇배를 넘을 듯한 준비 감사합니다

정구홍 강사님이 2011년 컨퍼런스에서 느꼈던 그 충격을 이번 교육을 통해 받았던 것 같습니다.

임베디드를 몇 년간 해오다가 잠시 손을 놨었는데 다시 잡아야겠다는 생각이...

정말 많은 도움이 되었습니다!
    * 오예신하드웨어 해킹에 대해 공부할려고 했을때 어떻게 해야 막막했습니다. 하지만 이 강의를 듣고 정말 많은 것을 배우고 갑니다. 강사님이 5일간 보여주신 열정은 저에게도 큰 도움이 되었으며, 많은 공부가 되었습니다.

더 많은 트레이닝에 대해서 저도 조금더 관심을 가질꺼구요.

이번 5일간 정말 고생들 하셨습니다.


    * 김태현하드웨어에 대한 기초지식이 전혀 없이 수업을 들었지만 강사님의 세세한 지도에 어렵게나마 따라갈 수 있었습니다. 재밌게 수업해주시고 질문에 항상 친절히 대답해 주셔서 많이 배웠습니다. 5일간 정말 고생하셨습니다~
    * 서준섣혼자 집에서 찔끔찔끔 하드웨어 한답시고 만지작 거리다가 말았는데

이번 기회에 정말 알차고 좋은 내용을 많이 배울 수 있어서 너무 좋았습니다 !

강사님의 경험과 노하우가 빛나는 강의였어요! 짱짱킹왕짱!
    * 김재기국내 어디에서도 들을 수 없는 수업인 하드웨어 해킹이라는 주제로 진행된 수업을 들을 수 있어서 정말 좋았습니다. 역시 전설(?)의 해커스쿨 운영자다운 멍멍이형만의 노하우도 느낄 수 있는 수업이었던 것 같네요. 외국 자료를 보면서 어떻게 접근해야 되는지 많은 의문점이 있었는데 이번 기회에 한발짝 더 쉽게 다가갈 수 있어서 정말 좋았습니다. 그리고 하드웨어 해킹 뿐만 아니라 Exploit 및 Shellocode 에 대한 내용도 일부 담겨 있어서 더욱더 고급수업이 된 것 같습니다. 하드웨어 해킹 트레이닝 뿐만 아니라 앞으로 진행될 다른 트레이닝까지 기대됩니다. ^^ 좋은 강의 참석할 수 있어서 영광이었습니다.~다시 한 번 감사드립니다.
    * 김선우충실한 강의 내용과 알찬 실습으로 매우 유익한 시간이었습니다. 향후 하드웨어에 관심 많은 분들에게 꼭 추천하고 싶습니다.
    * 조*아5일 동안 집에도 제대로 못가시고 고생 많으셨습니다.
강사님의 열정에 힘입어 덩달아 열심히 강의 들었던 것 같습니다.
감사합니다 ^^
    * 권일택5일간 밀도있는 강의였지만 차근차근 설명 정말 잘해주셔서 정말 재미있게 들었습니다.
특히 이론 강의 사이에 들어있는 적절한 실습이 하드웨어 해킹에 대해 확실하게 감을 잡을 수 있게 해주어서 유익한 시간이었습니다.
그리고 마지막 날에는 깨알같은 수료증도 받아서 디테일까지 완성도 있었던 강의였던 것 같습니다.
앞으로 최고 해커들이 모인 그레이해쉬에서 진행할 트레이닝들도 기대됩니다.
구홍이형 수고많으셨습니다! ^^
    * 김**많이 접해보지 못한 하드웨어 해킹 분야에 대해 이론부터 쉽게 설명해주셔서 많은 도움이 되었습니다.

교육시간 동안 한명 한명 세세하게 신경써주시면서 진행하는 모습에 감동받았습니다.

교육 정말 잘 들었습니다. 감사합니다!
    * 김동완5일동안 즐거운 강의 였습니다.
하드웨어 쪽은 접해보지 못해서 긴장하고 갔는데 설명을 너무 잘해주셔서 이해하기 쉬웠습니다.
교육 잘 들었습니다 감사합니다!!
    * 유청희하드웨어 해킹에대하여 기본기부터 차근차근 쌓을수있는 수업이었습니다.
하드웨어분석이라하면 막연히 모르는것에대한 두려움이 있었는데 강의덕분에 어떤식으로 시작해야하는지 어떤도구를 이용해야하며 어떤방식으로 분석해야 하는가에 대하여 배울수 있는 기회였습니다.
재밌는 시간이었습니다. 감사합니다~!

    * 김똘똘과장컨텐츠 최고입니다. 세계 어느 컨퍼런스 트레이닝에서도 이런 컨텐츠를 찾을 수 없어요.
일정상 일부만 들어서 넘 아쉽네요 다음엔 풀로 들어야지
    * 덕구5일동안 강의 잘들었습니다. IOT 장비에 대한 해킹을 혼자서 공부했을때 내용이나 용어 들이 많이 어려웠는데...
기초부터 차근차근 직접 실습하며 배우니 이전에 했던 내용들까지 저절로 이해가 다되었어요!! ㅎㅎ
각 일차별로 큰 주제로 잘 나뉘어져 있어서 이해하고 복습하는 것도 적절했습니다!
가장 인상 깊었던건 시중에서 쉽게 구매할 수 있는 장비들을 바로 사용하지 않고 실제 전선과 납땜, 매우 간단한 장비들로 구현 및 프로그래밍해본 내용들이었어요.
단순히 도구로 이렇게 된다 라는 강의가 아닌 이러이러한 내용과 이러이러한 동작으로 인해 이렇게 된다라고 배움으로써, 다른 장비에 대한 분석을 할때도 유용하게 사용할 수 있을 것 같습니다.
5일동안 같이 들으신 분들도 고생많으셨고!! 정말 유익한 강의였습니다.
최고최고 ㅎㅎㅎ

    * 김성우소프트웨어 레벨에서만 컴퓨터를 공부해오다보니 하드웨어 레벨에서는 어떻게 동작할까가 항상 궁금했었는데
하나하나 공부했으면 혼자 하기 힘들었을 전기, 전자나 마이크로프로세서등을 하나하나 알기쉬운 비유와 함께
고등학교 3학년인데도 무리없이 따라갈 수 있을 정도로 설명을 자세하고 쉽게 해주셔서 5일동안 타이트한 일정이였는데도 정말 재밌게 수업들었습니다

    * 김솔아강사님이 경험하신 몇 년 동안의 노하우를 5일 간의 여정으로 풀어낸 단단한 압축 강의였어요!
전기 기초부터 기술적인 부분까지, 단계별로 이어지는 난이도와 짜임새는 꼭 알맞은 느낌입니다~
지루할 수 있는 이론 설명 때는 유머와 알기 쉬운 표현 방법으로 지루할 틈이 없었어요 굳굳!!
이번 실습으로 알게 된 원리와 방법을 통해 평소에 사용하던 하드웨어 기기를 직접 열어서 볼 수 있겠다 하는 자신감이
가장 큰 성과입니다-! 도전 하겠습니다!!
    * 신승민하드웨어해킹에 관심만 가지다가 우연히 알게되어 신청하게 되었습니다. 기초가 부족하여 따라가지 못할것을
걱정했지만 아주 바닥부터 천천히 시작해주셔서 차근차근 배울수 있었습니다. 초보라서 걱정하시는 분들은
고민하지말고 신청하셔서 매일매일 복습하시고 계속 따라하다보면 남는것이 많은 수업이 될 것이에요~
저도 아직 부족한지라 집에 있는 기기들 다 뜯어가며(?) 열심히 공부를 계속 해야겠습니다 !
5일동안 수고하셨습니다 !!
    * 오종찬수전증에 걸리지 않은 건강한 육체와
메모리 다리 사이로 스며들어간 납을 보고 터지지 않는 멘탈을 가지고 계신다면

정말정말 많은 지식과 정보를 얻어갈 수 있는 강의입니다.!

하드웨어 레벨에서 처리되는 시그널 메커니즘을 이해할 수 있는 기반을 마련해 주는
귀중한 시간이었다고 생각됩니다.

아... 납땜 연습하고 가세요. 두 번 하세요.
    * k1rh4정말 5일동안 버리는 시간 하나 없는 시간이 되었습니다!.
원리 중심의 내용을 쉽게 설명해주시는 강사님의 마법과,
실제로 혼자 찾아가며 정리했으면 몇달을 걸렸을법한 집약형
자료! 정말 유익한 시간이였습니다!
    * 이상섭강의를 듣고 업무로 돌아와 임베디드 해킹을 하는데
생각의 폭이 레벨업한 기분입니다. 예전같았으면 해킹이 불가능한 영역이라고 생각 했을법한 부분까지도 다시 생각하게되네요!!
짱짱!
    * 박*조하드웨어를 접해본 경험이 없어서 강의를 듣기 전에는, 걱정되는 부분이 많았습니다. 하지만 처음 접하는 저도 이해하기 쉽게 설명을 해주시고 익히게 해주셔서 정말 값진 5일이었습니다. 완전 대박 짱
    * 이**5일동안 어떻게 시간이 지나갔는지 모르겠네요. 관신 가지던 분야에 대해 쉽게 설명해 주셔서 정말 유익한 시간이었습니다. 다만, 너무 집중해서 물도 안 마시고 교육 받느라 저녁에 끝날 때마다 조금 피곤했습니다.
    * 박*진군인인데 휴가써서 강의 들었습니다. 전혀 후회없는 알찬 휴가 보내다가 복귀합니다.
강사님의 경험과 노하우가 고스란히 담겨있어 정말 많은 것을 짧은 시간동안 배웠습니다.

수고하셨습니다!! 최고!
    * 아폴로89정말 알찬 시간이였습니다.
노하우 잘 전수받아서 잘 활용하도록 하겠습니다.
감사합니다~
    * 서민교소프트웨어단에서만 공부를 하다 하드웨어는 처음 접해보는거라 긴장많이했었는데 강사님이 기본기부터 잘 알려주셔서 정말 도움 많이 되었습니다! 5일이 오히려 짧게 느껴질정도였던거같아요 ^~^ 수전증때문에 납땜에서 실수많이한게 너무아쉽네요ㅠㅠㅠ 감사합니다!! 하드웨어 짱짱!
    * 김원철강의 시간 내내 너무 흥미로왔고 재미 있었습니다.
아직 많이 부족하지만 하드웨어 해킹 분야에 대해
어떻게 공부하고 활용할지 감을 잡을 수 있는
좋은 기회였습니다.
특히 강의에 최선을 다해주신 멍멍님... 고맙고
앞으로도 더욱 잘 되시길 바랍니다. 한가지 아쉬운건
노안으로 기판 및 부품의 글씨가 안보여서 ^^;;;
밝은 조명과 업무용 돋보기 그런거 있으면 좋겠습니다.
고맙습니다.

    * 최수미실무경험이 많은 강사님의 진행으로 처음 접해본 전기 및 하드웨어 동작 원리를 쉽게 이해할 수 있었고 개발 키트 및 다양한 하드웨어(스마트폰, 유무선 공유기, 키보드)를 이용하여 직접 실습해봄으로써 하드웨어 해킹에 흥미를 가질 수 있었어요. 완전 초보라 강사님께 계속 물어봤었는데 항상 친철하게 설명해주셔서 감사합니다. 다음에 또 다른 좋은 수업에 참여할 수 있었으면 좋겠네요^^
    * 이*환기초부터 고급까지 너무 많은 것을 배울 수 있는 기회입니다. 정말 일주일이 숨쉴 틈 없이 지나갔습니다. 열정적인 강의 듣게 해주셔서 정말 감사합니다. 많은 것을 배우고 갑니다!
    * 이철웅너무너무 좋은 시간이었습니다! UART 부터 JTAG 디버깅까지 그동안 궁금해하기만 하고, 어떻게 해야 할지몰라 망설였던 부분들을 명쾌하게 강의해주셔서 너무 좋았습니다. AVR로 요것 저것 만드는 것도 매우 재미있었어요 ㅋㅋ 많이 배웠습니다!!
    * 백*연하드웨어 해킹에 대해 기초부터 차근차근 배울 수 있는 유익한 시간이였습니다. 강사님이 준비를 엄청 많이 하셨구나 라는걸 강의 듣는 내내 느낄 수 있었어요
특히 납땜도 직접 해보고, 실습해보는 시간이 재밌었어요~~!
    * 김대훈재미있게 들을 수 있는 수업이었습니다.
추천합니다. ^^
    * 최정환기대 이상의 꽉찬 교육 내용으로 정말 많이 배웠습니다. 물론 제가 부족하여 이해하지 못한 영역에 대해서는 교육 자료를 기반으로 좀 더 공부하도록 해야겠네요. 한동안 나태해졌었는데 배움에는 끝이 없다는 것을 느꼈습니다. 항상 친절하게 설명해주시던 강사님 감사합니다~

    * 최병철강사님과 수강생들의 열정이 교육을 매우 재미있는 시간으로 만든것 같네요.
새로운 정보도 많이 얻었던것 같아요. ㅎㅎ
모두 수고 많으셨어요. ~~
    * 장재진너무 재밌게 배우고 갑니다 ㅎㅎ 5일이 진짜 금방 지나간거같아요^^
흥나게 알려주셔서 지루하지 않고 재미도 있고 직접만드면서 하니까 소프트웨어만 다룰때랑은 다르게 또 다른 재미가 있더라구요 손이 조금 피곤하긴 했지만^^;
정말 많이 알려주려고 하신게 느껴졌고, 많이 배웠습니다. 최고!乃乃
    * 이*빈접근하기 어려웠던 하드웨어에 대한 내용을 쉽고 재밌게 설명해주셔서 정말 유익한 시간이였습니다. 이론 뿐만 아니라 실습을 통해 하드웨어에 쉽게 다가갈 수 있게 되었습니다!! 많이 배웠고 정말 감사합니다 ㅎㅎ
    * 민**알기쉽게 잘 설명 해주셔서 잘따라 갔던 수업이었습니다 ㅎ
강추~!!
    * 이효석하드웨어가 어떻게 동작하는지 몸으로 느끼면서 공부를 할 수 있었던 좋은 강의 였던것 같습니다. 주변에 무심코 지나치던 하드웨어 장비들이 이제는 어떤 취약점이 존재 할까 궁금증이 생기는것 같습니다. 그리고 무엇보다 강사님이 아주 친절히 잘 알려 주셔서 너무 즐거웠습니다.
    * *성*저는 9월에 수강하였지만 이제서야 후기를 작성하네요.
수업이 좋다고 말하는 것은 두 말하면 입 아프죠!

그러므로 저는 이 수업을 들을까~ 말까~ 고민하시는 분들께
이글을 통해 좀 더 선택에 도움을 드리고자 합니다.
(참고로 이 글에는 거짓말도 과장도 없음을 미리 말씀드립니다.)
글이 길다하시는 분들은 요약해서 말씀을 드리자면 "들으세요" 입니다.

하드웨어 분야는 처음 듣는데 따라 갈 수 있을까 고민하시는 분들 많으시죠
이 수업에서는 전체적으로 정말 쉽게 알려주십니다.

크게 수업 세부적인 난이도와 수업 분위기 위주로 말씀을 드리겠습니다.

프로그래밍 실습에서는 C언어만 하실 수 있으시면 됩니다.
if문, for문을 아신다면 신청하시면 됩니다.

직접 하드웨어를 뜯고 만져도 봅니다.
생활이 불편하신 수전증이신 분들은 살짝 힘드실 수 있습니다.
장비가 뾰족한 장비들이 몇 개 있습니다.
선단공포증이신 분들은 이 기회에 극복하세요. 찔려도 아프지 않습니다. (장비 하나 예외. 저는 멍때리다가 마우스 하나 녹였습니다.)
손이 ㄸ손이라 세밀한 작업이 힘드시다면 선생님을 부르시면 됩니다.
강사님이 캐쉬템 만큼이나 좋은 장비들로 대체해주십니다.

이론적인 부분들에서는 그때 그때 필요한 부분들을 말씀해주십니다.
너무 깊게는 설명하시지 않습니다.
딱 저희가 필요한 부분들만 깔끔하게 설명해주십니다.
학생시절 과학 복습하신다 생각하시면 됩니다.
학생시절이 너무 멀다 하시는 분들은 '만화로 쉽게 배우는 전기, 전자기학, 전자회로' 읽고 오시면 됩니다. (사실 안읽으셔도 됩니다.)

뒤에가면 살짝 복잡한 실습들이 있습니다.
수업중에 졸지만 않으시면 다 따라가실 수 있습니다.
못 따라 가신다면 마음을 비우시고 차근 차근 다시 한 번 따라가보세요.

리버싱&해킹이 서투르시더라도 괜찮습니다.
여전히 수업중에 졸지만 않으시면 다 따라가실 수 있습니다.
못 따라 가신다면 마음을 비우시고 차근 차근 다시 한 번 들어보세요.

수업 분위기는 대체로 편안합니다.
살짝 지루하다 싶으면 실습이 오고 엉덩이가 뻐근하다 싶으면 쉬는시간이 옵니다.
적절하게 이론과 실습이 잘 어우러져 있습니다.
매 시간마다 쉬는 시간은 있으며 쉬는 시간조차 지친다 하시면 뒤 쪽에 달달구리들이 쌓여있습니다.
당 충전하세요.
사실 제가 느꼈기에는 시간이 가는 줄도 모르고 빠르게 지나갔습니다.
그만큼 재미있기도 하고 듣다가 보면 집중이 확됩니다.

수업중에 뵙게되는 분들과도 어색한 분위기가 아닙니다.
첫 날은 조금 어색할진 모르지만
밥먹으면서도 서로 얘기하고 수업중에도 서로 도와가며 진행하기 때문에 어려운 분위기가 아닙니다.
강사님과도 함께 식사를 하시기 때문에
혹시 여쭤볼 것이 있거나 얘기나눌 것이 있다면 얘기 나누기도 어렵지 않습니다.

조금 더 덧붙이자면
하드웨어 개발 또는 해킹 분야로 관심은 있지만 막상 해보지 못하신 분들이 들으시면 좋을 것 같습니다.
수업이 어렵지 않고 지루하지 않아 따라가기도 편할 뿐더러 기본 잡기에 좋습니다.
이 수업을 통해 기본잡고 수업 이수 후에 원하시는 부분을 좀 더 공부하며 특화해나가실 수 있을 것 같습니다.

그렇다고 해서 수업내용이 마냥 쉬운 것은 아닙니다.
강사님께서 이해하기 쉽도록 예시도 들어가며 잘 가르쳐 주십니다.
또한, 강사님의 여러 프로젝트 경험 통한 노하우도 배워가실 수 있습니다.
그러므로 하드웨어 개발과 하드웨어 해킹에 대해 살짝쿵 알고 계신다고 하여도 좋은 수업이 될 것이라 생각됩니다.

이상으로 이 긴 글이 수업을 들을까 말까 고민하시는 분들께 조금이나마 도움이 되었길 바랍니다.
읽어주셔서 감사합니다.

강사님 수고하셨습니다. :)
    * 최**수강료가 저렴하다고 느껴질 만큼 최고의 강의 었습니다.
일단 제공되는 기기 가격만 해도 몇십만원 상당이며 그러한 기기들을 선정하는 비용 그리고 강의 자료 만으로도 강의비는 뽑고도 남습니다.
일주일에 40시간의 강의중 매 순간순간 흘릴만한 내용이 없었고 40시간이 모자라서 저녁 늦게까지 교육생들을지도 하시는 강사님의 열정에 경의를 표합니다.

그리고 강의내용이 대단한점이 오랜기간동안 하드웨어 해킹을 하면서 반드시 필요한 지식 위주로만 꽉꽉 채워진 느낌이 들었습니다. 단순한 툴 설명 보다는 실습을 통해서 핵심원리를 스스로 꺠닫게 하는 교육방식입니다. 일주일이 지난게 아쉬울 정도입니다.

보안점검하는 사람입장에서 첨언한다면 서적과 인터넷에서 보기 힘든 귀중한 팁 같은 내용들이 많이 배울수 있어서 행복한 시간이었습니다.

    * Lyddy/ Hi there! Would you mind if I share your blog with my facebook group? Th&2ee#8r17;s a lot of people that I think would really enjoy your content. Please let me know. Many thanks
    * 조영준만약 또 하드웨어 해킹과목이 개강된다면
고2도 신청할 수 있을가요?

(언제 하드웨어해킹 과목이 개강되죠? 지금 수강신청은 할 수 있던데 기간이 지나버려서)
    * 조영준만약 또 하드웨어 해킹과목이 개강된다면
고2도 신청할 수 있을가요?

(언제 하드웨어해킹 과목이 개강되죠? 지금 수강신청은 할 수 있던데 기간이 지나버려서)
    * pHqghUme1
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1MTV2vbq1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * -1 OR 2+356-356-1=0+0+0+1 --1
    * -1 OR 2+612-612-1=0+0+0+11
    * -1' OR 2+926-926-1=0+0+0+1 --1
    * -1' OR 2+711-711-1=0+0+0+1 or 'yC4QjaXm'='1
    * -1" OR 2+732-732-1=0+0+0+1 --1
    * pHqghUme
    * pHqghUme555
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * if(now()=sysdate(),sleep(15),0)1
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme
    * pHqghUme555
    * pHqghUme0'XOR(if(now()=sysdate(),sleep(15),0))XOR'1
    * pHqghUme
    * pHqghUme555
    * pHqghUme0"XOR(if(now()=sysdate(),sleep(15),0))XOR"1
    * pHqghUme
    * pHqghUme555
    * (select(0)from(select(sleep(15)))v)/*'+(select(0)f1
    * pHqghUme
    * pHqghUme555
    * pHqghUme-1 waitfor delay '0:0:15' --1
    * pHqghUme
    * pHqghUme555
    * pHqghUmemS4AQfer'; waitfor delay '0:0:15' --1
    * pHqghUme
    * pHqghUme555
    * pHqghUmeY5MDEgVP' OR 205=(SELECT 205 FROM PG_SLEEP1
    * pHqghUme
    * pHqghUme555
    * pHqghUmew067WSeF') OR 456=(SELECT 456 FROM PG_SLEE1
    * pHqghUme
    * pHqghUme555
    * pHqghUmeej5lghGc')) OR 226=(SELECT 226 FROM PG_SLE1
    * pHqghUme
    * pHqghUme555
    * pHqghUme'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(1
    * pHqghUme'"1
    * pHqghUme%2527%2522\'\"1
    * @@UuaQu1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * pHqghUme555
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme
    * pHqghUme555
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme555
    * pHqghUme
    * pHqghUme555
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme
    * pHqghUme555
    * pHqghUme
    * pHqghUme
    * pHqghUme
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555
    * pHqghUme
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555
    * pHqghUmeiAXmylEh
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555rlrrZzgE
    * pHqghUme555
    * pHqghUme
    * pHqghUme555
    * -1 OR 2+486-486-1=0+0+0+1 --
    * pHqghUme555
    * -1 OR 2+525-525-1=0+0+0+1
    * -1' OR 2+901-901-1=0+0+0+1 --
    * -1' OR 2+389-389-1=0+0+0+1 or 'inZ7hW5d'='
    * -1" OR 2+891-891-1=0+0+0+1 --
    * pHqghUme1
    * pHqghUme555
    * pHqghUme-1 OR 2+612-612-1=0+0+0+1 --
    * pHqghUme555
    * pHqghUme-1 OR 2+245-245-1=0+0+0+1
    * pHqghUme-1' OR 2+793-793-1=0+0+0+1 --
    * pHqghUme-1' OR 2+468-468-1=0+0+0+1 or 'N8CPTb1m'='
    * pHqghUme-1" OR 2+561-561-1=0+0+0+1 --
    * if(now()=sysdate(),sleep(15),0)
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555*if(now()=sysdate(),sleep(15),0)
    * pHqghUme0'XOR(if(now()=sysdate(),sleep(15),0))XOR'
    * pHqghUme1
    * pHqghUme555
    * pHqghUme5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
    * pHqghUme0"XOR(if(now()=sysdate(),sleep(15),0))XOR"
    * pHqghUme1
    * pHqghUme555
    * pHqghUme5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
    * (select(0)from(select(sleep(15)))v)/*'+(select(0)f
    * pHqghUme1
    * pHqghUme555
    * pHqghUme(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
    * pHqghUme-1 waitfor delay '0:0:15' --
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555-1; waitfor delay '0:0:15' --
    * pHqghUmetpqDiHdx'; waitfor delay '0:0:15' --
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555-1); waitfor delay '0:0:15' --
    * pHqghUmeLNUNt23N' OR 526=(SELECT 526 FROM PG_SLEEP
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555-1 waitfor delay '0:0:15' --
    * pHqghUmeLN0kZXio') OR 699=(SELECT 699 FROM PG_SLEE
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555H0JA98Nb'; waitfor delay '0:0:15' --
    * pHqghUmes67Zamx7')) OR 350=(SELECT 350 FROM PG_SLE
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555-1 OR 20=(SELECT 20 FROM PG_SLEEP(15))--
    * pHqghUme'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(
    * pHqghUme'"
    * pHqghUme%2527%2522\'\"
    * @@SjxUI
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555-1) OR 753=(SELECT 753 FROM PG_SLEEP(15))--
    * pHqghUme1
    * pHqghUme555
    * pHqghUme555-1)) OR 355=(SELECT 355 FROM PG_SLEEP(15))--
    * pHqghUme1rtojmwjm
    * pHqghUme555
    * pHqghUme5557CTC8yL0' OR 557=(SELECT 557 FROM PG_SLEEP(15))--
    * pHqghUme1
    * pHqghUme-1 OR 2+979-979-1=0+0+0+1 --
    * pHqghUme-1 OR 2+60-60-1=0+0+0+1
    * pHqghUme-1' OR 2+802-802-1=0+0+0+1 --
    * pHqghUme-1' OR 2+221-221-1=0+0+0+1 or '4RBnoP9U'='
    * pHqghUme-1" OR 2+825-825-1=0+0+0+1 --
    * pHqghUme555
    * pHqghUme555F1waTRcW') OR 405=(SELECT 405 FROM PG_SLEEP(15))--
    * pHqghUme1*if(now()=sysdate(),sleep(15),0)
    * pHqghUme555
    * pHqghUme555G1xyNilu')) OR 714=(SELECT 714 FROM PG_SLEEP(15))--
    * pHqghUme10'XOR(1*if(now()=sysdate(),sleep(15),0))XOR'Z
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    * pHqghUme555
    * pHqghUme555
    * pHqghUme10"XOR(1*if(now()=sysdate(),sleep(15),0))XOR"Z
    * pHqghUme555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    * pHqghUme555'"
    * pHqghUme555
    * pHqghUme555%2527%2522\'\"
    * pHqghUme@@zBsVX
    * pHqghUme(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
    * pHqghUme555
    * pHqghUme555
    * pHqghUme1-1; waitfor delay '0:0:15' --
    * pHqghUme555
    * pHqghUme555
    * pHqghUme1-1); waitfor delay '0:0:15' --
    * pHqghUme555
    * pHqghUme9XksR9Py555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme1-1 waitfor delay '0:0:15' --
    * pHqghUme555
    * -1 OR 2+421-421-1=0+0+0+1 --555
    * -1 OR 2+536-536-1=0+0+0+1555
    * -1' OR 2+333-333-1=0+0+0+1 --555
    * -1' OR 2+921-921-1=0+0+0+1 or 'zXLetYid'='555
    * -1" OR 2+181-181-1=0+0+0+1 --555
    * pHqghUme555
    * pHqghUme1tQyPOazX'; waitfor delay '0:0:15' --
    * if(now()=sysdate(),sleep(15),0)555
    * pHqghUme555
    * pHqghUme1-1 OR 247=(SELECT 247 FROM PG_SLEEP(15))--
    * pHqghUme0'XOR(if(now()=sysdate(),sleep(15),0))XOR'555
    * pHqghUme555
    * pHqghUme1-1) OR 153=(SELECT 153 FROM PG_SLEEP(15))--
    * pHqghUme0"XOR(if(now()=sysdate(),sleep(15),0))XOR"555
    * pHqghUme555
    * pHqghUme1-1)) OR 774=(SELECT 774 FROM PG_SLEEP(15))--
    * (select(0)from(select(sleep(15)))v)/*'+(select(0)f555
    * pHqghUme555
    * pHqghUme19SOg3k2e' OR 946=(SELECT 946 FROM PG_SLEEP(15))--
    * pHqghUme-1 waitfor delay '0:0:15' --555
    * pHqghUme555
    * pHqghUme1P7yKfFAq') OR 355=(SELECT 355 FROM PG_SLEEP(15))--
    * pHqghUmedPOQ1GII'; waitfor delay '0:0:15' --555
    * pHqghUme555
    * pHqghUme1ORhb0Du2')) OR 480=(SELECT 480 FROM PG_SLEEP(15))--
    * pHqghUme3i1PFWhi' OR 517=(SELECT 517 FROM PG_SLEEP555
    * pHqghUme555
    * pHqghUme1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    * pHqghUmenyMiFW2m') OR 298=(SELECT 298 FROM PG_SLEE555
    * pHqghUme555
    * pHqghUme1'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    * pHqghUme1'"
    * pHqghUme1%2527%2522\'\"
    * pHqghUme@@TCQ7O
    * pHqghUmeW3upzmrq')) OR 88=(SELECT 88 FROM PG_SLEEP555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(555
    * pHqghUme'"555
    * pHqghUme%2527%2522\'\"555
    * @@fJMJo555
    * pHqghUme555
    * pHqghUme555
    * pHqghUme555alLmfO6B
    * pHqghUme555
    * pHqghUme-1 OR 2+879-879-1=0+0+0+1 --
    * pHqghUme-1 OR 2+807-807-1=0+0+0+1
    * pHqghUme-1' OR 2+662-662-1=0+0+0+1 --
    * pHqghUme-1' OR 2+607-607-1=0+0+0+1 or 'eXmuYeMZ'='
    * pHqghUme-1" OR 2+855-855-1=0+0+0+1 --
    * pHqghUme555*if(now()=sysdate(),sleep(15),0)
    * pHqghUme5550'XOR(555*if(now()=sysdate(),sleep(15),0))XOR'Z
    * pHqghUme5550"XOR(555*if(now()=sysdate(),sleep(15),0))XOR"Z
    * pHqghUme(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
    * pHqghUme555-1; waitfor delay '0:0:15' --
    * pHqghUme555-1); waitfor delay '0:0:15' --
    * pHqghUme555-1 waitfor delay '0:0:15' --
    * pHqghUme555eq6wfGng'; waitfor delay '0:0:15' --
    * pHqghUme555-1 OR 562=(SELECT 562 FROM PG_SLEEP(15))--
    * pHqghUme555-1) OR 591=(SELECT 591 FROM PG_SLEEP(15))--
    * pHqghUme555-1)) OR 542=(SELECT 542 FROM PG_SLEEP(15))--
    * pHqghUme555PehJuOvV' OR 115=(SELECT 115 FROM PG_SLEEP(15))--
    * pHqghUme555nCWPOJ01') OR 651=(SELECT 651 FROM PG_SLEEP(15))--
    * pHqghUme555549hOtNO')) OR 801=(SELECT 801 FROM PG_SLEEP(15))--
    * pHqghUme555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
    * pHqghUme555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
    * pHqghUme555'"
    * pHqghUme555%2527%2522\'\"
    * pHqghUme@@lzX3Y
    * pHqghUme555
    * pHqghUme555
    * pHqghUme5NdRmmc9555
    * pHqghUme555
    * -1 OR 2+895-895-1=0+0+0+1 --555
    * -1 OR 2+532-532-1=0+0+0+1555
    * -1' OR 2+354-354-1=0+0+0+1 --555
    * -1' OR 2+843-843-1=0+0+0+1 or 'rKRDYdlC'='555
    * -1" OR 2+573-573-1=0+0+0+1 --555
    * if(now()=sysdate(),sleep(15),0)555
    * pHqghUme0'XOR(if(now()=sysdate(),sleep(15),0))XOR'555
    * pHqghUme0"XOR(if(now()=sysdate(),sleep(15),0))XOR"555
    * (select(0)from(select(sleep(15)))v)/*'+(select(0)f555
    * pHqghUme-1 waitfor delay '0:0:15' --555
    * pHqghUmeVwKrM2hn'; waitfor delay '0:0:15' --555
    * pHqghUmeKC6uSiDi' OR 856=(SELECT 856 FROM PG_SLEEP555
    * pHqghUmejkaXXV30') OR 591=(SELECT 591 FROM PG_SLEE555
    * pHqghUmevqH6h148')) OR 371=(SELECT 371 FROM PG_SLE555
    * pHqghUme'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(555
    * pHqghUme'"555
    * pHqghUme%2527%2522\'\"555
    * @@EF0BF555
    * pHqghUme555
    * pHqghUme1
    * pHqghUme555
    * pHqghUme
  * 작성자:       * 소속:       * 이메일:
   (성함, 혹은 닉네임을 입력해주세요. 입력해주신 정보들 중 작성자와 후기만 공개됩니다.)