Oasis Feng

Archive for the ‘English’ Category

How to use unpublicized APIs in Symbian

1. Why are these APIs unpublicized? You can usually find the unpublicized APIs in four ways: APIs are written in SDK document, but marked as “Published Partner” or “Internal”. APIs are declared in header file with corresponding linkable library, but not documented. APIs are dumped from linkable library, but nowhere declared. APIs are exported from [...]

Find the UIDs and Capabilities of Symbian EXE/DLL

(1) Emulator Build (Win32 PE) First, find the start address of section “.SYMBIAN” by typically using “dumpbin /section:.SYMBIAN <Excutable File>”. The output looks like: SECTION HEADER #6 .SYMBIAN name 30 virtual size 17000 virtual address (00417000 to 0041702F) 1000 size of raw data 17000 file pointer to raw data (00017000 to 00017FFF) 0 file pointer [...]

Open Font Rasterizer in Symbian 9

In the great changes of Symbian 9, most plug-in interfaces have been migrated to ECOM framework, Open Font Rasterizer (OFS for short) interface is just one of them. Even from the newest SDK document of Symbian 9.2, the OFS related contents are still only for implementation before version 9. The following changes must be considered [...]

How to use font in Symbian

1. Forget about the stupid “Swiss”. As you may have already read the section “How to select a font” in Symbian SDK documents, the follow example code snippet show us the way of selecting a font. // Get an alternative font _LIT(KMyFontName,”Swiss”); CFont* myFont; TFontSpec myFontSpec(KMyFontName,1); // to get smallest Swiss font CGraphicsDevice* screenDevice=iCoeEnv->ScreenDevice(); screenDevice->GetNearestFontInTwips(myFont,myFontSpec); [...]

Explore and Hack the Server Heap in Symbian

One of the most important design in Symbian is the well-known server/client framework. As the server and client are in different process spaces, hacking the server is generally difficult to achieve by means of normal application. But another important framework provided by Symbian give us a chance, the Plug-in framework, which is also merged into [...]