Სარჩევი:

Generic Switch Hijacker: 3 Steps
Generic Switch Hijacker: 3 Steps

ვიდეო: Generic Switch Hijacker: 3 Steps

ვიდეო: Generic Switch Hijacker: 3 Steps
ვიდეო: 3 07 COM Hijacking Techniques David Tulis 2024, ნოემბერი
Anonim
Generic Switch Hijacker
Generic Switch Hijacker

ეს სტატია აღწერს თუ როგორ უნდა ავაშენოთ მყარი მდგომარეობის მიკროკონტროლის მოწყობილობა, რომელიც აკონტროლებს ფიზიკურ გადამრთველებს. მისი დამზადება ძალიან იაფია (დაახლოებით 4 დოლარი), თუკი გყავთ მიკროკონტროლერის პროგრამისტი. წრე თავისთავად უმნიშვნელო სირთულისაა.

ეს პროექტი არის ძალიან მარტივი და არ მოიცავს განსაცვიფრებელ ახალ ტექნიკას. ეს იქნება კარგი პირველი მიკროკონტროლის პროექტი. ასამბლეის კოდს მოგაწვდით ამ სტატიაში. მე მართლა მაგარი უფროსი მყავს სამსახურში. ზოგჯერ ჩვენ გვსურს ერთმანეთზე პრაქტიკული ხუმრობები. მისდა სამწუხაროდ, მე მეცნიერი ვარ. ჩემი მიზანი აქ არის, რომ სამუშაო ადგილზე სხვადასხვა მოწყობილობები იდუმალებით ჩართონ მოკლე დროში. რადიოები, ხმაურიანი პრინტერები, თუნდაც ის შემაშფოთებელი მუსიკალური დაბადების დღის ბარათები, რომლებიც დამალულია რაიმე ჩვეულებრივ ობიექტში. უფრო მეტიც, პროექტი არის მაგალითი იმისა, თუ როგორ აკონტროლებთ AVR– ით უფრო დიდ დატვირთვას, ვიდრე გამომავალი ქინძისთავები გაუმკლავდებიან საკუთარ თავს. ეს არის მრავალფეროვანი რამ, რადგან გამომავალი ქინძისთავები გაძლევთ მხოლოდ მცირე ძაბვას და ძალიან შეზღუდულ დენს. ეს წრე შეიძლება გაფართოვდეს სარელეოთი მართლაც ძალიან მძიმე ტვირთის გასაკონტროლებლად.

ნაბიჯი 1: დიზაინი და წრე

დიზაინი და წრე
დიზაინი და წრე

ამ პროექტისთვის შეგიძლიათ გამოიყენოთ თითქმის ნებისმიერი მიკროკონტროლერი, 5 ვ ძაბვის რეგულატორი და NPN ტრანზისტორი. Მე გამოვიყენე:

1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v ძაბვის რეგულატორი (~ 0.7 $) 1x N2222 ტრანზისტორი (~ 0.07 $) 1x 9v ბატარეა, ან 12v დისტანციური მართვის ბატარეა სივრცის დაზოგვისთვის … და რა თქმა უნდა ჩემი სანდო STK500, ახლა უკვე ZIF- ით სოკეტები დაემატა! ძირითადი დიზაინი ასეთია: მიკროკონტროლერი გადის დროის ორ მარყუჟს. გრძელი მარყუჟი მოწყობილობის ჩართვის დროსა და მოკლე მარყუჟი მოწყობილობის ჩართვის ხანგრძლივობის დასადგენად. როდესაც დროა გამოიწვიოს უბედურება, მიკროკონტროლერი აგზავნის ლოგიკას მაღალ პინ 14 -ს (PORTA- ს უმნიშვნელო მნიშვნელოვანი ბიტი). ეს ათავისუფლებს ტრანზისტორს. თუ თქვენ ჩართავთ დამჭერებს გადამრთველზე, ეს იწვევს, რომ ამომრთველზე წინააღმდეგობა მოულოდნელად დაეცემა ძალიან მაღალიდან 1 ომზე ნაკლებზე, რაც საკმარისია მოწყობილობების უმეტესობისთვის, რომ განიხილონ ჩართვა. გაითვალისწინეთ, რომ ტრანზისტორები ასევე დიოდებია, ასე რომ, თუ ის არ მუშაობს … დამჭერების პოლარობა ალბათ არასწორია, შეცვალეთ ისინი! ასევე, ეს მოწყობილობა მოითხოვს ღირსეულ 9 ვ ბატარეას, ვთქვათ, 8 ვ -ზე მეტი პოტენციალი დარჩა … გარდა იმისა, რომ ის არ ხარჯავს დიდ ენერგიას. არსებობს ბევრი გამოუყენებელი ქინძისთავები, ასე რომ თქვენ, რა თქმა უნდა, შეგიძლიათ მათი გამოყენება მეტი ქაოსისთვის მეტი კონცენტრატორის გასაკონტროლებლად, მაგრამ ეს საკმარისი იყო ჩემი მიზნებისათვის. შემდეგი ნაბიჯი არის წყაროს კოდი, რომელიც დავწერე ამ საქმის გასაგრძელებლად. "ჩართული" და "გამორთული" მდგომარეობების ნაგულისხმევი ხანგრძლივობაა დაახლოებით 10 წამი და 13 წუთი. კოდში არის კომენტარები, თუ როგორ უნდა შეიცვალოს ეს ღირებულებები. დაბოლოს, გთხოვთ, გაამართლოთ "nop" ფუნქციის ფართო გამოყენება (ის ხარჯავს პროცესორის ციკლს არაფერში) ტაიმერების შესწორების მიზნით. ის არალეგალურია, რადგან მას შეუძლია დაარღვიოს rjmp ფუნქცია, თუ არ ხართ ფრთხილად რამდენს იყენებთ!

