Android pattern lock brute forcing


Friend asked me for help, he needed that I unlock his Android phone without losing important data. So  I did. The phone was locked with 9-pattern.

First horrifying thing that I saw was that there are 350 000 possible combinations on 9-pattern. But humans are predictable with passwords and patterns.

I found this link, it helped me a ton with sorting pattern – which pattern to try first:

Link to post

Now that I know which patterns to use first, I continued with my work:

First I gathered all things I needed:

  • Patterns, which I gathered from internet
  • Arduino M0 to emulate mouse and keyboard
  • OTG cable
  • 2 USB cables to connect PC and Arduino
  • Webcam

Things left to do left to were:

  • Write code  in C for Arduino : receive commands from PC, write patterns through emulated mouse and press keys through emulated keyboard
  • Write code for PC program (in C#) : send patterns to Arduino, take pictures, save progress

That was it!

The things I didn’t do but should:

  • Detect through computer vision when phone got unlocked (simple, display gets bright when phone unlocks)
  • Modify USB OTG so that phone could charge through Arduino port

I didn’t do those things because I got lucky, I was testing the program and in 10 minutes of testing phone got unlocked! Ou yea!


Arduino, target phone, cables, code



Connected setup:IMG_20160405_234631

Camera, which was duct taped on phone:

Quickly written software:program

Images, which were automatically captured before unlock:


Video in action (software is older than shown here):


That was it!

Procedural City road generator

It’s unfinished/scraped project, but I still decided to post it here. This was intended to become “road kill” game, where you drive a car and drive over pedestrians and cows and other animals. Project never got to its prime time, because there were shortage of time/money.

Project was coded in Unity3D. Art is not by me.

Closer look, this is how the game camera was intended to look:


Look from top. This is visible world, here it had big range just for demonstration purposes. You can move the 3D gizmo (green/red arrows), and circle would move with it.


That is :). The whole work took me 1 week I think.

Jenkem – Android Game

This is my second Android game, that has been released on Google Play!

It was intended to be short time killer, a fun game with nasty name (I hoped it would catch people eyes, but it didn’t).

The game is made with Unity3D and it took around 2 months to complete.

It features:

  • Addictive (one clicker style)
  • Fart sounds
  • Catchy graphics
  • High score / online scoreboard

Jenkem – Play Store

Flying Pet released!

Hello, I am happy to announce that Flying Pet, the game I (we) have been working on for nearly 2 years! It is available here! And this is website for this page, not made by me. Movie of the game 🙂 And website! Hope you enjoy it!

For people, who are interested in 3D artist, here is his blog:

Wifi RC car; controlled by browser based App from PC or Android/iOS through websockets

Hello, there!

I want to show off my project which I am extremely fond of. I loved doing it every bit. And

that is why this post will be quite long – lots of pictures and video.

This is the picture of unhacked car, a car in it’s original form with cover removed.


This is the Raspberry PI v1- the computer. Also unmodified. You can also see WiFi dongle plugged in, which was later turned into Wireless access point.


Raspberry has GPIO which stands for General Purpose Input Output. I needed outputs so I can control the car. I cut the IDE cable so it would fit.


GPIO is signal port – it is weak. So I needed to design my own “driver” board, which is essentially just an signal amplifier. This way I also could separate battery for computer and another battery for car.

It means more stability – I had experiences of computer restarting itself because of single battery.


When I finished PCB design, I did toner transfer method to make the circuit.


I transferred toner – black ink with heat onto cooper board.


Then got rid of paper with help of water and soap.


And threw it into chemical which eats copper.

PCB_Etching_1Etching closeup

Requirement of this chemical is to be heated to 50°C so that it can eat cooper.Etching_Chemical

This is why I did water bath – it is really safe to do. Water heats to 100°C and water heats the plastic pot with chemical.

warming up water bath 2

After etching, I needed to get rid of toner – the black stuff.

Etching complete 2

But it’s better to drill before removing black paint, because it’s less error prone.


After cleaning it with “nitro paint dissolver” board looked like this. Quite shinny :).


Let’s add stuff to it.

But before I can add stuff, I need to hop into shop and buy stuff.


Soldered some stuff. This is also where IDE from Raspberry PI will connect to – the GPIO.


Boom – finished. I also cut corners.


Because sometimes people make mistakes, they need to repeat everything to get it right.

