A 동안, 나는 Arduino 기반 오픈 소스 BadusB 장치 인 Malduino에 대한 기사를 구성했습니다. 나는 매혹적인 일을 발견 했으므로 엘리트 버전에 가입했을뿐만 아니라 지난 금요일에 우편물 상자에서 우편물 상자에서 그것을 떨어 뜨렸을 때, 주말에 걸릴 수 있음을 의미합니다. 말도인은 기사를 놓친 사람들을 위해 USB 가제트이며 키보드를 에뮬레이트 할 수있을뿐만 아니라 키 입력을 주입 할 수 있습니다. 적절한 케이싱에서는 USB 플래시 드라이브처럼 보일 것입니다. 가제트가뿐만 아니라 컴퓨터를 자동 해킹하는 영화에서 볼 수있는 영화에서 볼 수있는 것과 같습니다. 그것은 ATMEGA32U4를 기반으로 한 두 가지 버전, Lite뿐만 아니라 엘리트뿐만 아니라 엘리트를 배송합니다.
Lite 버전은 진정으로 작습니다. USB 커넥터 외에도 스위치가 포함되어 있으며 스크립트가 실행중인시기를 나타내는 LED뿐만 아니라 프로그래밍 모드와 프로그래밍 모드와 LED를 선택할 수 있습니다.
원래 원두노 엘리트 스케치와 Lite 프로토 타입
엘리트 버전은 더 크고, 마이크로 SD 카드 방문자와 4 개의 DIP 스위치가 포함되어있어 개인이 카드에서 실행할 스크립트를 선택할 수있게 해줍니다. 마찬가지로 스크립트가 실행되도록 완료 될 때를 나타내는 LED가 있습니다. 이렇게하면 개인이 다른 스크립트를 실행하려는 매번 깜박일 필요가있는 라이트 버전과는 대조적으로 마이크로 SD 카드에 보관 한 키 스트로크 주입 스크립트를 프로그래밍 할 때만 개인이 펌웨어를 던지게 할 수 있습니다.
이것들은 두 가지 말두이노뿐만 아니라 방금 언급 한 모든 기능을 다시 프로그래밍하고 재확인하거나 모두 함께 떨어 뜨릴 수 있습니다. 당신은 하나의 핀을 ‘정상적인’Arduino처럼 사용할 수 있도록 선택할 수 있습니다. 이러한 유연성은 내가 그것에 대해 좋아하는 첫 번째 것들이 있었고, 정말로 군중 자금 캠페인에 참여하기 위해 나를 몰아 냈습니다. 전체 리뷰를 확인했습니다.
하드웨어
Malduino elite vs USB 플래시 드라이브
그래서 엘리트 보드는 일상적으로 나타나는 것뿐만 아니라 내가 그것을 보는 오랜 시간을 발견했습니다. Lite 버전보다 오래 걸리지 만, 여전히 작게 작아서 약 4.6cm x 1.1cm (약 1.8 in x 0.43 in)을 측정하므로 오래된 USB 케이스에 신속하게 적응할 수 있습니다. DIP 스위치뿐만 아니라 마이크로 SD 카드 용 구멍. 군중 자금 조달 캠페인에서 원래의 스케치는 3 개의 DIP 스위치 버전을위한 것이었지만 최종 엘리트는 4 가지가 있습니다. 나는 그것이 어떤 펌웨어를 배송 할지도 모른다뿐만 아니라 노트북에 할 수있는 것도뿐만 아니라 적색 LED가 나타나는지 확실히 고려한 후에 이전 컴퓨터에 꽂았습니다. 그게뿐만 아니라 그랬어요. 아무것도 아닙니다.
스위치로 연주 한 후 RTFM을 운동하는 것뿐만 아니라 펌웨어가 제공하는 펌웨어가 Q.C의 종류가 가장 가능성이 있음을 깨달았습니다. 딥을 테스트하는 것은 Malduino가 숫자 1에서 4 (실제로 키 누르기 1에서 4를 실제로 시뮬레이트)로 출력하는 딥을 테스트합니다. 지금까지 그렇게 잘해서, 그것은 내가이 것보다 더 나쁜 PCB 보드를 보았을뿐만 아니라 작동합니다. 이사회에는 6 핀을위한 구멍이 있습니다. 나는 마이크로 컨트롤러로 추적하지 않았으며, 내가 무엇을 위해 무엇을 이해하지 못하는지 이해하지 못했습니다.
설정
Malduino를 설정하면 Arduino IDE가 설치되어 있고 날짜만큼 많이 설치해야합니다. 엘리트가 3.3 V와 8MHz에서 실행되는 ‘SparkFun Pro Micro’로 프로그래밍 된 이래로 보드 매니저를 개설 할 필요가있을뿐만 아니라 SparkFun 보드를 설정해야합니다. 그런 다음 여러 가지 목적을 제공하는 Malduino 스크립트 변환기 웹 사이트에 가야합니다.
Lite와 엘리트 버전간에 스크립트를 변환 할 수 있습니다.
키보드 디자인 언어를 선택할 수 있습니다
IT 자동으로 Arduino 작업을 생산하여 IDE로 가져올 수 있습니다.
엘리트 버전의 경우 ‘보통’작업을 수행 할 때 Malduino를 깜박 만 사용하여 새 스크립트를 저장하려면 Micro-SD 카드를 사용하면 메시지를 다운로드 할 수있는 간단하거나 빈 스크립트를 작성하십시오.
깜박임에 대한 메모, 데비안 기반 배포판을 사용하는 경우, 장치를 플래시 할 수 없을뿐만 아니라 어떤 문제를 해결할 수 있습니다. 이 가장 유용한 게시물의 개인과 마찬가지로 모뎀 관리자는 모든 재설정 후 Malduino와 이야기하려고했으며 혼란스러운 Avrdude가 죽음에 혼란스러워했습니다. 솔루션은 UDEV 규칙을 “/etc/udev/rules.d/77-mm-usb-device-blacklist-local.rules”에 추가하는 것, Kudos to [socrim] :
1
2
삼
4.
5.
6.
7.
8.
동작! = “변경”, goto = “mm_usb_device_blacklist_local_end”
서브 시스템! = “USB”, GOTO = “MM_USB_DEVICE_BLACKLIST_LOCAL_END”
ev {devtype}! = “usb_device”, goto = & quot; mm_usb_device_blacklist_local_end ”
attrs {Idvendor} == “1B4F” attrs {IDProduct} == “9204”, env {id_mm_device_ignore} = “1”
attrs {Idvend.또는} == “1B4F” attrs {IdProduct} == “9203”, env {id_mm_device_ignore} = “1”
label = & quot; mm_usb_device_blacklist_local_end ”
소프트웨어
Linux를 실행하고 있으므로 명령을 실행하는 빠른 바로 가기는 ALT-F2 조합입니다. 그래서 나는 그것을 1111.txt로 저장하고 그것을 데이터로 저장합니다. 엘리트는 현재 딥 스위치 상태에 해당하는 데이터에 대해 마이크로 SD 카드를 검색합니다. 딥 스위치 2뿐만 아니라 4뿐만 아니라 딥 스위치 2를 설정합니다. 이 경우 소프트웨어 응용 프로그램은 0101.txt라는 데이터를 발견하려고 시도하고 (DIP 스위치 오더 1,2,3,4뿐만 아니라 숫자 2뿐만 아니라 2 진 표현이 아닌). ~의 완료되면 빨간색 LED가 빨리 깜박이기 시작합니다. 내 간단한 스크립트는 다음과 같습니다.
1
2
삼
4.
5.
6.
7.
8.
9.
10.
지연 2000.
Alt F2.
지연 1000.
문자열 xterm.
지연 1000.
입력하다
지연 1000.
문자열 ID.
지연 1000.
입력하다
그러나 그것은 작동하지 않았습니다. 그러나 거의 모든 명령이 일했지만 ALT-F2 콤보가 제대로 작동하지 않았습니다. 그러나 시가가 없어. ALT-F2, 실행 명령 창이 없습니다. 나는 이미 나의 손에 큰 시간이 걸리지 않았지만, 이것을 알아 낼 필요가 없었기 때문에 이미 소스 코드를 조금만 탐색했습니다. 문제가되는 코드는 다음과 같습니다.
1
2
삼
4.
5.
6.
else (equals (s, e, “f1”, 3)) 키보드. express.press (key_f1); & lt; / pre & gt;
else (s, e, “f2”, 3)) 키보드. (key_f2);
…에 …
else (s, e, “f10”, 3)) 키보드. (key_f10);
else (s, e, “f11”, 3)) 키보드. (key_f11);
사용자 정의 equals 함수는 “F2″와 같은 기능 키의 문자열에 대해 크기 3을 얻었습니다. “F10”, “F11″뿐만 아니라 “F12″의 경우 나머지 키가 실패했습니다. 3 ~ 2를 변경하면 트릭을 수행했지만 내 포르투갈어 키보드 디자인이 다른 테스트 스크립트를 방해하기 시작했습니다. 그래서 나는 PT와 영국 레이아웃을 포함하도록 코드를 변경하여 컴파일 된 시간에 #Define에서 변경했습니다.
컴퓨터에서 일상적인 USB 볼륨으로 SD 카드에 액세스 할 수있는 경우 굉장합니다. 나는 정확하게 정확히 얼마나 실현 가능한지 이해하지 못하지만 현재의 펌웨어가 포함되어 있지 않습니다. 나는 SD 카드의 임의의 데이터의 재료를 화면으로 출력 할 수 있기를 원했기 때문에 SD 카드의 데이터 재료를 출발하는 문자를 출력하는 EchofileHex라는 스크립트 함수를 추가했습니다. 예를 들어, 데이터 A.txt에 “AAA”가 포함되어 있으면 script 명령 echofilehex a.txt는 “\ x41 \ x41 \ x41″을 출력합니다. 이는 Linux에서 PRINTF 또는 ECHO -E에 이진 데이터를 에코 (printf 또는 echo -e)에 유용 할 수 있습니다.
그 사이에, 나는 원래 코드를 읽는 데 어려움이있었습니다. 알다시피, 우리 모두는 다른 프로그래밍 스타일을 가지고 있습니다. 나를 틀리게하지 마십시오. 몇 가지 엉망으로 된 스파게티 코드를 구성하는 것으로 이해되었습니다. 나는 때로는 오래된 일자리를 찾고있는 오래된 일들을 찾고 있습니다. 나는 코딩 된 몇 가지 libs 또는 클래스를 찾고 똑같은 김이있는 코드를 구성한 사람이 있습니까? ‘나, 그것은 나였습니다. 어쨌든, 나는 여기서 조금만 수정하기 시작했고, 그곳에서 전체 코드를 훨씬 많이 변경하는 것으로 끝났습니다. 그것은 오픈 소스의 저주뿐만 아니라 아름다움입니다. 당신이 호기심을 느끼면 여기서 그것을 검사 할 수 있습니다.
결론
모든뿐만 아니라 일부 범프에도 불구하고, 나는 Malduino로 오히려 기쁘게 생각합니다. 그것은 제가 예상했던 것입니다 : 유아기에있는 Badusb 공격을위한 공개 플랫폼. 우리가 모든 땜장이가 있는데, 그것을 맞춤화하고, 그것을 훨씬 더 좋게 만들거나, 우리의 요구에 맞게 만드는 것은 놀라운 것입니다. 진짜 이웃이 시작될 수 있기를 바랍니다. 내 짧은 목록에는 다른 USB 장치를 시뮬레이션하는 것이 포함되어 있으며 미사용 핀을 통해 가젯을 훨씬 향상시킵니다. 무엇을 추가하겠습니까?
그것은뿐만 아니라뿐만 아니라 틀릴 수있는 긴 방법입니다. 그래서 일자리와 함께 행운을 빕니다 [Seytonic]!