một thời gian trở lại, tôi đã soạn một bài viết về Malduino, một thiết bị Badusb nguồn mở, dựa trên Arduino. Tôi phát hiện ra công việc hấp dẫn vì vậy tôi đã đăng ký một phiên bản ưu tú cũng như đủ chắc chắn, người đưa thư thân thiện đã bỏ nó trong hộp thư của tôi vào thứ Sáu tuần trước, có nghĩa là tôi phải chơi xung quanh với nó vào cuối tuần. Đối với những người đã bỏ lỡ bài viết, Malduino là tiện ích USB có thể mô phỏng bàn phím cũng như chích tổ hợp phím, trong số những thứ khác. Khi trong một vỏ thích hợp, nó sẽ trông giống như ổ flash USB. Giống như những thứ bạn nhìn thấy trong những bộ phim nơi một anh chàng cắm vào một thiết bị cũng như nó tự động hack máy tính. Nó di chuyển trong hai phiên bản, Lite cũng như ưu tú, cả hai đều dựa trên ATMEGA32U4.

Phiên bản Lite thực sự nhỏ, bên cạnh đầu nối USB, nó chỉ chứa một công tắc, cho phép cá nhân chọn giữa chạy cũng như chế độ lập trình, cũng như đèn LED, cho biết khi kịch bản đã hoàn thành chạy.

Bản phác thảo bản gốc Malduino Elite cũng như nguyên mẫu Lite
Phiên bản ưu tú lớn hơn, bao gồm một khách truy cập thẻ micro-SD cũng như bốn công tắc DIP, cho phép cá nhân chọn tập lệnh nào để chạy từ thẻ. Nó cũng có đèn LED, cho biết khi nào một tập lệnh đã hoàn thành để chạy. Điều này cho phép cá nhân chỉ đổ phần sụn chỉ khi chương trình các tập lệnh tiêm tổ hợp phím giữ trong thẻ Micro-SD, trái ngược với phiên bản Lite cần được flash mỗi khi một cách một chính xác một kịch bản khác.

Đây là hai Malduinos cũng như kể từ khi chúng được lập trình trực tiếp từ IDE arduino, mọi chức năng tôi vừa đề cập có thể được lập trình lại, tái sử dụng hoặc thả tất cả lại với nhau. Bạn có thể mua một cái cũng như chỉ cần chọn để sử dụng nó giống như Arduino ‘bình thường’, mặc dù không có nhiều ghim để chơi xung quanh. Sự linh hoạt này là một trong những điều đầu tiên tôi thích về nó cũng như thực sự khiến tôi tham gia vào chiến dịch tài trợ đám đông. kiểm tra để xem xét đầy đủ.

Phần cứng

Ổ đĩa flash malduino ưu tú vs usb
Vì vậy, bảng ưu tú xuất hiện dưới dạng thói quen cũng như tôi phát hiện ra mình một thời gian dài để nhìn nó. Mặc dù có thời gian dài hơn phiên bản Lite, nó vẫn còn khá nhỏ, kích thước khoảng 4,6 cm x 1,1 cm (khoảng 1,8 trong x 0,43 in), bạn có thể nhanh chóng thích ứng với vỏ USB cũ, mặc dù bạn sẽ phải cắt một số Lỗ cho các công tắc DIP cũng như thẻ Micro-SD. Trong chiến dịch tài trợ đám đông, bản phác thảo ban đầu là cho một phiên bản 3 công tắc DIP, tuy nhiên ưu tú cuối cùng có bốn, mà tôi phát hiện ra tốt đẹp. Tôi đã cắm nó vào một máy tính cũ, sau khi xem xét về phần sụn đó, nó có thể xuất xưởng cũng như những gì nó có thể làm với máy tính xách tay của tôi, cũng như chắc chắn đủ một đèn LED màu đỏ xuất hiện. Cũng như đó là nó. không có gì khác

Sau khi chơi xung quanh với các thiết bị chuyển mạch cũng như tập thể dục một số RTFM, tôi nhận ra rằng phần sụn mà nó được vận chuyển rất có thể là một loại Q.C. Kiểm tra cho các Dips, làm cho Malduino xuất ra các số từ 1 đến 4 (thực sự mô phỏng một phím nhấn 1 đến 4), tùy thuộc vào các công tắc đang bật. Cho đến nay rất tốt, nó hoạt động tốt như tôi đã thấy bảng PCB tồi tệ hơn so với cái này. Bảng có lỗ hổng cho sáu chân, mà tôi không theo dõi bộ điều khiển vi mô cũng như tôi không hiểu chúng là gì.

