Author Archives: George

Why companies license technology to other companies?

s

In the previous article I explained why the companies license technology from other companies. Now let’s see why companies license their technologies to other companies. This question is asked by the engineers even more often than the previous one. After all, we developed something unique with lots of effort. So why not start reaping fruits […]

licensing, SDK tsar Comments Off on Why companies license technology to other companies?

Why companies license technology FROM other companies?

s

I’ve been working for the technology licensing units more than ten years, and there seem to be confusion of why companies license technologies to other companies, and from other companies. Isn’t it easier/better/more reliable to develop your own? And understanding why it happens is very important, because for example when you design the SDK for […]

SDK tsar Tagged , Comments Off on Why companies license technology FROM other companies?

Why is the cars CAN bus insecure?

s

and how did we end up in this situation? There is a couple of wires inside your car which control many car components, from lights and signal to trunk, ABS and even brakes. This couple of wires is called “CAN bus”, CAN meaning Controller Area Network. Access to this bus by hackers gives them significant […]

car security Tagged , , Comments Off on Why is the cars CAN bus insecure?

Usability of Qt5 QMediaPlayer for multimedia applications

s

I have developed several multimedia applications using Qt4 and Qt5. In past, when creating Karaoke Lyrics Editor with Qt4, I initially used Phonon, which was offered by Qt4 multimedia framework. Unfortunately I quickly found the issues with this framework, making it less useful for my purpose:

Linux, qt 2 Comments

Reverse-engineering Lyric file format – handling encryption with a known plaintext attack

s

This article explains how to reverse-engineer file formats by using what is called a known plaintext attack. This is a kind of attack when an attacker has an ability to pass the plaintext to the oracle (in our case the enryption algorithm) and receive back the encrypted text, and do it as many times as […]

reverse engineering Comments Off on Reverse-engineering Lyric file format – handling encryption with a known plaintext attack

Reverse-engineering the EMZ karaoke format, or watch out the API calls

s

Worked on adding support for the EMZ karaoke format to the Karaoke Player application, and would like to share another good reverse-engineering technique. EMZ is a Karaoke format similar to the old Karafun, based on a password-protected ZIP archive. Unlike Karafun, the password is not embedded into the archive, but is derived from a some […]

reverse engineering, Uncategorized 2 Comments

Generating C or Java byte array from a binary using command-line tools

s

Once in a while during development a software engineer needs to embed the binary object as byte array in C or Java language. While coding a solution is simple, it could be achieved by the following command line on Linux or cygwin: For unsigned data: od -v -t u1 <binary file> | cut -c9- | […]

Uncategorized Comments Off on Generating C or Java byte array from a binary using command-line tools

Mac OS X guest and VirtualBox 5 on AMD CPU

s

Before you proceed: there is NO working solution yet, and I was not able to run unmodified Mac OS X guest on AMD CPU under VirtualBox. It runs fine under KVM however. Installing it on a machine with Intel CPU is not a problem. While VirtualBox does not officially support OS X guests on non-Mac […]

Linux, virtualbox Comments Off on Mac OS X guest and VirtualBox 5 on AMD CPU

XPS13 wireless: the ultimate fix

s

As frequently complained, Dell XPS13 which is otherwise a very nice ultrabook unfortunately offers horrible wireless experience while running Linux. Typical wireless issues include: Not connecting to certain access points (some WPA2-PSK) at all, or taking long time to establish the connection; Dropping the wireless connection frequently and keeping reconnecting; Having bad wireless throughput; Those […]

Hardware Comments Off on XPS13 wireless: the ultimate fix

Breaking the one-time pad encryption

s

Following up the second week task for the excellent Cryptography course by Prof. Jonathan Katz at Coursera, and took the second programming assignment. This time it is about breaking the one-time pad encryption when the code was reused, and more than one ciphertext is intercepted. Again, the suggested approach required too much manual work, and […]

reverse engineering Comments Off on Breaking the one-time pad encryption