ნაბიჯი 2: წყაროს კოდი

დაწყება:

. ჩართე "tn26def.inc"; განსაზღვრის ფაილი. მოიძიეთ Google, თუ გჭირდებათ ასლი. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 გარეთ DDRA, r27 გარეთ PORTA, r28 დრო: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop nop npi cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop nop nop nop nop nop nop nop nop nop inc r r29 cpi r29, 0b1111 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r25 cpi r25, 0b11111111; შეამცირეთ ეს რიცხვი "off" დროის შემცირების მიზნით FUNC rjmp TIMER FUNC: nop nop cpi r28, 0x00 breq FUNC2 dec r28 clr r30 clr r29 clr r25 out PORTA, r28 rjmp TIMER FUNC2: nop nop inc r28 out PORTA, r28 clr r25 clr r30 clr r29 rjmp TIMER4 TIMER4: inc r30 nop nop nop nop nop nop არა nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; გაზარდეთ ეს რიცხვი "on" time breq FUNC rjmp TIMER4 გასაზრდელად

ნაბიჯი 3: საბოლოო შენიშვნა

გაერთეთ, მაგრამ გახსოვდეთ, რომ ტრანზისტორს აქვს შეზღუდვები იმის შესახებ, თუ რამდენი ენერგიის ტუმბო შეგიძლიათ მასში. ეს ნიშნავს, რომ არ არსებობს ძაბვა! გარდა იმისა, რომ ის ძალიან სწრაფად გადატვირთავდა ტრანზისტორს, ეს მოწყობილობა კარგად ვერ გააკონტროლებს ალტერნატიულ სიგნალებს … თუ ქვემოთ არ გამოიყენებთ ქვემოთ მოყვანილ მოდიფიკაციას * და * დაამატეთ რელე ძირითადი ფირფიტა დაკავშირებულია იმავე წყაროსთან, როგორც პირველი ტრანზისტორი, მაგრამ კოლექტორი და გამცემი საპირისპირო კონფიგურაციით. ამ გზით, რაც არ უნდა დამაგრდეს დამჭერები, მიკროკონტროლერიდან გამოსული ლოგიკა ყოველთვის "ჩართავს" გადამრთველს. გაითვალისწინეთ, რომ ამ სისტემაში გაჟონვის დენი შეიძლება იყოს საკმარისი იმისათვის, რომ გააქტიუროთ ზოგიერთი მგრძნობიარე გადამრთველი, როგორიცაა კლავიატურის მატრიცები, შეიძლება დაგჭირდეთ სერიის წინააღმდეგობის დამატება ამ პროგრამისთვის. დაიმახსოვრე, რომ ბატარეის გამოყენების ნაცვლად შეგიძლიათ ენერგიის ამოღება სამიზნე მოწყობილობიდან. და ბოლოს … მე დავაყენე მოწყობილობა უძველესი აღრიცხვის კალკულატორის შიგნით, ტიპი, რომელსაც აქვს ბეჭდვის ფუნქციები. მე გადავაბრუნე ინჟინერია კლავიატურის მატრიცა ქაღალდის სამაგრის გამოყენებით, რათა დამედგინა რომელი IC ქინძისთავები დაკავშირებისას გამოიწვევდა ქაღალდის კვებას და დავუკავშირე სწორი ქინძისთავები მოწყობილობასთან ერთად. შემდეგ, მე გამორთული გადამრთველი, რომელიც საშუალებას გაძლევთ გამორთოთ ბეჭდვის ფუნქცია. მე მიმაჩნია, რომ მანქანა სწორად არის გადახრილი. ის ჩართავს საკმაოდ ხმაურიან ქაღალდის კვებას ყოველ 10 წუთში, 10 წამის განმავლობაში, როდესაც მოწყობილობა ჩართულია. ის ასევე კარგად მუშაობდა მიკროსქემის ერთ-ერთი იმ ჰიპერ-საზიზღარი მუსიკალური დაბადების დღის ბარათებიდან. ჩემი სამუშაო ადგილი ახლა უფრო უცნაურია!

გირჩევთ: