• This repository has been archived on 25/Aug/2020
  • Stars
    star
    100
  • Rank 331,684 (Top 7 %)
  • Language
    OCaml
  • Created about 4 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Unlock 10 digits BIOS passwords

Click HERE to run the unlocker.

Story

My friend's Acer computer suddenly stopped working one day. We assume it is related to a faulty update or behavior, but in short:

  1. Her Ubuntu installation could not boot (GRUB could exec the kernel but no hard drive was visible).
  2. Access to the BIOS/UEFI settings were protected by password (though we did not put one).

The first problem was due to the mode used to expose the NVME controller, "AHCI" or "RST with Optane" on this Acer laptop. Linux kernel only supports "AHCI" mode. Our best guess was that the communication mode switched to RST with Optane over night.

Anyway, the whole situation did not make sense: restricted access and locked into a protocol incompatible with the only operating system installed on that laptop. Entering a wrong password three times led us to an "Unlock password" screen. Looking up internet revealed that we could recover access to BIOS/UEFI if we could get past that screen.

Contacting Acer did not help much: as Linux users we were not welcome, and there was not such thing as unlocking. We had to send them the computer and pay for service intervention. WTF moment.

On internet, I found a few resources to pass that unlock screen:

Unfortunately, there was no ressources about the kind of unlocking scheme that our laptop featured ("10 digits"). Time to look at how to circumvent this lock, recover Linux interoperability... and just own our computer again (WTF).

TL;DR

This repository contains an OCaml implementation of the lock code derivation scheme that is compiled to javascript accessible here.

Long story

Coming soon: blog post about how to reimplement the derivation scheme.

More Repositories

1

hotcaml

Hotcaml: an interpreter with watching and reloading
OCaml
136
star
2

lwd

Lightweight document
OCaml
117
star
3

wall

(mirror) A vector graphics renderer like NanoVG in OCaml
OCaml
75
star
4

grenier

Misc algorithms in OCaml (HyperLogLog, jump consistent hashing)
OCaml
62
star
5

cuite

(mirror) OCaml bindings to Qt toolkit.
OCaml
62
star
6

goo

Cross-runtime object interface generation
OCaml
36
star
7

owee

OCaml library to work with DWARF format
OCaml
33
star
8

ocamp

Reactive programming… in the shell
OCaml
30
star
9

ocp-indent-vim

Integration of ocp-indent to vim.
Python
28
star
10

merlin-extend

SDK to extend Merlin
OCaml
28
star
11

cmon

A library for printing OCaml values with sharing
OCaml
25
star
12

inuit

Make interactive text-oriented user-interfaces for OCaml
OCaml
23
star
13

sturgeon

A toolkit for communicating with Emacs from OCaml
OCaml
20
star
14

texpresso

TeXpresso: live rendering and error reporting for LaTeX
C
20
star
15

lrgrep

Menhir polishing toolbox, for experienced druids
OCaml
19
star
16

camlroot

A safer C FFI for OCaml
C
18
star
17

distwit

Distribute/marshal instances of ocaml extensible variant types and exceptions
OCaml
17
star
18

stb_truetype

OCaml bindings to stb_truetype, a public domain truetype font rasterizer
C
11
star
19

assimp

Bindings to Assimp, a 3D assets (mesh, material, scenes) importer
OCaml
11
star
20

autoprinter

proof-of-concept to auto-install printer functions in the OCaml toplevel
OCaml
11
star
21

distheap

Heterogeneous heap
OCaml
10
star
22

ibutsu

C
10
star
23

Ztl

Z3 Type Layer: a strongly-typed interface to Z3
OCaml
9
star
24

stb_image

OCaml bindings to stb_image, a public domain image loader
C
9
star
25

pdfmagick

A small tool to split/cut/merge pdf files
OCaml
9
star
26

melodious

Ocsigen powered media player
OCaml
9
star
27

ocaml-introspect

Generic value printer for OCaml (to be used with tagl branch)
OCaml
9
star
28

ttx

Typedtree related tools
OCaml
8
star
29

vimbufsync

Collection of heuristics to help quickly detect modifications in vim buffers
Python
8
star
30

ocaml-recovery-parser

A simple fork of OCaml parser with support for error recovery
OCaml
8
star
31

ppx_xmatch

Mess with the semantics of pattern matching :-)
OCaml
7
star
32

stb_image_write

OCaml bindings to stb_image_write, a public domain image writer
C
7
star
33

strongenv

OCaml
7
star
34

menhir

Unofficial repository. Experimentations around menhir parser generator
OCaml
6
star
35

balanced-trees

Simple implementation of logarithmic balanced trees
OCaml
6
star
36

ocamllex-refill

Experiments around ocamllex
OCaml
4
star
37

colorfilter

A gnome extension to desaturate and filter colors
JavaScript
4
star
38

ocamlilex

A version of OCamllex that lets you access the last observed character in the buffer (useful for incrementalizing a lexer)
OCaml
3
star
39

recel

Pixelart upscaling toolkit
C
2
star
40

timetrail

A small tool to track how your virtual time is spent
OCaml
2
star
41

mulet

OCaml
1
star
42

ml-test

Exploring custom extensions to lambda calculus
Coq
1
star