You are browsing as a guest. Sign up (or log in) to start making projects!

AlternativeLink

  • 4 Devlogs
  • 16 Total hours

Implementation of the SharkLink protocol for PC and other devices. SharkLink was created by Hak5 to check if two Shark Jack Display can connect in a Network.

Open comments for this post

3h 15m 49s logged

Devlog 4: (Now with logging)

What change

  • Rewrote a lot of the logic making it safer
  • Added a timeout for pinging
  • Added a Code struct which has TryFrom<&str> and std::fmt::Display implemented so it’s really easy to convert a code string to the code structure and back
  • added logging with tracing
  • Combined both sending sockets to one Arc<UdpSocket> so broadcaster and direct connection check share one socket reducing overhead
  • Changed how I handle Errors, no longer ignoring them

Next up:

  • Cli
  • Maybe a tui
0
0
14
Open comments for this post

7h 29m 35s logged

Devlog 2:

I started reimplementing everything in rust. Already have the discovery broadcast and listener working.
So the only things missing are the direct connection check from the program site and a better looking interface like a tui.

0
0
10
Open comments for this post

2h 44m 54s logged

Devlog 1:

So I reverse engineered the protocol hak5 uses for SharkLink using one SharkJack Display and my PC with Wireshark for package inspection.

I first needed to implement the device discovery which is a broadcast UDP package which in plan text says <PIN> <Sender_Ip>\n so for example 1-3-3-7 192.168.178.1\n

Then I reverse engineered the ping messages which are a direct connection with first PING <Sender_IP>\n and then the response which is ACK <Sender_IP>\n.

Nextup:

Reimplement the program in rust and after that create a tui.

0
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…