norrist uses
a raspberry pi pico to type passwords
Password Managers
I like using a password managers
Every site has a different complex password
I use the browser plugin or copy paste.
I recently switched from last pass to bit warden.
I was one of the users that did not get prompted to increase the
number of password iterations from 1000.
They work basically the same.
My stupid bank
The normal procedure for changing passwords is
fill in old password
generate new random password
copy paste new password into the new password field
For some reason, my bank's site uses JavaScript to block paste into
the new password fields
I don't know why banks or anyone disable pasting into a browser
field
The only way I could change my password, was to generate a password
simple enough that it could be manually typed into the change
fields
First solution
I wanted to find something like a programmable keyboard where you
could input an input string and have the device type out the
characters
I found a few keyboards that used macros, but they seemed too simple
to use for a complex password.
I saw somewhere online that you could use a micro-controller to
emulate a keyboard.
I had a circuit playground express that I wasn't using for
anything.
The circuit playground express has 2 built in buttons
I found a circuit python tutorial for emulating keystrokes and
modified it so it would emulate the keystrokes for a password.
Button A would output a password and button B would output a
different password.
Problems
The passwords were stored as variables in the code
The circuit playground express has a lot of built in LED's and touch
pads. It was really being wasted to only use it as a keyboard emulation
device
I have another project I want to use the playground express for
Next Solution
Raspberry Pi Pico - $4 micro controller
I was able to get circuit python to micro controller a keyboard on
the pi pico
Not many ways to get physically interact with board.
No buttons and only one LED.
I decided the best way was to have a count down timer
blink the led to indicate where the timer was in the countdown
output the keystrokes when the countdown timer reached zero
More problems
Circuit python devices work by exposing a small file system when
plugged in via USB.
You can mount the file system and edit the code running on the micro
controller
Once the device is powered on, it starts emulating keystrokes every
time the countdown timer cycles
to keep the micro controller keystrokes from interfering with any
work you were doing I would have to mount the device and quickly comment
out part of the code so it would stop sending keystrokes
As a fix, I added a check to only send keystrokes if a file named
send_keys exists
Now, I can work on the code and only add the send_keys
file when I an ready.
Storing the password
I didn't like that the password I want to send as keystrokes was
stored as a variable in the code.
I modified that python to read the password from a separate file
named pw.txt
Setup the Pi Pico
Install circuit python
https://learn.adafruit.com/get