Mobile Computing

912 Words2 Pages

Background and Introduction

The recent trend in mobile computing has led to a plethora of relatively inexpensive high power computing devices that can fit in a shirt pocket. These new devices are capable of internet connectivity and are location aware, making this new technology both highly useful and just as dangerous in the hands of malicious hackers. In November of 2009, the first iPhone virus was released. It was not malicious and only changed the user’s background picture. [1] This first worm was written as a proof of concept to warn of the potential dangers of viruses for mobile devices. The author stated in a later interview with ABC his reasons for creating the virus: "I think to raise awareness for one, somebody with more malicious intent could have done anything - read your SMSs, go through your emails, and view your contacts, photos – anything."[2] Less than a month later, another virus was released by someone with malicious intent, capable of stealing private information, behaving as part of a “bot-net”, and even allowing the attacker to install other malicious software on the device. [3] With the prevalence of iPhone-like devices it is becoming more important to be able to quickly analyze and reverse engineer malicious code to protect users.

Since the iPhone’s release, over 1 billion applications have been released resulting in a 40 billion dollar market [4]. The importance of keeping track of the source code of a company’s intellectual property is paramount. Software piracy is always a consideration in the computer engineering field. To counteract this threat, several methods have been developed to render pirated applications inert, preventing them from performing their intended function. These same methods imp...

... middle of paper ...

...ctive C only one function is called; objc_msgSend()is responsible for all method calls. The goals of this project are to create a method for recreating as much source information as possible with little or no user intervention from a source executable.

To reverse engineer a program from object code with no debugging information to original source code is considered by many to be impossible and at the very best a NP-Hard problem. [5] However, by concentrating on a static analysis of the Objective C binary a great deal of information can be constructed that will lead to a close approximation of the original source code. The attempts at decompiling are made easier by the fact that all applications written for the iPhone are compiled with Apple Inc.’s compiler, a variation of the GNU compiler. Therefore, we need only write one back-end to recognize the assembly idioms.

More about Mobile Computing

Open Document