Các thiết lập

Thiết lập nhu cầu Malduino mà bạn đã cài đặt Arduino IDE cũng như ngày càng nhiều. Bạn sẽ yêu cầu mở Trình quản lý hội đồng quản trị cũng như thiết lập bảng Sparkfun vì ưu tú được lập trình như một ‘Sparkfun Pro Micro’ chạy ở tốc độ 3,3 V cũng như 8 MHz. Sau đó, bạn yêu cầu để đi trang web chuyển đổi script Malduino phục vụ một số mục đích:

Nó cho phép chuyển đổi các tập lệnh giữa các phiên bản Lite cũng như ưu tú

Nó cho phép bạn chọn ngôn ngữ thiết kế bàn phím của bạn

Nó tự động tạo ra công việc Arduino để bạn nhập vào IDE

Đối với phiên bản ưu tú, chỉ cần tạo một tập lệnh đơn giản hoặc thậm chí trống để tải xuống dự án, kể từ khi hoạt động ‘bình thường’, bạn sẽ flash Malduino khi cũng như sau đó sử dụng thẻ Micro-SD để lưu trữ các tập lệnh mới.

Một lưu ý về flash, nếu bạn sử dụng phân phối dựa trên Debian, bạn có thể gặp phải một số vấn đề như tôi cũng như không thể flash thiết bị. Giống như cá nhân trong bài viết hữu ích nhất này, người quản lý modem của tôi đã cố gắng nói chuyện với Malduino sau mỗi lần thiết lập lại cũng như bối rối cho Avrdude đến chết. Giải pháp là thêm các quy tắc của UDEV vào “/etc/udev/rules.d/77-mm-usb-device-blacklist-local.rules”, Kudos để [Socrim]:

1.
2.
3.
4
5.
6.
7.
số 8
Hành động! = & Quot; thêm | thay đổi & quot ;, goto = & quot; mm_usb_device_blacklist_local_end & quot;
Hệ thống con! = & Quot; usb & quot ;, goto = & quot; mm_usb_device_blacklist_local_end & quot;
Env {devtype}! = & Quot; usb_device & quot ;, goto = & quot; mm_usb_device_blacklist_local_end & quot;

Attrs {idvendor} == & quot; 1b4f & quot; Attrs {iDproduct} == & quot; 9204 & quot ;, env id_mm_device_ignore} = & quot; 1 & quot;
Attrs {idvend.hoặc} == & quot; 1b4f & quot; Attrs {iDproduct} == & quot; 9203 & quot ;, env id_mm_device_ignore} = & quot; 1 & quot;

Nhãn = & quot; mm_usb_device_blacklist_local_end & quot;

Phần mềm

Vì tôi đang chạy Linux, một phím tắt nhanh để chạy một lệnh là sự kết hợp ALT-F2. Vì vậy, tôi kịch bản đó vào một dữ liệu cũng như lưu nó vào 1111.txt. Elite tìm kiếm thẻ Micro-SD cho dữ liệu tương ứng với trạng thái chuyển đổi DIP hiện tại. cho phép nêu công tắc DIP 2 cũng như 4 đang bật. Trong trường hợp này, ứng dụng phần mềm cố gắng khám phá dữ liệu có tên 0101.txt cũng như phân tích nội dung của nó (như trong lệnh chuyển đổi DIP 1,2,3,4 cũng như không phải là biểu diễn nhị phân của số 2 cũng như 4 ). Khi nó kết thúc, đèn LED màu đỏ bắt đầu nhấp nháy nhanh chóng. Kịch bản đơn giản của tôi là:

1.
2.
3.
4
5.
6.
7.
số 8
9.
10.
Trì hoãn 2000.
Alt f2.
Trì hoãn 1000.
Chuỗi xterm.
Trì hoãn 1000.
ĐI VÀO
Trì hoãn 1000.
Chuỗi ID.
Trì hoãn 1000.
ĐI VÀO

