Sunday, 4 October 2015

Virtualization Guest Debugging - Windows Boot, Kernel And User-Mode

How did I end up in this mess? good question!
Friend of mine got a new laptop from the company he works for. The laptop is really good: SSD, quad core i5.. much better than any computer he own and its with him all them time. The logical thing to do is use it as a personal computer as well, but he can't as he doesn't have any permissions on the Windows 7 installed and he does not want to accidently crash to death the company Windows 7 with his personal computer uses. The solution?  Installing windows on portable USB disk. Actually not that easy because windows requires driver to the disk controller, a problematic thing with usb storage. There is a Microsoft solution to the problem called Windows To Go and with it I installed windows 8.1 portable on USB disk, which in the laptop can be boot using the bios boot menu and choosing the windows usb drive.

First problem solved, not that difficult because of Microsoft solution. Second problem came as my friend is working with his portable windows, but someone called from work and want something checked, that can only be checked using the company windows 7. The only way he can switch to the company windows 7 is by resetting the entire computer, not a convenient thing to do. My solution to the problem was to boot the company windows 7 using Vmware, telling Vmware to boot from physical disk. Shortly after boot, blue screen

Saturday, 6 June 2015

Mobile Cloud And FUSE

Its all started when I wanted to migrate to another mobile company. The market is very competitive and the prices are all about the same. One of the company offered a cloud backup service. Further investigation shows that in order to compete with other backup services the connection to this backup cloud does not comes out from your data plan.  Now they got my attention *ultimate mobile traffic anyone?*. I said to myself I will take this plan only to "play" with their cloud.

Friday, 10 April 2015

Smart Lock Part 1

After my previous post about the mechanics of the smart lock, I need to realize how to do the electronics stuff. I got the TI cc2530 chips, which are really low power Zigbee radio chips, perfect for the door lock because it running on batteries. My goal for the smart lock software:

3D Printing Is Cool!

I working these days on a simple smart home project. My first device in this project is the door lock.
I am working on this project after I got locked down in my home. I forgot the home key in the car and my parents locked the door when going to work. At this moment I came to a conclusion that door keys are stupid, we got phones and fingerprints, we do not need keys anymore,
So to solve this problem I searched for some electronic door lock. Is my country, almost all the doors come from specific manufacture, this manufacturer produce the locks in a really unique way that make every smart lock product I found incompatible.  I decided to use a 3d printer to print a piece that will wrap the cylinder key and will "export" gear teeth that I can wrap with a pulley.

Patching ARM Code During Runtime

I always found some boring ways to spend my free time, few months back at the holidays in Israel I got some free time from work so I decided to make a BOT for some Android game (for research only purpose). The game, as almost any large Android game, is written in native c++. The game didn't use any known framework and wrote in plain c++, meaning no symbols and hardcore reversing... I burn all my time in reversing the code (about few megabytes of compiled ARM code, not a simple task). Finally, I reversed all their communication protocol (multiplayer game), in-game messaging mechanism, and got a GDB script which can manually do all the BOT features. I need to make a blog post about reversing this game but maybe somewhere at the future. For now, lets focus on what I did afterward, so I got this gdb script which can do anything I want, but gdb script is no fun.. I mean what happen when you want to show off your work? you can't just say "wait for me to open my gdb in my laptop and attach to the app...." you want some pre-compiled Android APK that does everything.

Saturday, 31 January 2015

Analzying Cars Remote Key

I got an old remote key for my car which always breaks. My father is always fixing it, and I took the opportunity to take a picture of the circuit.