So there you can see multiple versions of this driver.

PCB_Multiple versions

Connecting the driver with car


The Raspberry GPIO – IDE connection. Soon to be made.


Quite messy. I need more duct tape.


Ok, after enough duct tape, wires and all other glorious building components, I got the car into this state. I hope NASA doesn’t use this thing in space mission.


Now comes the programming. This is the part you will not see in pictures, but I will describe everything I used.

Raspberry PI computer had Linux installed in it.

For WiFi Dongle, I drivers and some scripts which turned the dongle into Access Point. Basically, I turned computer into router, to which you can connect to with laptop or smartphone.

This is how I mostly programmed the car – from WiFi with my laptop through SSH and SFTP.

Then I downloaded Mono – for C#. The Mono is really nice: It is possible to drop .exe files compiled directly from Visual Studio.

That is, I made my main backend server with C#. I used Fleck library for Websockets.

And thanks god someone did the PI-Blaster. With Pi-Blaster, you can turn GPIO ports into 8 port PWM output. With PWM I controlled the servos and LEDs.

After all this backend stuff, I had to write my own web based client. Of course I wrote it in Javascript, HTML, CSS3. I also made whole graphical design by myself.


The On/Off icon indicates if connection to car is alive. The lights indicates well, the lights. (Car has LEDs). The brown pad is for touch pad control. This client also works with WASD keys if you run it on computer.

In short, the Raspberry PI had following things so it could work flawlessly:

  • drivers for WiFi dongle so the car had it’s own Access Point (so you could connect to it with PC or Smartphone, w/e),
  • DHCP server for giving out IP addresses,
  • hacked DNS server, so it would route “” into it’s own server (C# backend),
  • HTTP web server, which served HTML web app client, which connected to PI server over webSocket,
  • C# control server which worked through webSocket. This program accepted messages from HTML client and sent controls to steering servo, LEDs, motor.

Testing video:

This is picture of functional web client on Samsung Ace with broken glass.

Testing web client on android

Turning left and right:

Testing web client steer LEFTTesting web client steer RIGHT

Switching lights on and off:

Testing web client LIGHTS ON Testing web client LIGHTS OFF

That is all there is to it. I had lots of fun doing this project!

I made also compiled a short movie with help of GO Pro camera. The camera is NOT realtime (I don’t see live feed on web client).

Hope you enjoyed this blog post!

The project was funded by, you can also see theirs logo on PCB and web app :).

Morphing between simple 3D models

This was one of the failed/unfinished projects where I needed to do morphing between 3D objects. Made with help of Three.JS library and coded in Type Script (object oriented Javascript with types).

This thing also worked quite smooth on mobile devices :).

Simpl Kidz animation

I just wanted to show animation I did long time ago when I was working at I needed to animate two cute creatures, whale and elephant.

All I did was animation – those cartoon animals are not mine and website is not mine either.

I did it with help of Paper.JS library.

Animation of elephant:

Animation of fish/whale:

Connect Four made with minimax

This is another fun python project I made myself in spare time. It’s simple connect four game made, where I studied mini max algorithm with α-β pruning. I admit that it took me a while to figure out the idea behind mini max, but when I did, it was quite simple to code. To bad I did it in python since it’s slow. Because of my expensive heuristic function I could reach only depth of 5 for minimax. Well, it’s possible to go deeper, but the game becomes un-playable because of slow response time.spet sem izgubil sam proti sebi

Bot is quite strong, but anyone determined enough can beat it. If I would switch language from python to something like C#, I could make really faster -> stronger. But it’s ok, I have learned a lot!

Oh, also I like to do “dynamic” stuff so I can play connect four in any size I want.

This is my face when I lost against myself (I am green and bot is red)the bot beat me again

This is where I won against the bot – the proof that bot was too weak :(. But I was scared that my own code outsmarted me so of course I needed to beat the bot! Well, it didn’t outsmarted me, yeah!

koncno sem premagal

Labyrinth generator written in Python

Hello, I always wanted to make a labyrinth generator just for fun and then someday, I did it. It is written in Python and made out of grid graph then searched over with deep first search. Result? You can get from any point to any point in those labyrinths. Also custom dimensions.







Shift download

Because my game is not getting enough sales, I decided to release it to public for free.

There is free download link 🙂