Hi
user
Admin Login:
Username:
Password:
Name:
My personal fight against the modern laptop
--client
lca
--show
lca2017
--room plenary 12059 --force
Next: 12 The Business of Community
show more...
Marks
Author(s):
Hamish Coleman
Location
Plenary Hall
Date
jan Thu 19
Days Raw Files
Start
18:35
First Raw Start
18:08
Duration
0:45:0
Offset
0:26:42
End
19:20
Last Raw End
19:20
Chapters
00:00
0:03:14
0:33:14
Total cuts_time
44 min.
http://linux.conf.au/schedule/presentation/48/
raw-playlist
raw-mp4-playlist
encoded-files-playlist
host
archive
tweet
mp4
svg
png
assets
release.pdf
My_personal_fight_against_the_modern_laptop.json
logs
Admin:
episode
episode list
cut list
raw files day
marks day
marks day
image_files
State:
---------
borked
edit
encode
push to queue
post
richard
review 1
email
review 2
make public
tweet
to-miror
conf
done
Locked:
clear this to unlock
Locked by:
user/process that locked.
Start:
initially scheduled time from master, adjusted to match reality
Duration:
length in hh:mm:ss
Name:
Video Title (shows in video search results)
Emails:
email(s) of the presenter(s)
Released:
has someone authorised pubication
Unknown
Yes
No
Normalise:
Channelcopy:
m=mono, 01=copy left to right, 10=right to left, 00=ignore.
Thumbnail:
filename.png
Description:
markdown
In this talk, I will take you through the tools and techniques I used to reverse engineer the keyboard controller in my Thinkpad laptop and re-flash it with custom firmware. This will cover how the Thinkpad range of laptops have tried to secure their firmware from unauthorised changes. Finally, I will present my ongoing work to reverse engineer the protocol used between the BIOS and the vendor's flash update tool (which included writing a custom virtual machine to emulate a minimal laptop). I was driven to start this project when I realised that the laptops currently on sale just did not meet my requirements. Even the durable Thinkpad laptops I have preferred in the past are being dumbed down. Eventually, I will need a new laptop - and with the current offerings, I just do not want anything I can purchase off the shelf. I knew I was not going to be able to build my own laptop from scratch (and having discounted all the current free/open laptop offerings) so I started looking at what I could hack together. To keep the project achievable, I reduced my laptop gripes as far as I could and focused on just the keyboard - asking the question: "Can I shoehorn an older keyboard in a modern laptop?" Eventually answering it with "yes, sometimes." It turned out to be easily possible to physically replace the keyboard on any of the Thinkpads in the xx30 series with one from the xx20 series. I was stalled with a half-working keyboard until early 2016 when Zmatt published how he unlocked his laptop. The firmware changes needed were bundled up into a complete build system which others have used to replicate the keyboard replacement. However, with both these laptop series' being several years old now, I am still looking at forward porting this to a newer laptop - which has led me to research the hardware and firmware design there. I will also take the audience through my current knowledge of how the vendor's protocol to tell the BIOS to write a new image to flash works. Now that it is possible to write new code for the embedded controller and to install it and run it - I wanted to know how secure this was (or wasn't) separate to simply "fixing" the keyboard. I have written a custom virtualisation tool to host the vendors "dosflash" program and capture the protocol it uses to request that the BIOS write a new image to flash. It is my hope that others will be inspired to look closer at their hardware and to give them both some tools and the confidence that it is possible to "fix" the way that consumer hardware works.
Comment:
production notes
2017-01-20/11_08_18.ts
Apply:
18:08:18 - 18:24:02 ( 00:15:44 )
S:
18:08:18 -
E:
18:38:17
D:
00:29:59
(
End:
944.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/plenary/2017-01-20/11_08_18.ts :start-time=00.0 --audio-desync=0
Raw File
Cut List
18:08:18
seconds: 0.0
Wall: 18:08:18
Duration
00:29:59
18:38:17
seconds: 944.0
Wall: 18:24:02
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-20/11_08_18.ts
Apply:
18:24:02 - 18:35:03 ( 00:11:01 )
S:
18:08:18 -
E:
18:38:17
D:
00:29:59
(
Start:
944.0) (
End:
1605.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/plenary/2017-01-20/11_08_18.ts :start-time=0944.0 --audio-desync=0
Raw File
Cut List
18:08:18
seconds: 944.0
Wall: 18:24:02
Duration
00:29:59
18:38:17
seconds: 1605.0
Wall: 18:35:03
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-20/11_08_18.ts
Apply:
18:35:03 - 18:38:17 ( 00:03:14 )
S:
18:08:18 -
E:
18:38:17
D:
00:29:59
(
Start:
1605.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/plenary/2017-01-20/11_08_18.ts :start-time=01605.0 --audio-desync=0
Raw File
Cut List
18:08:18
seconds: 1605.0
Wall: 18:35:03
Duration
00:29:59
18:38:17
seconds: 0.0
Wall: 18:08:18
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-20/11_38_18.ts
Apply:
18:38:18 - 19:08:18 ( 00:30:00 )
S:
18:38:18 -
E:
19:08:18
D:
00:30:00
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/plenary/2017-01-20/11_38_18.ts :start-time=00.0 --audio-desync=0
Raw File
Cut List
18:38:18
seconds: 0.0
Wall: 18:38:18
Duration
00:30:00
19:08:18
seconds: 0.0
Wall: 18:38:18
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-20/12_08_18.ts
Apply:
19:08:18 - 19:19:52 ( 00:11:34 )
S:
19:08:18 -
E:
19:20:17
D:
00:11:59
(
End:
694.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/plenary/2017-01-20/12_08_18.ts :start-time=00.0 --audio-desync=0
Raw File
Cut List
19:08:18
seconds: 0.0
Wall: 19:08:18
Duration
00:11:59
19:20:17
seconds: 694.0
Wall: 19:19:52
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
2017-01-20/12_08_18.ts
Apply:
19:19:52 - 19:20:17 ( 00:00:25 )
S:
19:08:18 -
E:
19:20:17
D:
00:11:59
(
Start:
694.0)
show more...
vlc ~/Videos/veyepar/lca/lca2017/dv/plenary/2017-01-20/12_08_18.ts :start-time=0694.0 --audio-desync=0
Raw File
Cut List
19:08:18
seconds: 694.0
Wall: 19:19:52
Duration
00:11:59
19:20:17
seconds: 0.0
Wall: 19:08:18
Comments:
mp4
mp4.m3u
dv.m3u
Split:
Sequence:
:
delete
Rf filename:
root is .../show/dv/location/, example: 2013-03-13/13:13:30.dv
Sequence:
get this:
check and save to add this
2017-01-20/11_08_18.ts
2017-01-20/11_38_18.ts
2017-01-20/12_08_18.ts
Veyepar
Video Eyeball Processor and Review