Nhưng nó không hoạt động. Hầu như tất cả các lệnh đã làm việc tuy nhiên Combo Alt-F2 không hoạt động đúng. Đóng, tuy nhiên không có xì gà. Không có cửa sổ Alt-F2, không chạy lệnh. Tôi đã lười biếng đã duyệt mã nguồn một chút vì tôi thực sự không có nhiều thời gian trên bàn tay của mình tuy nhiên tôi cần tìm ra điều này. Mã vi phạm là đây:

1.
2.
3.
4
5.
6.
khác nếu (bằng (s, e, & quot; f1 & quot;, 3))) bàn phím.press (key_f1); & lt; / pre & gt;

khác nếu (bằng (s, e, & quot; f2 & quot;, 3)) bàn phím.press (key_f2);

khác nếu (bằng (s, e, & quot; f10 & quot;, 3)) bàn phím.press (key_f10);
khác nếu (bằng (s, e, & quot; f11 & quot;, 3)) bàn phím.press (key_f11);

Một hàm tương đương tùy chỉnh đã nhận được kích thước 3 cho các chuỗi của các phím chức năng, như “F2”. “F10”, “F11” cũng như “F12”, tuy nhiên đã thất bại cho phần còn lại của các phím. Thay đổi 3 đến 2 đã lừa, tuy nhiên thiết kế bàn phím Bồ Đào Nha của tôi bắt đầu can thiệp vào các kịch bản thử nghiệm khác. Vì vậy, tôi đã thay đổi mã để bao gồm PT cũng như bố cục của Vương quốc Anh, thay đổi chúng trong #define tại thời điểm biên dịch.

Sẽ thật tuyệt vời nếu có thể có quyền truy cập vào thẻ SD từ máy tính dưới dạng ổ USB thông thường. Tôi không hiểu chính xác chính xác mức độ khả thi của nó, tuy nhiên nó không bao gồm phần sụn hiện tại. Tôi vẫn muốn có khả năng xuất dữ liệu của một dữ liệu tùy ý trên thẻ SD vào màn hình, vì vậy tôi đã thêm một chức năng script nữa có tên EchofileHex xuất ra tài liệu của dữ liệu trong thẻ SD dưới dạng ký tự Getaway. Ví dụ: nếu dữ liệu A.txt chứa “aaa”, lệnh script echofilehex a.txt sẽ xuất “\ x41 \ x41 \ x41”. Điều này có thể hữu ích cho dữ liệu nhị phân echo vào printf hoặc echo -e, trong Linux chứa ít nhất.

Trong khi đó, tôi gặp một số khó khăn khi đọc mã gốc. Bạn biết đấy, tất cả chúng ta đều có phong cách lập trình khác nhau. Đừng hiểu lầm tôi, tôi đã được hiểu là sáng tác một số mã spaghetti lộn xộn. Đôi khi tôi tìm kiếm các công việc cũ tìm kiếm một số lib hoặc các lớp tôi đã mã hóa cũng như câu hỏi ‘Ai là cái quái gì đã sáng tác ngăn xếp mã hấp dẫn này?’ Tôi, đó là tôi. Dù sao, tôi bắt đầu sửa đổi một chút ngay tại đây cũng như cuối cùng cũng như đã thay đổi toàn bộ toàn bộ mã. Đó là vẻ đẹp cũng như lời nguyền của nguồn mở. Nếu bạn tò mò bạn có thể kiểm tra nó ở đây.

Phần kết luận

Tất cả trong tất cả, cũng như bất chấp một số va chạm, tôi khá vui mừng với Malduino. Đó là những gì tôi mong đợi: một nền tảng mở cho các cuộc tấn công Badusb đang ở giai đoạn trứng nước. Thật đáng kinh ngạc khi tất cả chúng ta có thể tinker với nó, tùy chỉnh nó, làm cho nó tốt hơn nhiều hoặc chỉ làm cho nó phù hợp với nhu cầu của chúng tôi. Tôi hy vọng một khu phố chính hãng có thể bắt đầu để chúng ta có thể thấy sự xuất hiện triển vọng đầy đủ của nó. Danh sách ngắn của tôi bao gồm mô phỏng các thiết bị USB khác, quản lý thẻ SD tốt hơn nhiều, cũng như mở rộng tiện ích thông qua các chân chưa sử dụng. Bạn sẽ thêm gì?

Đó là một phương pháp dài để đi cũng như một thỏa thuận tuyệt vời có thể sai, thật may mắn với công việc [Seytonic]!

Leave a Reply

Your email address will not be published. Required fields are marked *