Vysoke´Ucˇenítechnicke´V Brneˇ

Total Page:16

File Type:pdf, Size:1020Kb

Vysoke´Ucˇenítechnicke´V Brneˇ VYSOKE´ UCˇ ENI´ TECHNICKE´ V BRNEˇ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMACˇ NI´CH TECHNOLOGII´ U´ STAV INFORMACˇ NI´CH SYSTE´ MU˚ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS NA´ STROJE PRO KONVERZI FORMA´TU˚ SPUSTITELNY´ CH SOUBORU˚ BAKALA´ Rˇ SKA´ PRA´ CE BACHELOR’S THESIS AUTOR PRA´ CE PETER MATULA AUTHOR BRNO 2011 VYSOKE´ UCˇ ENI´ TECHNICKE´ V BRNEˇ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMACˇ NI´CH TECHNOLOGII´ U´ STAV INFORMACˇ NI´CH SYSTE´ MU˚ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS NA´ STROJE PRO KONVERZI FORMA´TU˚ SPUSTITELNY´ CH SOUBORU˚ TOOLS FOR EXECUTABLE FILE FORMAT CONVERSIONS BAKALA´ Rˇ SKA´ PRA´ CE BACHELOR’S THESIS AUTOR PRA´ CE PETER MATULA AUTHOR VEDOUCI´ PRA´ CE Prof. Ing. HRUSˇ KA TOMA´ Sˇ , CSc. SUPERVISOR BRNO 2011 Abstrakt Táto práce popisuje metody a postupy používané ku konverzi formátù objektových souborù. Pøedstavuje několik obecně používaných formátù (ELF, PE, E32Image, DEX) a objektový formát projektu Lissom (LOFF). Obsahuje základní informace o knihovnách manipulujících tyto formáty a popis nové knihovny spravující E32Image. Primárním ukolem je implemen- tace programu pro konverzi souborù mezi obecně používanými formáty a formátem LOFF. Tento problém je øe¹en mapováním v¹ech kritických informací z jedné struktury formátu do druhé. Za tímto úèelem bylo nutné upravit a rozšířit některé vlastnosti formátu projektu Lissom. Výsledek je program využívajicí pluginovací systém, schopný vytváøet validní a spustitelné soubory ve zmíněných formátech. Abstract This paper describes methods and procedures used for object file format conversions. It introduces several commonly used formats (ELF, PE, E32Image, DEX) and project Lissom's object file format (LOFF). It contains basic information about libraries manipulating these formats and a description of a new library managing E32Image. The primary objective is to implement a program converting files between common formats and LOFF. This problem is solved by mapping all critical information from one format structures to another. To accomplish this task, it was necessary to modify and extend some features of Lissom object format. The result is the plugin based application capable of creating valid and runnable executable files in mentioned formats. Klíčová slova Konverze objektových souborù, objektové soubory, zpětný prěklad, dekompilátor, disasem- bler, Lissom, LOFF, ELF, PE, E32Image, DEX, BFD. Keywords Object file conversion, object file formats, decompilation, decompiler, disassembler, Lissom, LOFF, ELF, PE, E32Image, DEX, BFD. Citace Peter Matula: Nástroje pro konverzi formátù spustitelných souborù, bakaláøská práce, Brno, FIT VUT v Brně, 2011 Nástroje pro konverzi formátù spustitelných souborù Prohlášení Prohla¹uji, že jsem tuto bakaláøskou práci vypracoval samostatně pod vedením pana Prof. Tomá¹a Hru¹ky. Další informace mi poskytli Ing. Jakub Køoustek, Ing. Adam Husár a Ing. Zdeněk Pøikryl. Uvedl jsem v¹echny literární prameny a publikace, ze kterých jsem èerpal. ....................... Peter Matula 18. května 2011 Poděkování Na tomto místě bych rád poděkoval mému vedoucímu Prof. Tomá¹u Hru¹kovi a mému kon- zultantovi Ing. Jakubu Køoustkovi za odborné vedení, poskytnuté rady a možnosť zapoji» se do projektu Lissom. Dále bych chtěl poděkovat èlenùm projektu za mnoho užitečných podnětů. c Peter Matula, 2011. Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informa- čních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů. Obsah 1 Úvod 3 2 Projekt Lissom5 2.1 Cieľ práce.....................................5 2.2 Dekompilátor...................................5 2.3 Testovanie binárnej kompatibility........................6 3 Formáty objektových súborov7 3.1 LOFF.......................................8 3.1.1 ©truktúra LOFF formátu........................8 3.2 UNIX ELF.................................... 10 3.2.1 ©truktúra ELF formátu......................... 10 3.3 Windows PE................................... 12 3.3.1 ©truktúra PE formátu.......................... 12 3.4 Symbian E32Image................................ 14 3.4.1 História Symbian OS........................... 14 3.4.2 ©truktúra E32Image formátu...................... 15 3.5 Android DEX................................... 17 3.5.1 ©truktúra formátu............................ 18 4 Zmeny vo formáte LOFF 20 4.1 Adresovanie po bajtoch............................. 20 4.2 Zaznamenanie vstupnej adresy programu.................... 21 4.3 Rozšírenie príznakov............................... 21 4.4 Zmena datového typu masky relokácie..................... 22 5 Nástroje pre vzájomnú konverziu formátov 23 5.1 Objfilelib..................................... 23 5.2 Knižnica BFD................................... 24 5.3 Knižnica PeLib.................................. 24 5.4 Knižnica E32lib.................................. 25 5.5 Knižnica DEXlib................................. 26 6 Aplikácia bintran 27 6.1 Pluginovacie systémy............................... 27 6.2 Rozhranie aplikácie v C/C++.......................... 28 6.3 Hostiteľská aplikácia............................... 29 6.4 Plugin bfdtoloff.................................. 30 1 6.4.1 Postup konverzie............................. 30 6.4.2 Roz¹írenia pluginu bfdtoloff....................... 31 6.4.3 Zhodnotenie konverzie.......................... 31 6.5 Plugin lofftobfd.................................. 31 6.5.1 Postup konverzie............................. 31 6.5.2 Úprava výsledných PE súborov..................... 32 6.6 Plugin e32toloff.................................. 33 6.6.1 Postup konverzie............................. 33 6.7 Plugin lofftoe32.................................. 34 6.7.1 Postup konverzie............................. 34 6.8 Plugin dextoloff.................................. 34 6.8.1 Postup konverzie............................. 34 7 Testovanie aplikácie 37 7.1 Testovanie konverzie formátov ELF a PE do formátu LOFF......... 37 7.1.1 Princíp testu............................... 37 7.1.2 ©pecifikácia testu............................. 37 7.1.3 Výsledok testu.............................. 37 7.2 Testovanie konverzie formátu LOFF do formátu ELF............. 38 7.2.1 Princíp testu............................... 39 7.2.2 ©pecifikácia testu............................. 39 7.2.3 Výsledok testu.............................. 39 7.3 Testovanie konverzie medzi formátmi E32Image a LOFF........... 39 7.3.1 Princíp testu............................... 39 7.3.2 ©pecifikácia testu............................. 39 7.3.3 Výsledok testu.............................. 40 7.4 Testovanie konverzie z formátu DEX do formátu LOFF........... 40 8 Záver 42 A Model formátov LOFF a DEX 45 B Model tried E32lib. 47 C Obsah CD 48 2 Kapitola 1 Úvod V súèasnej dobe sú vstavané systémy (anglicky embedded systems) súèas»ou života väčšiny ľudí a môžeme ich nájs» takmer vo všetkých, èo len trochu komplikovanej¹ich elektronických zariadeniach. Výroba takýchto zariadení prirodzene priná¹a obrovské zisky, konkurencia je veľká a tlak na rýchly a lacný vývoj nových systémov rastie. To ako rýchlo dokáže výrobca vyvinú» optimálne rie¹enie vo veľkej miere rozhoduje o úspechu alebo neúspechu. Práve preto sa hľadajú inovatívne spôsoby, ako pristupova» k výrobe nových architektúr. Jedným z riešení je takzvaný hardware-software codesign, spoloèný proces návrhu hardwaru a softwaru. Proces návrhu začína modelovaním procesoru (anglicky Central Processing Unit, CPU) v niektorom z jazykov pre popis architektúr (anglicky Architecture Description Lan- guages, ADL). Najèastej¹ie sa používajú zmie¹ané jazyky umožnujúce namodelova» zdroje, model správania, model èasovania a zároveň in¹trukènú sadu. Na základe takéhoto modelu sa vygenerujú ¹pecifické nástroje. Generovanie prebieha automaticky, teda veľmi rýchlo v porovnaní s manuálnym vývojom. Cieľom sú minimálne asemblér a linker, potrebné pre tvorbu programov spustiteľných na modelovanom procesore. Na rovnakom princípe v¹ak môžu by» vygenerované aj iné nástroje ako napríklad ladiaci nástroj alebo prekladaè. Pre testovanie kvality navrhnutého procesoru je potrebné sledova» jeho výkon pri spracovaní programu vytvoreného pomocou generovaných nástrojov. Aby nebolo nutné v každej iterá- cií procesor fyzicky vyrobi», používa sa simulátor. Ten dokáže napodobni» èinnos» CPU pri vykonávaní programu. Práca procesoru sa vyhodnotí a v prípade neuspokojivého výsledku pokraèuje vývoj ďalšou iteráciou { vytvorením nového modelu. Výhody takéhoto prístupu sú zjavné. Automatizované generovanie nástrojov urýchli a ulahčí prácu a simulácia odstráni nutnos» nákladnej výroby testovacích procesorov. Práve vývojom podobného nástroja sa zaoberá aj projekt Lissom, pre potreby ktorého vznikla táto práca. Cieľom bakalárskej práce je vytvori» program schopný obojsmernej konverzie medzi obecne používanými objektovými formátmi a formátom používaným nástrojmi projektu Lissom. Prièom transformácia by sa mala zamera» primárne na spustiteľné súbory. Informácie o projekte Lissom a úlohe, ktorú v ňom práca zohráva sú uvedené v kapitole 2. V krátkosti je vysvetlený pojem dekompilátor, ako hlavný užívateľ vzniknutej aplikácie. Nasleduje popis objektového formátu projektu Lissom a predstavenie obecných for- mátov operaèných systémov UNIX, Windows, Symbian a Android. ©tvrtá kapitola popisuje zmeny navrhnuté a implementované autorom práce na for- máte projektu Lissom za úèelom zdokonalenia jeho schopnosti zaznamena»
Recommended publications
  • Secure Communications in the Smart Grid
    University of Nevada, Reno Secure Communications in the Smart Grid A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science and Engineering by Hayreddin Ceker Dr. Mehmet H. Gunes/Thesis Advisor Aug 2013 Copyright by Hayreddin Ceker 2013 UNIVERSITY OF NEVADA RENO THE GRADUATE SCHOOL We recommend that the thesis prepared under our supervision by HAYREDDIN CEKER entitled Secure Communications in the Smart Grid be accepted in partial fulfillment of the requirements for the degree of MASTER OF SCIENCE Mehmet H Gunes, Ph.D., Advisor Murat Yuksel, Ph.D., Committee Member Yantao Shen, Ph.D., Graduate School Representative Marsha H. Read, Ph.D., Dean, Graduate School August, 2013 i Secure Communications in the Smart Grid Hayreddin Ceker University of Nevada, Reno, 2013 Supervisor: Mehmet Hadi Gunes Abstract Smart grid has diverse stake holders that often require varying levels of access to grid state and measurements. At the distribution level (i.e., MAN), smart grid provides two way communication between households and utilities. At the transmis- sion level (i.e., WAN), multiple organizations need to share the transmission lines and cooperate with participants in their region. Efficient and reliable operation of the grid depends on accurate state measurements and secure data transfer to oper- ation centers. These tasks are complicated by the vast amount of data from diverse sources that are owned by multiple entities that impose physical, economic, market, and political constraints on the data sharing. However, to protect against grid-wide failures and defend against coordinated attacks, power grid operators need to increase data sharing.
    [Show full text]
  • The Symbian OS Architecture Sourcebook
    The Symbian OS Architecture Sourcebook The Symbian OS Architecture Sourcebook Design and Evolution of a Mobile Phone OS By Ben Morris Reviewed by Chris Davies, Warren Day, Martin de Jode, Roy Hayun, Simon Higginson, Mark Jacobs, Andrew Langstaff, David Mery, Matthew O’Donnell, Kal Patel, Dominic Pinkman, Alan Robinson, Matthew Reynolds, Mark Shackman, Jo Stichbury, Jan van Bergen Symbian Press Head of Symbian Press Freddie Gjertsen Managing Editor Satu McNabb Copyright 2007 Symbian Software, Ltd John Wiley & Sons, Ltd The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England Telephone (+44) 1243 779777 Email (for orders and customer service enquiries): [email protected] Visit our Home Page on www.wileyeurope.com or www.wiley.com All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the Publisher. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to [email protected], or faxed to (+44) 1243 770620. Designations used by companies to distinguish their products are often claimed as trademarks. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners.
    [Show full text]
  • Rhyming Dictionary
    Merriam-Webster's Rhyming Dictionary Merriam-Webster, Incorporated Springfield, Massachusetts A GENUINE MERRIAM-WEBSTER The name Webster alone is no guarantee of excellence. It is used by a number of publishers and may serve mainly to mislead an unwary buyer. Merriam-Webster™ is the name you should look for when you consider the purchase of dictionaries or other fine reference books. It carries the reputation of a company that has been publishing since 1831 and is your assurance of quality and authority. Copyright © 2002 by Merriam-Webster, Incorporated Library of Congress Cataloging-in-Publication Data Merriam-Webster's rhyming dictionary, p. cm. ISBN 0-87779-632-7 1. English language-Rhyme-Dictionaries. I. Title: Rhyming dictionary. II. Merriam-Webster, Inc. PE1519 .M47 2002 423'.l-dc21 2001052192 All rights reserved. No part of this book covered by the copyrights hereon may be reproduced or copied in any form or by any means—graphic, electronic, or mechanical, including photocopying, taping, or information storage and retrieval systems—without written permission of the publisher. Printed and bound in the United States of America 234RRD/H05040302 Explanatory Notes MERRIAM-WEBSTER's RHYMING DICTIONARY is a listing of words grouped according to the way they rhyme. The words are drawn from Merriam- Webster's Collegiate Dictionary. Though many uncommon words can be found here, many highly technical or obscure words have been omitted, as have words whose only meanings are vulgar or offensive. Rhyming sound Words in this book are gathered into entries on the basis of their rhyming sound. The rhyming sound is the last part of the word, from the vowel sound in the last stressed syllable to the end of the word.
    [Show full text]
  • No Slide Title
    Architecture, paradigms, idioms and weirdness of the C++ in your pocket! John Pagonis Senior Software Engineer / Senior Developer Consultant Developer Consulting Symbian Software Ltd Copyright © 2006 Symbian Software Ltd. Page: 1 Welcome :-) • This talk is about the Symbian OS C++ framework • For people interested in knowing the “Whys” … behind some Symbian OS idioms … behind Symbian OS C++ dialect … mobile development • For people that like to “hack” below the surface • For people familiar with (Symbian) OS, frameworks, language and architecture. • Why things are the way they are….. • …and remember “Interrupts, help unblocking’’ Copyright © 2006 Symbian Software Ltd. Page: 2 Why this talk • Because Symbian OS and Symbian OS C++ are different • Because it is interesting • Because people may be tempted not to spend time to appreciate it :-/ • Because of it’s mass adoption and deployment we run a risk of badly educated engineering… • Software archaeology teaches us a lot • “Never criticise what you don’t understand” Copyright © 2006 Symbian Software Ltd. Page: 3 Today’s menu • Some context • Intro to the OS • About language selection • Symbian OS C++ idioms (a.k.a. weirdness for a reason ;-) Copyright © 2006 Symbian Software Ltd. Page: 4 To bootstrap … • By Q406 there were 110 million Symbian OS phones! • Q406: 14.6 million shipped • There have been 157 different models on the market • By Sony Ericsson, Nokia, Motorola, Samsung, Sharp, LG, Fujitsu, BenQ, Siemens... • All phones use one of 3 different GUI platforms • The cost of making a first of a generation mobile can easily reach 40 million USD and take more than 2 years for an experienced manufacturer.
    [Show full text]
  • Symbian OS from Wikipedia, the Free Encyclopedia
    Try Beta Log in / create account article discussion edit this page history Symbian OS From Wikipedia, the free encyclopedia This article is about the historical Symbian OS. For the current, open source Symbian platform descended from Symbian OS and S60, see Symbian platform. navigation Main page This article has multiple issues. Please help improve the article or discuss these issues on the Contents talk page. Featured content It may be too technical for a general audience. Please help make it more accessible. Tagged since Current events December 2009. Random article It may require general cleanup to meet Wikipedia's quality standards. Tagged since December 2009. search Symbian OS is an operating system (OS) designed for mobile devices and smartphones, with Symbian OS associated libraries, user interface, frameworks and reference implementations of common tools, Go Search originally developed by Symbian Ltd. It was a descendant of Psion's EPOC and runs exclusively on interaction ARM processors, although an unreleased x86 port existed. About Wikipedia In 2008, the former Symbian Software Limited was acquired by Nokia and a new independent non- Community portal profit organisation called the Symbian Foundation was established. Symbian OS and its associated Recent changes user interfaces S60, UIQ and MOAP(S) were contributed by their owners to the foundation with the Company / Nokia/(Symbian Ltd.) Contact Wikipedia objective of creating the Symbian platform as a royalty-free, open source software. The platform has developer Donate to Wikipedia been designated as the successor to Symbian OS, following the official launch of the Symbian [1] Help Programmed C++ Foundation in April 2009.
    [Show full text]
  • Symbian OS Internals
    Symbian OS Internals Real-time Kernel Programming Jane Sales With Andrew Rogers, Andrew Thoelke, Carlos Freitas, Corinne Dive-Reclus, Dennis May, Douglas Feather, Morgan Henry, Peter Scobie, Jasmine Strong, Jason Parker, Stefan Williams and Tony Lofthouse And Jon Coppeard and Martin Tasker Reviewed by Andrew Ford, Andrew Jordan, Andrew Thoelke, David Bachelor, Dennis May, Jason Parker, Jonathan Medhurst, Jo Stichbury, Mark Shackman, Nigel Henshaw, Peter Scobie, Richard Fitzgerald, Simon Trimmer, Tony Lofthouse, Trevor Blight and William Roberts Symbian Press Head of Symbian Press Phil Northam Managing Editor Freddie Gjertsen Symbian OS Internals TITLES PUBLISHED BY SYMBIAN PRESS Wireless Java for Symbian Devices Jonathan Allin 0471 486841 512pp 2001 Paperback Symbian OS Communications Programming Michael J Jipping 0470 844302 418pp 2002 Paperback Programming for the Series 60 Platform and Symbian OS Digia 0470 849487 550pp 2002 Paperback Symbian OS C++ for Mobile Phones, Volume 1 Richard Harrison 0470 856114 826pp 2003 Paperback Programming Java 2 Micro Edition on Symbian OS Martin de Jode 0470 092238 498pp 2004 Paperback Symbian OS C++ for Mobile Phones, Volume 2 Richard Harrison 0470 871083 448pp 2004 Paperback Symbian OS Explained Jo Stichbury 0470 021306 448pp 2004 Paperback Programming PC Connectivity Applications for Symbian OS Ian McDowall 0470 090537 480pp 2004 Paperback Rapid Mobile Enterprise Development for Symbian OS Ewan Spence 0470 014857 324pp 2005 Paperback Symbian for Software Leaders David Wood 0470 016833 326pp
    [Show full text]
  • System Structure
    Fundamentals of Symbian OS System Structure Part One Copyright © 2001-2007 Symbian Software Ltd. Fundamentals of Symbian OS System Structure System Structure This Lecture Examines • DLLs • Memory management • Threads and processes 2 Copyright © 2001-2007 Symbian Software Ltd. Fundamentals of Symbian OS System Structure System Structure A brief high-level overview of Symbian OS: • It is a multi-tasking operating system based on open standards for advanced mobile phones The phones • Have a sophisticated graphical user interface (GUI) and a number of built-in applications which use it For example, messaging and calendar Is said to be an “open” platform because, in addition to the applications built in by the manufacturer • A user may install others such as games, enterprise applications (for example push e-mail) or utilities 3 Copyright © 2001-2007 Symbian Software Ltd. Fundamentals of Symbian OS System Structure System Structure Symbian OS is licensed to the world’s leading handset manufacturers • Arima, BenQ, Fujitsu, Lenovo, LG Electronics, Motorola, Mitsubishi, Nokia, Panasonic, Samsung, Sharp and Sony Ericsson Symbian OS has a flexible architecture • Allowing different user interfaces to run on top of the core operating system Symbian OS UIs include • Nokia’s S60 and Series 80 platforms, NTT DoCoMo’s FOMA user interface and UIQ 4 Copyright © 2001-2007 Symbian Software Ltd. Fundamentals of Symbian OS System Structure System Structure EKA1 and EKA2 • Refer to different versions of the Symbian OS kernel • The EKA stands for “EPOC Kernel Architecture” (Symbian OS was previously known as “EPOC”, and earlier still “EPOC32”) • EKA1 is the 32-bit kernel released originally in the Psion Series 5 in 1997 • EKA2 is discussed in the next slide 5 Copyright © 2001-2007 Symbian Software Ltd.
    [Show full text]
  • Symbian OS System Event Log and Postmortem Software Fault Analysis
    Symbian OS system event log and postmortem software fault analysis Zhigang Yang University of Tampere Department of Computer Sciences Computer Science M.Sc. thesis Supervisor: Jyrki.Nummenmaa, Erkki.J Salonen June 2008 ii University of Tampere Department of Computer Sciences Computer Science Zhigang Yang: Symbian OS system event log and postmortem software fault analysis M.Sc. thesis, 62 pages, 4 index and appendix pages June 2008 This thesis introduces a postmortem software failure analysis system named MobileCrash. The system is to catch Symbian OS panics and exceptions, to collect related information and to transmit crash logs to a central database for analysis. The basics of software failure analysis and similar systems on other operation systems are presented in the thesis. After revealing the system design of the MobileCrash, the system event log as a supplementary of the MobileCrash is introduced. The thesis also introduces the core of crash analysis together with real case studies in Symbian OS. Software developers can benefit from this thesis by learning about software failure analysis on Symbian OS. Project managers can get basic information on software failure analysis from this thesis to better control projects based on Symbian OS. Key words and terms: Symbian OS, crash analysis, MobileCrash, system event log iii Table of Contents 1. Introduction ...............................................................................................................1 2. Symbian OS based Smartphone software development............................................4
    [Show full text]
  • Introduction to the Architecture of Symbian OS
    3 Introduction to the Architecture of Symbian OS 3.1 Design Goals and Architecture Architecture is goal driven. The architecture of a system is the vehicle through which its design goals are realized. Even systems with relatively little formal architecture, such as Unix,1 evolve according to more or less well-understood principles, to meet more or less well-understood goals. And while not all systems are ‘architected’, all systems have an architecture. Symbian OS follows a small number of strong design principles. Many of these principles evolved as responses to the product ethos that was dominant when the system was first being designed.2 That ethos can be summarized in a few simple rules. • User data is sacred. • User time is precious. • All resources are scarce. And perhaps this one too, ‘while beauty is in the eye of the beholder, elegance springs from deep within a system’. In Symbian OS, that mantra is taken seriously. What results is a handful of key design principles: • ubiquitous use of servers: typically, resources are brokered by servers; since the kernel itself is a server, this includes kernel-owned resources represented by R classes 1 ‘Bottom up’ and ‘informal’ typify the Unix design approach, see [Raymond 2004, p. 11]. 2 That is, the ethos which characterized Psion in the early-to-mid 1990s. By then, the company was a leader in the palmtop computer market. It was a product company. 46 INTRODUCTION TO THE ARCHITECTURE OF SYMBIAN OS • pervasive asynchronous services: all resources are available to mul- tiple simultaneous clients; in other words, it is a service request and callback model rather than a blocking model • rigorous separation of user interfaces from services • rigorous separation of application user interfaces from engines • engine reuse and openness of engine APIs.
    [Show full text]
  • Copyrighted Material
    Index #define 3–4, 8, 18–19, 27–8, <= (less-than-or-equal-to abstract base classes 62–4, 77–8 246 comparison operator) abstraction 31–6, 62–4, 77–8 #endif 27 16–17 Accept 236–8 != #ifdef 27–8 (not equal comparison operator) access rules, classes 41–7, 12, 16–17 #include 27–9 290–2 , (comma operator) 16–17 && (AND Boolean operator) ACS see Authenticated Content . (dot operator) 15–17, 35–6 10–11, 14–17 > (greater-than comparison Signing & 16–17 operator) 16–17 active object framework, &= (and_eq compound assignment >> (input operator) 218–20, 226 components 149 operator) 16–17 << (left-shift bitwise operator) active objects & (address-of/reference operator) 16–17 see also asynchronous functions 4–7, 15–18, 21, 23–4, 44–7 < (less-than comparison operator) asynchronous service requests * 4–7, 10–11, 15–17, 23–4, 16–17 151–2, 199–200 43–7 ! (NOT Boolean operator) background tasks 163–5 ++ (increment operator) 5–6, 10–12, 14–17 blocks 147–8, 166 14–17 << (output operator) 218–20, CActive 150–67 += (assignment operator) 16–17, 226 59–64 >> (right-shift bitwise operator) cancelled outstanding request + (addition operator) 14–17 14–17 153, 161–3 COPYRIGHTED:: MATERIAL + (unary plus) 15–17 (scope resolution operator) cleanup stack 154–5, 162–3 15–17, 32–6, 44–7, 54–69 ; 249–50 client–server frameworks -> (arrow operator) 15–17 == (equal comparison operator) 199–208 - (subtraction operator) 15–17 common problems 165–7 16–17 - (unary minus) 15–17 concepts 147–67, 199–208 = (assignment operator) 16–17, -- (decrement operator) 5–6, 34–40, 54, 75–6,
    [Show full text]
  • Analisi E Comparazione Dei Sistemi Operativi Per Dispositivi Mobili
    Alma Mater Studiorum · Universita` di Bologna FACOLTA` DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Triennale in Informatica per il Management ANALISI E COMPARAZIONE DEI SISTEMI OPERATIVI PER DISPOSITIVI MOBILI Tesi di Laurea in Sistemi Operativi Relatore: Presentata da: Chiar.mo Prof. LUCA CAVINA DAVIDE SANGIORGI Sessione II Anno accademico 2010 - 2011 Questa tesi `ededicata ai miei nonni, ai miei genitori, a mia sorella Erika e alla mia fidanzata Margherita. Indice Introduzione i 1 Evoluzione dei dispositivi mobili 1 1.1 Dispositivi cellulari . 1 1.1.1 Origini . 1 1.1.2 Caratteristiche . 3 1.1.3 Sistemi operativi . 4 1.2 Dispositivi palmari . 4 1.2.1 Origini . 5 1.2.2 Caratteristiche . 6 1.2.3 Sistemi operativi . 7 1.3 Dispositivi Smartphone . 9 1.3.1 Origini . 10 1.3.2 Caratteristiche . 11 1.3.3 Sistemi operativi . 13 2 Sistemi operativi dei dispositivi smartphone 15 2.1 Android . 15 2.1.1 Versioni . 15 2.1.2 Caratteristiche techiche . 19 2.1.3 Applicazioni . 21 2.1.4 Ambiente di sviluppo . 23 2.2 iOS . 26 2.2.1 Versioni . 26 5 INDICE INDICE 2.2.2 Caratteristiche techiche . 30 2.2.3 Applicazioni . 33 2.2.4 Ambiente di sviluppo . 33 2.3 Symbian OS . 36 2.3.1 Versioni . 36 2.3.2 Caratteristiche techiche . 37 2.3.3 Applicazioni . 42 2.3.4 Ambiente di sviluppo . 43 2.4 Windows Mobile . 44 2.4.1 Versioni . 45 2.4.2 Caratteristiche techiche . 47 2.4.3 Applicazioni . 52 2.4.4 Ambiente di sviluppo .
    [Show full text]
  • IDA Pro 5.2 Feature Preview
    IDA Pro 5.2 feature preview HIGHLIGHTS Improved iPhone support IDA Pro 5.2 handles iPhone executables out of the box. Much improved ARM and PowerPC support The updated ARM module supports 200 new instructions . This module started with mere 38 instructions: the ARM was a small and sleek processor; now it boasts 3 different instruction encodings [arm, thumb, thumb32], dsp, floating point, vector, simd, and even java instructions! Much improved PowerPC module The PowerPC module has ~40 new instructions. Easy debugger scripts in IDC The debugger is finally available from IDC . There is no need to write complex plugins, install event handlers and express the logic in a finite state machine form. Simple and natural functions that allow to wait for the next debugger event and continue the script without yielding control to the ida kernel have been introduced. Improved type support The type system has been improved to support types of abitrary length and complexity (there was a limitation of 1024 bytes per type descriptor). The user interface offers a new window to display and manipulate local types. This allows for easy migration of types from one database to another. You can even export all local types in a compiler readable form! Detailed list of changes PROCESSOR MODULES + 6811: the output is more conforming to Motorola freeware assemblers (thanks for Alex Bratovic) + 68xx: CodeWarrior and GNU output support have been added by Alex Bratovic + ARM: add/sub instructions are better emulated + ARM: added bxj insn (Igor Skochinsky) + ARM: added
    [Show full text]