searching phone dll's - Windows Mobile Development and Hacking General

hi,
i need to accede to the cellcore.dll, phone.dll and sms.dll to obtain the names of the published functions.
i have a program (for pc) to obtain the names of the entrypoints of a dll.
i have tried to copy the related dll's to the pc; but the explorer says a error: "the files located of the rom cannot be copied"...
please, can you send to me these libraries, please ?
bart

Related

Hook winsock API calls in WM5

My goal is to get the TCP data from a TCP application on the pocket pc
like data from internet explorer or active sync. I want to write a proxy
that forwards all TCP data to the application server (Web server,...).
So I have tried to replace the ws2.dll with a wrapper dll that forwards all
winsock API calls to the original ws2.dll. But when I replace the ws2.dll file
with my own and make a softreset the device hangs in boot screen and
I must do a hardreset. Could not get this to work on WM5 but it works great
on WM2003 devices.
So I have tried another thing. Have heard about API hooking and want to
try this with winsock API functions (connect, WSAConnect, send, recv,...).
After several days of investigation in some forums I have found many
informations about API hooking and API sets win WM5. But when I look
deeper there is no server process for winsock API calls. So I cannot
change the method adresses.
Another idea was to hook LoadLibrary() API function and when ws2.dll is
loaded from an application I will load my own dll and forward all calls to
the original ws2.dll. But LoadLibrary() has also no server process.
Has anybody another idea how to do this?
Thanks for any information on this.
Houser
Hi Houser!
I think the reason your original method failed on WM5 is because all system DLLs must be signed or the system will not load them.
There are several threads on this forum (sorry, can't remember precise link right now) that explain how to create\use certificates, and sign files, so just search for that.
Good luck.
Thanks levenum for your reply.
I also have thought about signing the dll but I have disabled certificate
check on the WM5 device with the Cert_SPCS.CAB file and now
my system loads every dll without asking the user.
I have written some test applications that explicite load my ws2.dll with
a different name (ws2xx.dll) and then in my ws2xx.dll I load
the org ws2.dll from \windows dir and all worked fine. I can use
any winsock function and can make TCP connects and so on.
So I think signing is not the problem, only when I do not use
the Cert_SPCS.CAB file to disable it?
Or are system file always checked at boot phase?
That would then explain the problem maybe.
Regards
Houser
I am pretty sure system files are treated separately. I once used a device with no cert ROM, which ran all programs and loaded DLLs without asking for certificate, but refused to do so for system files (MUIs).
I think you should give certificates a chance before moving on to more complicated solutions.
So I should try to sign my wrapper dll with a certificate.
So I will try to sign with the Visual Studio 2005 developer
certificate. And then I must install this certificate on my device
so that the system trusted the dll file with this certificate?
Houser
Another thing: What do you mean with MUIs?
That's correct.
There are provisioning CABs in the 2005 SDK. You just run them on your device and they insert all the test certificates.
SDK also shows how to provision devices through RAPI, but most WM5 ROMs block that option.
Also you should use the 'privileged' execution certificate to make sure you have maximum access to the system.
MUIs are duplicate system DLLs that contain resources for other languages. For example: coredll.dll.0409.mui will contain English resources for coredll.dll (409 is hex for English code page). They are used to switch interface languages both on PC windows and mobile. (Metalanguage User Interface).
P.S.
If you want, there are XML templates for provisioning CABs in the SDK, and makecert.exe that let you create your own certificate and put it on the device.
Another thing: What do you mean with MUIs?
So I have tried this:
1) Installed the SdkCerts.cab certificates on the device (copied the file on
the ppc and tap in explorer on it) A success message was displayed from
the setup process.
2) In VS2005 I have set in the project settings the cert signing to "Sample
Privileged Root for windows mobile SDK" certificate and rebuild my dll.
In the dll file properties I can see the certificate.
3) Have copied my ws2.dll file to \windows and replaced the org ws2.dll file
there, my dll loads a copy of the org ws2.dll (ws2copy.dll) that is also
in the \windows dir
4) Then the big moment: Soft reset and..... hanging again in boot screen
The installed certificates did not appear in the pocket pc certificate manager.
Do you know if they should appear there or not?
Maybe the SDK certificates are not imported correctly?
Thanks for you help!
Houser
I'm sorry my solution didn't help.
The test certificates do not show in the list (don't know why).
The way I see it there are two possibilities:
1. I was wrong about the certificates. (Though I think you may still need them)
2. There might be a problem with the copy DLL you try to load (ws2copy.dll). Is it from a good dump? Have you tried loading it from a test app? Is it signed? I think it needs to be signed to.
Sorry I can't give you advice on an alternate way. Insufficient knowledge...
It is very frustrating, I do not knwo how many
hard resets I have made in the last few weeks. :?
I have written a test app that loads my winsock dll file and
then my dll loads the copy ws2.dll file. The copy ws2.dll file
is from a platform builder 5.0 build.
These tests with my test app all worked fine, I can make TCP connects
and do all the winsock stuff like I load the org ws2.dll file directly.
I have even disabled certificate check on the device and tested
with unsigned dll and it works too.
The copy dll from PB 5.0 is not signed. may be this could
be a problem when my dll is loaded in boot time.
Do you know a way to sign the copy PB dll with the SDK certificate?
Thanks man!
Houser
Signing files (DLL, EXE, CAB) is very easy. In the SDK, there is a file called signcode.exe. It will give you a step by step wizard to sign the file. The only additional thing you will need is the certificate files themselves which should also be in the SDK.
Got it to work with signing the copy dll file and
now after soft reset my device does NOT hang. :lol:
Many thanks for your support levenum!
That is very good but now I have figured out that
I cannot make a localhost connect on a local tcp port
on the device. That has something to do with WM5
because it was working under Wm2003. Strange..very
strange.
Houser

How to copy .dll files from the device?

I tried to copy a bunch of .dll files from \Windows
I encountered a couple of problems doing that:
1. Some files are not shown on the PC in Windows Explorer though I've enabled viewing hidden and system files. However, these files are shown on the device in Resco Explorer, but can't be copied to e.g. \Storage Card
2. Some files are shown on PC in Windows Explorer but are in use and therefore can't be copied
What are the tricks to back up those files?
PS: My device (S710 Vox) is unlocked using M$ Security Manager
No tricks.
If you bothered to learn anything about your device you would know that these files are part of ROM and can not be copied out.
Don't mean to be rude but this was asked and answered many times before. Do a search on "ROM dump"
Yeah stupid me...
Dumped the ROM and got the files I want
(http://wiki.xda-developers.com/index.php?pagename=Vox_HowToDumpRom)
Actually I can't find coredll.dll in my ROM dump.
I used viewimgfs.exe to dump Part02. I can't use viewimgfs.exe on Part00 and Part01.
Is there another tool which can retrieve coredll.dll and perhaps other missing files?
Another question: can the S710 be flashed by using imgfs tools v1.82 to create the image(s) and a generic HTC flash tool?

Build Cab File of an app

Hey Guys!
How can i Build a cab for my programs in vs2005 or have i to use another tool to do this?
thanks SciLor
WinCe cab manager does the job.
its not free though.
but its worth it
isnt there another tool i can use?
look in the Visual studio's help file on making an installer..i cant remember now but i did create a cab once..btw which version of VS do u use
This is from My VS 2008 Pro Documentation
This section describes creating CAB files for distributing ATL and MFC controls over the Internet. If you need more information about CAB files, see the Cabinet File Reference in the Windows SDK documentation (in MSDN Library/Setup and System Administration/Setup/Setup API/Overview/Cabinet Files).
To create a CAB file:
Create an INF file.
Run the CABARC utility.
Creating an INF File
The INF file is a text file that specifies the files (such as DLLs or other OCXs) that need to be present or downloaded for your control to run. An INF file allows you to bundle all the needed files in one compressed CAB file. By default, files with the same version numbers as existing files on the user's hard disk will not be downloaded. For more information about INF files and their options, including how to create platform-independent INF files, see About INF Files and Using INF Files in the Windows SDK documentation (in MSDN Library/Setup and System Administration/Setup/Setup API/Overview/Setup Applications).
As an example, the following INF will be used to create a CAB file for the ATL Polygon control. You can build POLYGON.DLL by downloading the ATL POLYGON sample files from the Visual C++ CD and building a MinSize version. If you build a MinSize version of the Polygon control, you need one additional DLL, ATL.DLL. Since ATL.DLL needs to be registered before POLYGON.DLL, put the ATL.DLL first in the INF file:
Copy Code
; Sample INF file for POLYGON.DLL
[version]
; version signature (same for both NT and Win95) do not remove
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
polygon.dll=polygon.dll
atl.dll=atl.dll
; needed DLL
[atl.dll]
file-win32-x86=thiscab
FileVersion=2,00,0,7024
DestDir=11
RegisterServer=yes
[polygon.dll]
file-win32-x86=thiscab
clsid={4CBBC676-507F-11D0-B98B-000000000000}
FileVersion=1,0,0,1
RegisterServer=yes
; end of INF file
This INF specifies that ATL.DLL with the given version needs to be installed on the system. If ATL.DLL doesn't exist already on the system, it will be downloaded from the CAB file created with this INF. "thiscab" is a keyword meaning the CAB containing this INF. You can also download a needed DLL from an HTTP location by specifying an absolute or relative path, for example:
Copy Code
file-win32-x86=http://example.microsoft.com/mydir/NEEDED.DLL
The keyword "file-win32-x86" identifies the platform as x86 specific.
You can get the version number of a file by clicking the right mouse button on the file in Windows Explorer. Select Properties from the list that appears, then select the Version tab on the dialog box that appears. You will sometimes need to insert an extra 0 in the file version. For example, the version number for the ATL.DLL is shown as 2.00.7024 in the dialog box. This becomes 2, 00, 0, 7024 in the INF file.
The "DestDir" is where the directory where the file will be loaded: 11 specifies the system directory WINDOWS/SYSTEM or WINNT/SYSTEM32; 10 specifies the windows directory, WINDOWS or WINNT. If no DestDir is specified (typical case), code is installed in the fixed OCCACHE directory.
The "clsid" is the CLSID of the control to be installed.
Once you have created an INF file, run the CABARC utility (available in the Mssdk\Bin directory) to create the CAB file. You should run CABARC in the directory that contains your source files. On the command line, put the source files in the order they appear in the INF and the INF file last. For example, to make a CAB file for the Polygon control from the INF above, use the following command:
Copy Code
C:\MSSDK\BIN\CABARC -s 6144 POLYGON.CAB ATL.DLL POLYGON.DLL POLYGON.INF
The POLYGON.CAB file contains a compressed version of ATL.DLL and POLYGON.DLL along with the information needed to extract them in the POLYGON.INF file.
For an example of how to parse and extract component files from CAB files, see the CabView sample in the MSDN Online Code Center at http://msdn.microsoft.com/visualc/downloads/samples.asp (select the CabView link).
The DLL files you need to include with an MFC control are MSVCRT.DLL, MFC42.DLL, and OLEPRO32.DLL.
Running the CABARC Utility
The CABARC utility is available in the Mssdk\Bin directory. For example:
Copy Code
C:\MSSDK\BIN\CABARC -s 6144 n MYCTL.CAB NEEDED1.DLL NEEDED2.DLL MYCTL.OCX MYCTL.INF
CABARC creates a CAB file called MYCTL.CAB.
You should run CABARC in the directory that contains your source files (the INF, OCX, and DLL files). The files to be archived in the CAB file should be listed on the command line in the same order they are listed in the INF file. In the example above, the INF file should list NEEDED1.DLL first, then NEEDED2.DLL, and then MYCTL.OCX.
The -s option reserves space in the cabinet for code signing. The n command specifies that you want to create a CAB file. For a list of CABARC commands and options, type CABARC alone on the command line:
Copy Code
C:\MSSDK\BIN\CABARC
Click to expand...
Click to collapse
I found an older version of this online:
http://www.aperitto.com/content/view/14/159/
I have version 2.0 and it works great without registering the copy. Look into it
I can't find the original setup I used... sorry, I will keep looking... but I've heard good things about SPB's installatation creator
http://www.spbsoftwarehouse.com/products/ezsetup/index.html?en
It is easy with VS 2008 there you can create a CAB Builder

Sous-Chef's Kitchen Utensils & Appliances Review

Intro
Welcome; I wanted to offer a little "something" back to the XDA community in the hopes that it will benefit others and to show my appreciation to the folks that make XDA the great community that it is.
If you've gotten excited about the idea of cooking your own ROM's, you've probably had to spend several weeks of reading, asking questions, getting acquainted with your facility, and figuring out where you're going to plug your utensils and/or appliances. Now comes the easy part, cooking quality ROM's ... right? It's gotta be simple after that, I mean that was all the hard stuff ... right? Well ...
As any seasoned chef will tell you, the quality of a meal greatly depends on quality ingredients, utensils, and appliances. Ingredients are a personal preference and some chefs can make Macaroni & Cheese taste like the best meal in the world; and how do they accomplish this? In many cases, they use quality utensils and appliances and understand the limitations of them.
Equipping your kitchen with the right tools ensures that you're able to provide quality meals to your patrons - resulting in return visits.
Outro
The goal of this thread is encourage seasoned chefs to share their knowledge of quality tools that they use in their day-to-day activities of ROM cooking.
Some of these tools are free, others have a trial version, and others must be purchased. The goal isn't to promote any one specific tool, it is to provide objective (and hopefully unbiased) reviews of these tools. Lastly, a moderator or senior chef may periodically review and cleanup this thread/post to ensure that it remains on-topic and consistent in format ... so don't take offense; you'll always be credited for your contribution.
Format For Each Post
Take a moment to review existing tool reviews; the goal is to share your experiences in using the tool. The review should contain the following information:
Name of the tool (same as in Title of post)
Version
Author
Link to tool
Cost (Free, Adware, Trialware, Purchase)
Reviewed by [your XDA member name]; in case the post is moved near the top of the thread at a later date.
Summary of what the tool does (uses) and any example you can think of.
Tips on how to use the tool; things you discovered when using the tool.
Potential pitfall (gotcha's) when using the tool; things you discovered when using the tool.
Reference threads (optional); links that might offer some additional usage information.
No attachments please. Post them in the original thread for the tool.
List Of Tools To Review
List Of Tools To Review
Here's a list of tools that I'd like to review and add to this thread. The goal is to review the various tools that chefs will often use while preparing their ROMS; any seasoned chefs (aka volunteers)? If so, post your review in the thread.
CABARC: MS Cabinet SDK in self executing zip
CABtoEXT
CeRegEditor
DSM Assembler Manifest: DSM Editor
EmEditor: advanced string search & editor
HEX Workshop: Intermediate HEX editor
ini2reg : Preformatted ini file for customized Registry extraction
IDA Pro: assembler/disassembler (extremlely advanced)
NBHextract: .NBH Extraction
NBHUtil: .NBH Generation
Notepad2: intermediate multi-editor (lua, xml, cmd, etc.)
Paint.NET: graphics editor
ProvXMLCreator: Autoconfiguration for WiFi, Certificates and email
PE Explorer: resource editor
PHM Registry Editor
PreKitchen Tool: import SYS to kitchen
RECMOD: recode/decode modules
REG2XML: convert .reg and .rgu files to xml
RegLogger: registry logging
ROM Extractor (Link 2)
TrayGUID PC: generate unique GUID to clipboard by clicking it
UAE Debugging Tool (UAEDT = Unrecoverable Application Error Debugging Tool)
WinCE CAB Analyzer (MSCEInf): .CAB extraction
WinCE CAB Manager: .CAB creation
XVI32: basic HEX editor
Resource Builder
Windows Mobile Developer Power Toys
Any others? Feel free to post a request in the thread or send me a PM.
Quick Post Index
Quick Post Index
Sorted alphabetically; at least I hope it is.
CAB/OEM Package Converters
CAB2OEM
CAB to OEM to EXT GUI Suite
Package Creator
Device Side Manifest (.DSM) Editors
BuildDSM
DSM Analyzer
DSM Builder
DSM Dependency Dumper
DSM Editor
Editors
EditPad
SciTE
Syn Text Editor
XML Notepad
Graphics (.BMP, .JPG, .PNG, etc.)
GNU Image Manipulation Program (GIMP)
IcoFX
Kitchen Porting Tools (SYS, OEM, etc.)
Initflashfiles Hex2Text
SYS Porting Tool For Ervius Kitchen
Process, Registry
FDC Task Manager (aka DotFRED)
Registry Workshop
Resource (.DLL, .EXE, etc.)
Dependency Walker
File Editor Suite
PEinfo
Resource Hacker
ROM Squeezer
Search/Comparison/File Managers
Beyond Compare
Compare It
Directory Opus
Senax's Library Of Links
Senax's Library Of Links
There are links to SDK's, developer tools, power toys and more. More links are better than less, so we say in Holland Don't you agree??
Have a nice day folks,
Senax
:UPDATE:
How could I forget to mention;
System Center Mobile Device Manager Resource Kit Tools
That was my left sleeve of links...
Q: Are you going to make it any easier for us?
A: That's a good question! No, (not for the Moderator(s) ) I've no intention of that just yet. First more power links, while thoroughly reviewing stuff, then searching for new links (references) and so on. Then a new review
Have a nice day / night while clicking all them links in ...,
Senax
Here some links to SDK's to inform others and get them reviewed:
Windows Mobile 5.0 SDK for Pocket PC
Windows Mobile 5.0 SDK Documentation
Windows Mobile 6 Documentation
Windows Mobile 6 SDK Refresh
Windows Mobile 6 SDK Documentation
Windows Mobile 6.5 Developer Tool Kit
Windows Mobile 6.5 Documentation
Windows Mobile 6.5.3 DTK
.NET XML PowerToys:
Generating XML Documents from XML Schemas
The XML Diff and Patch GUI Tool
Using the XML Diff and Patch Tool in Your Applications
Using the XSD Inference Utility
XML Tools Update
MSXML SDK
Power Toys for .NET Compact Framework 3.5
&
NETCFv35.Messages.EN.wm.cab ; exception messages
Windows CE CAB Installer SDK (though named SDK its more a CDK (Commercial DK), because you've got to pay $5 for it).
Awesome for UC (User Customization).
Microsoft SDKs (every and all SDKs from MS) for;
Azure Services Platform
Windows Desktop
Office
Devices
Windows Live Services
Server Technologies
Social
Games
Web Development
Other
Developer Tools:
Installing Developer Tools on Windows Mobile
Development Tools and Resources for Windows Mobile
Development Resources for WM on xda-developers.com
UPDATED: http://forum.xda-developers.com/showthread.php?t=445396
What Microsoft does not tell is that when they shot themselves in the foot with 'Vista', they were forced to introduce Win7 earlier as planned. Thus VS2008 (read WM) all its links have been moved to > :NULL
Well maybe not, though I've a hard time finding them .. and I do know how to tweak-search. We (the users) are forced into using VS2010 now! It's all 'embedded' now (cq sort of virtual). Ah, well.. it's not that bad
Windows Mobile 6 Localized Emulator Images
http://www.microsoft.com/downloads/...A8-1DD7-426F-A913-4F370A65A582&displaylang=en
Brief Description
This package includes localized Windows Mobile 6 emulator images that can be used with Visual Studio to test applications on different localizations or simply as standalone emulators without Visual Studio 2005!
Microsoft Power Toys:
Windows Mobile Network Analyzer PowerToy (Released with WM5 though usable with WM6)
Windows Mobile Device Security Manager PowerToy(Released with WM5 though usable with WM6)
General (Embedded) WM 6.x CE PowerToys link
Nowadays there 'll be no more Power Toys from Microsoft, instead we get:
Not (all) Windows Mobile specific: Microsoft Solution Accelerators & ~ A-Z technet :Free power(toys);
MSDN Code Galery third party resources
Windows Phone Developer Tools Beta
XML Notepad 2007 References:
Since this nice free editor is on CodePlex it is nice to mention this link;
http://xmlnotepad.codeplex.com/
I also found this link in my BookmarX_Manager; http://msdotnetsupport.blogspot.com/...-tutorial.html (their MORE button is the best TUTORiAL I've seen online about XML Notepad!!)
Hopper
There's a 'new' Hopper (device stress tester included In WM Developer Power Toys) for WM6> (not WP7). Hopper its two versions WM5 WM6; http://forum.xda-developers.com/show...45#post7549645
[PC] works for device too if its cradled.
Q: Is a file signed with a signature?
A: Let us check that using SystemInternals_Suite (click on the left of that page) its CLI SigCheck.exe
SigCheck; Verify that images are digitally signed and dump version information with this simple command-line utility.
ARM
These links are NOT for a review, these are to inform people about ARM processors used in WM and WP:
ARM Classic Processors
ARM Infocenter
ANDROiD SDK
http://developer.android.com/index.html
Phoenix SDK
Phoenix is the code name for a software optimization and analysis framework that is the basis for all future Microsoft compiler technologies. The Phoenix framework is an extensible system that can be adapted to read and write binaries and MSIL assemblies and represent the input files in an IR, which can be analyzed and manipulated by applications by using the Phoenix API. The code can then be written in binary or JITable form for execution.
It enables teaching and collaborative research in code generation, optimization, program analysis, binary transformation, and software correctness. Phoenix is used as a research platform by Microsoft Research and will be the universal compiler backend for upcoming Microsoft languages and development tools.
Phoenix SDK April 2008
How to install Phoenix SDK
Senax's Library of Links ... continued
AT Commander
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
[PC] ATCommander;
http://atcommander.com
The above link does not provide us with much information/links thus I searched some more
and came up with; http://atcommander.com/download/. Same page though not reachable via the first link. Anyway here you can download the latest .zip or .exe.
Note: My anti virus started to whine as soon as I unpacked the zip, though when I ran it in a VMware workstation everything worked smoothly.
Also do not forget to check this link;
http://atcommander.com/public/
Here some AT Commands reference links provided in two pdf files;
http://atcommander.com/download/AT_C...Specification/
[WM5/6] ATCommander;
http://forum.xda-developers.com/showthread.php?t=375395
Senax's Library of Links ... continued
Reserved for future expansion.
Resource Hacker
Name: Resource Hacker
Version: 3.5.2 beta
Author: Angus Johnson
Link: http://angusj.com/resourcehacker
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
Resource Hacker is a freeware utility to view, modify, rename, add, delete and extract resources in 32bit Windows executables and resource files (*.res). Cursor, Icon, Bitmap, GIF, AVI, and JPG resource images can be viewed and WAV, MIDI audio resources can be played. Menus, Dialogs, MessageTables, StringTables, Accelerators, Delphi Forms, and VersionInfo resources can be viewed as decompiled resource scripts. Menus and Dialogs can also be viewed as they would appear in a running application.
Resources can be saved as image files (*.ico, *.bmp etc), as script files (*.rc), as binary resource files (*.res), or as untyped binary files (*.bin). Resources can be modified by replacing the resource with a resource located in another file (*.ico, *.bmp, *.res). Dialog controls can also be visually moved and/or resized by clicking and dragging the respective dialog controls prior to recompiling with the internal compiler. Additionally, resources can be added to an application by copying them from external resource files (*.res).
Tips:
Always keep a copy of the unaltered file as a backup.
Gotcha's:
Even though it is possible to alter the resources, some applications automatically resize controls and dialogs during operation.
Some applications may cease to function when the resource file is altered.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=511876
http://forum.xda-developers.com/showthread.php?t=562645
http://asukal.seesaa.net/article/6114096.html
Beyond Compare
Name: Beyond Compare
Version: 3.1.10
Author: Scooter Software, Inc.
Link: http://www.scootersoftware.com
Cost: Trialware, Purchase
Reviewed By: aruppenthal, Sous-Chef
Summary/Review:
Beyond Compare allows you to quickly and easily compare your files and folders. By using simple, powerful commands you can focus on the differences you're interested in and ignore those you're not. You can then merge the changes, synchronize your files, and generate reports for your records. You can compare entire drives and folders at high speed, checking just sizes and modified times. Or, thoroughly verify every file with byte-by-byte comparisons.
Once you've found specific files you're interested in, Beyond Compare can intelligently pick the best way to compare and display them. Text files can be viewed and edited with syntax highlighting and comparison rules tweaked specifically for documents, source code, and HTML. Data files, executables, binary data, and images all have dedicated viewers as well, so you always have a clear view of the changes. Beyond Compare is a "must have" tool; it will save hours of time. There is no better way to compare new builds and look for what has changed. When properly configured, it can display file versions which make integration of multiple sets of OEMdrivers a breeze. Swapping SYS files is never easier; you get to see dates of creation and can easily move files from one set to the other with a few clicks.
Here are some examples of how comparison can be used:
Compare one .\SYS folder version (ex: 23541) against an updated .\SYS folder version (ex: 23549) so as to determine what changes have occurred in registry files.
Compare one version of a ROM package (ex: Manila_2.1) against a newer version of the package (ex: Manila_2.1.1).
Compare a device ROM (ex: Mega_HTC_Europe_1.28.401.4) against another ROM (ex: Mega_TMO_UK_1.33.110.2) of the device to see what the HTC changed.
Compare specific files such as .XML, .PROVXML, etc.
Tips:
You can copy the installation folder from your system to an external drive. You can then launch the .EXE from the external drive on another system - no need for installation.
Enable the "Send Files To The Recycle Bin" option to avoid having a file permanently deleted when it is removed from the list.
Gotcha's:
Editing INITFLASHFILES.DAT with the built-in editor is not recommended as it may cause corruption resulting in ROM issues.
Reference Links:
http://forum.xda-developers.com/showpost.php?p=5979483&postcount=11
http://forum.xda-developers.com/showpost.php?p=6251478&postcount=27
IcoFX
Name: IcoFX
Version: 1.6.4
Author: Attila Kovrig
Link: http://icofx.ro
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
IcoFX is an all-in-one freeware icon editor solution for icon creation, extraction and editing. It is designed to work with Windows XP, Windows Vista, Windows 7, Windows CE and Macintosh icons supporting transparency.
Easily convert your favorite images into icons, or icons into images. IcoFX gives you the possibility to create icon libraries or change icons inside EXE files. You can extract icons from other files, including Windows Vista, Windows 7 and Macintosh files. You can easily work with multiple files using the batch processing capability of IcoFX.
Tips:
Always keep a copy of the unaltered file as a backup.
Choose free images to avoid potential copyright pitfalls.
Gotcha's:
None discovered.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=511876
Dependency Walker
Name: Dependency Walker
Version: 2.2
Author: Steve P. Miller
Link: http://www.dependencywalker.com
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
Dependency Walker is a utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. For each module found, it lists all the functions that are exported by that module, and which of those functions are actually being called by other modules. Another view displays the minimum set of required files, along with detailed information about each file including a full path to the file, base address, version numbers, machine type, debug information, and more.
Dependency Walker is very useful for troubleshooting system errors related to loading and executing modules. Dependency Walker detects many common application problems such as missing modules, invalid modules, import/export mismatches, circular dependency errors, mismatched machine types of modules, and module initialization failures. It handles all types of module dependencies, including implicit, explicit (dynamic / runtime), forwarded, delay-loaded, and injected. For example, a quick way to determine what additional packages may be required for an application:
Open each .DLL/.EXE file in the package (ex: YouTube)
Note the files that are flagged as missing.
Search the source (usually an extracted ROM) for those files; odds are you'll need the entire package contents where the file is found.
Repeat the process until all of the necessary files are found.
Dependency Walker runs on Windows 95, 98, Me, NT, 2000, XP, 2003, and Vista. It can process any 32-bit or 64-bit Windows module, including ones designed for Windows CE. Windows CE modules use the same module format (known as the "Portable Executable" format) that is used for modules written for Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, Windows XP, Windows 2003, Windows Vista, and beyond. There is no version of Dependency Walker that actually runs on Windows CE, but you can open Windows CE modules with Dependency Walker on a standard Windows computer.
Tips:
Create a folder with all of the common WinCE files in it and set a custom search order that includes this path and save it to a file.
Use RECMOD to recode modules that may be required.
Use the "/d:your_file.dwp" command line option to pass a custom search order file to Dependency Walker.
Gotcha's:
Dependency Walker automatically tries to locate dependent modules using the default Windows module search path. For Windows CE modules, this can cause errors since non-CE modules may be found in the default search path. To fix this, you can use Dependency Walker's "Configure Module Search Order" dialog to remove all standard paths and then add a private folder of your own that contains only CE modules.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=576027
FdcSoft Task Manager (aka dotFRED Task Manager)
Name: FdcSoft Task Manager (aka dotFRED Task Manager)
Version: 3.3
Author: FdcSoft (aka dotFred)
Link: http://www.dotfred.net/TaskMgr.htm
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
The Task manager application is a bunch of several useful tools in just one tool. It includes a Process manager, CPU usage, Application Manager, Service Manager, Device Manager (only WM2005 and above), Windows Manager, Notification Manager, IP Config utility, Ping utility, Net Stats utility, Registry Editor, and Run program utility.
Although, the application is intended to run on a Mobile Device, it is an excellent tool to use during the preparation of OEM packages. For example, the following procedure speeds up the process of converting from .CAB to OEM:
Copy the files from extract .CAB to the device
Import the registy settings
Process the .PROVXML files.
Reboot the device
Test application
Tips:
The application can run from an SD card.
.RGU files can be renamed to .REG; make sure to remove the hidden, system file attributes.
Gotcha's:
.PROVXML files require a minor adjustment; see reference link below.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=519548
Directory Opus
Name: Directory Opus
Version: 9.5.3
Author: GP Software
Link: http://www.gpsoft.com.au
Cost: Trialware, Purchase
Reviewed By: ceesheim
Summary/Review:
Directory Opus 9 is a Windows File Manager & Explorer replacement that includes, user-definable file display views, User-definable toolbars, menus, file types, powerful image and file viewers, built-in ZIP and Secure SSL/SSH FTP, easily synchronize files & find duplicates, quick or advanced search and rename functions.
The file manager is extremely useful for moving files between folders, making backup copies of files, viewing pictures and playing sounds, running other utility programs on lists of files, deleting unwanted files and many other "housekeeping" tasks. If you are working with a lot of files in kitchens or Manila, this is a must have.
Tips:
Take a few moments to get familiar with the options.
Can view .XML , HEX , .TXT , .DOC , .CPR , .PROVXML , .MSCR , .DSM , .RGU And many more
In view mode it can tell you if a manila file is a lua or a QTC1 file (in HEX)
Download lot of Plugins & Media Capabilities (RTF-Viewer , CSV-Viewer , Source Code Viewer , Postscript-Viewer , RVF File , EXE/DLL Metadata)
Gotcha's:
None discovered.
Reference Links:
None.
XML Notepad 2007
Name: XML Notepad 2007
Version: 2.5
Author: Microsoft
Link: http://www.microsoft.com/DownLoads/...49-787d-4118-ba5f-4f30fe913628&displaylang=en
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
XML Notepad 2007 provides a simple intuitive user interface for browsing and editing XML documents. XML Notepad provide synchronized Tree View with Node Text View for quick editing of node names and values, incremental search (Ctrl+I) in both tree and text views, so as you type it navigates to matching nodes, Cut/copy/paste with full namespace support, drag/drop support for easy manipulation of the tree, even across different instances of XML Notepad and from the file system.
Additionally, XML schema are instantly validate while you edit with errors and warnings shown in the task list window. It includes intellisense on expected elements and attributes and enumerated simple type values, inplace HTML viewer for processing xml-stylesheet processing instructions, built-in XML Diff tool, support for XInclude, dynamic help from XSD annotations, and goto definition to navigate includes and XSD schema information.
It's a must have when working with .XML and .PROVXML files.
Tips:
Ensure that .NET Framework v2.0 (or higher) is installed
Gotcha's:
None discovered.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=519548
Field Notes: Beyond Compare
Name: Beyond Compare
Version: 3.1.10
Click to expand...
Click to collapse
Hi Hilaireg Long time no talk
I want to emphasize the usage of Beyond Compare. This is the MOST important tool a chef can own. It will save hours of time. There is no better way to compare new builds and look for what has changed. When properly set up it shows file versions making integration of multiple sets of OEMdrivers a breeze. Swapping sys files is never easier as you get to see dates of creation and can easily move files from one set to the other with two clicks.
There is one thing not mentioned as far as cons. Using it on initflashfiles.dat is not recommended. Every time I have done so major issues followed by a restore of the original files.
Also when using beyond compare be SURE to set it to send files to the recycle bin. If not it will permanently delete them
EditPad
Name: EditPad
Version: Lite
Author: Just Great Software Co. Ltd.
Link: http://www.editpadpro.com/editpadlite.html
Cost: Free (Lite), Purchase (Pro)
Reviewed By: Laurentius26
Summary/Review:
EditPad Lite is a general-purpose text editor, designed to be small and compact, yet offer all the functionality you expect from a basic text editor. EditPad Lite works with Windows 98, ME, NT4, 2000, XP, Vista, and 7.
Additionally, You can open as many files in EditPad at a time as you want and change between the open files by clicking on their tabs without the hassle of overlapping windows. EditPad reads and writes UNIX (LF only) and Mac (CR only) text files (in addition to DOS/Windows CR+LF files, of course). EditPad natively supports Unicode text files and text files encoded in a variety of legacy code pages. EditPad supports all Windows and ISO-8859 code pages, plus a wide selection of DOS, KOI8 and EBCDIC code pages.
This means EditPad can edit any text file, whether it was saved on a Windows or Linux computer, an old DOS PC or an IBM mainframe. EditPad fully supports double byte character systems (DBCS) so you can edit texts written in Far East languages, such as Chinese, Japanese or Korean, as easily as those written in European languages.
EditPad is a very handy editor for viewing/editing .rgu, .dat, .xml, .html, and multiple formats - a must have for your kitchen.
Tips:
If you run EditPad again when there is already an instance running, the file(s) you wish to edit will be opened by the existing EditPad window. This means there will be at most one EditPad window open, which will save you from a lot of task switching. Of course, if you do need more instances, simply pick View|New editor from the menu.
EditPad puts an icon in the system tray that remains visible, even if EditPad is closed. This way you have easy and fast access to EditPad, without the need to keep it running all the time.
Gotcha's:
None discovered.
Reference Links:
None.
DSM Editor
Name: DSM Editor
Version: 1.7
Author: ervius
Link: http://forum.xda-developers.com/showthread.php?t=523139
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
In early kitchen and ROM cooking, chefs used to delete Device Side Manifest (.DSM) files from OEM packages that resided in the .\PACKAGES and/or .\EXT folder. Other chefs would delete the .DSM file and create an empty version of a .DSM file as a placeholder. As we learned more about the Windows Mobile, we discovered that .DSM files contained pertinent information that was used during the compilation of a ROM and should be properly managed. DSM Editor is a utility to view and modify components of a .DSM file .DSM such as certificates, dependencies, shadow order, and list of modules/files.
A Device Side Manifest file (.DSM) describes the contents of a package and has the name <GUID>.DSM. Each package has its own .DSM file. The .DSM file is a binary file and the format may change at any time. The .DSM file is created by parsing a package definition file, package shadow file, and a build manifest file. Each item specified within a build manifest file is used to determine the item's file type.
The .DSM file contains the following information:
Public key certificate data used for signature validation.
Version information which includes the previous version of a package so as to create a delta package between an older or baseline package and a new package.
Package GUID
Dependency GUID information
File names and file information in the form of raw file size and original VBase for MODULES so they can be re-based and differentiated during an update.
Tips:
Always keep a copy of the unaltered file as a backup.
A .DSM file should contain a complete (exact) list of all modules/files found in the package folder.
The .RGU file should be excluded from the .DSM file.
Kitchen-specific files should be excluded from the .DSM file.
Gotcha's:
Hidden (H) and/or System (S) attributes may need to be cleared (ATTRIB -s -h -r) from .DSM files before they can be edited.
Requires .NET Framework.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=520009
DSMBuilder
Name: DSMBuilder
Version: 2008-08-08
Author: anmendes
Link: http://forum.xda-developers.com/showthread.php?t=412272
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
In early kitchen and ROM cooking, chefs used to delete Device Side Manifest file (.DSM) files from OEM packages that resided in the .\PACKAGES and/or .\EXT folder. Other chefs would delete the .DSM file and create an empty version of a .DSM file as a placeholder. As we learned more about the Windows Mobile, we discovered that .DSM files contained pertinent information that was used during the compilation of a ROM and should be properly managed. DSMBuilder is a utility to view and modify components of a .DSM such as certificates, dependencies, shadow order, and list of modules/files.
A Device Side Manifest file (.DSM) describes the contents of a package and has the name <GUID>.DSM. Each package has its own .DSM file. The .DSM file is a binary file and the format may change at any time. The .DSM file is created by parsing a package definition file, package shadow file, and a build manifest file. Each item specified within a build manifest file is used to determine the item's file type.
The .DSM file contains the following information:
Public key certificate data used for signature validation.
Version information which includes the previous version of a package so as to create a delta package between an older or baseline package and a new package.
Package GUID
Dependency GUID information
File names and file information in the form of raw file size and original VBase for MODULES so they can be re-based and differentiated during an update.
Tips:
Always keep a copy of the unaltered file as a backup.
A .DSM file should contain a complete (exact) list of all modules/files found in the package folder.
The .RGU file should be excluded from the .DSM file.
Kitchen-specific files should be excluded from the .DSM file.
Gotcha's:
Hidden (H) and/or System (S) attributes may need to be cleared (ATTRIB -s -h -r) from .DSM files before they can be edited.
Dumping a custom ROM where a .DSM file was altered with DSMBuilder may result in the package being placed in the SYS folder.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=520009
DSM Dependency Dumper
Name: DSM Dependency Dumper
Version: 2009-06-19
Author: dj13241
Link: http://forum.xda-developers.com/showthread.php?t=527965
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
DSM Dependency Dumper is a handy tool to extract the list of dependency packages for a single Device Side Manifest file (.DSM) or an entire ROM. The DSM Dependency Dumper will produce a Comma Separated Values (.CSV) output file detailing all of the required dependencies for a package.
A Device Side Manifest file (.DSM) describes the contents of a package and has the name <GUID>.DSM. Each package has its own .DSM file. The .DSM file is a binary file and the format may change at any time. The .DSM file is created by parsing a package definition file, package shadow file, and a build manifest file. Each item specified within a build manifest file is used to determine the item's file type.
The .DSM file contains the following information:
Public key certificate data used for signature validation.
Version information which includes the previous version of a package so as to create a delta package between an older or baseline package and a new package.
Package GUID
Dependency GUID information
File names and file information in the form of raw file size and original VBase for MODULES so they can be re-based and differentiated during an update.
Tips:
Most ROM's are shipped with missing package dependencies.
Gotcha's:
None Discovered.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=520009
Registry Workshop
Name: Registry Workshop
Version: 4.2.4
Author: Torchsoft
Link: http://www.torchsoft.com/
Cost: Trialware, Purchase
Reviewed By: Laurentius26
Summary/Review:
Registry Workshop is an advanced registry editor for Windows 2000 (Service Pack 4), Windows XP (32/64-bit), Windows 2003 (32/64-bit), Windows Vista (32/64-bit), Windows 2008 (32-bit and 64-bit), and Windows 7 (32/64-bit). It is a perfect replacement for RegEdit and RegEdt32 which shipped with Windows. In addition to all the standard features, Registry Workshop adds a variety of powerful features that allow you to work faster and more efficiently with registry related tasks. With Registry Workshop, registry editing becomes more safe than ever before. All changes except changing key permissions can be safely reversed (even registry replacing and importing), using multiple levels of Undo. You don't need to worry about making mistakes when editing registry.
Registry Workshop includes many useful features: multiple undo and redo, the undo history can be saved to disk and reloaded at startup, search and replace registry keys, values and data with super fast search algorithm, compare registry between computers and/or .REG files with super fast speed, connect mobile device (Pocket PC, SmartPhone, etc.) registry via ActiveSync, cut, copy and paste registry keys and values, drag and drop to move or copy registry keys and values, edit .REG files and .POL files in the same way as editing system registry, backup and restore registry, defragment registry with preview, easy and flexible favorites management, quickly browse registry with address bar, bookmarks and visitation history, context menus to navigate to referenced key: open containing folder or open URL if the key or value contains a ProgID, ClassID, folder, file path or URL, jump to the same key in HKLM or HKCU by context menu, open multiple local registry windows, allow to open secure registry keys when running under the administrator privilege, and edit binary data in BYTE, WORD or DWORD format.
Tips:
Excellent for editing/viewing/export/import registry keys on your device from your desktop using ActiveSync.
Gotcha's:
None discovered.
Reference Links:
None.
DSM Analyzer
Name: DSM Analyzer
Version: 1.5
Author: michyprima
Link: http://forum.xda-developers.com/showthread.php?t=444186
Cost: Free
Reviewed By: Sous-Chef
Summary/Review:
In early kitchen and ROM cooking, chefs used to delete Device Side Manifest file (.DSM) files from OEM packages that resided in the .\PACKAGES and/or .\EXT folder. Other chefs would delete the .DSM file and create an empty version of a .DSM file as a placeholder. As we learned more about the Windows Mobile, we discovered that .DSM files contained pertinent information that was used during the compilation of a ROM and should be properly managed. DSM Analyzer is a utility to view and modify components of a .DSM file such as certificates and list of modules/files.
A Device Side Manifest file (.DSM) describes the contents of a package and has the name <GUID>.DSM. Each package has its own .DSM file. The .DSM file is a binary file and the format may change at any time. The .DSM file is created by parsing a package definition file, package shadow file, and a build manifest file. Each item specified within a build manifest file is used to determine the item's file type.
The .DSM file contains the following information:
Public key certificate data used for signature validation.
Version information which includes the previous version of a package so as to create a delta package between an older or baseline package and a new package.
Package GUID
Dependency GUID information
File names and file information in the form of raw file size and original VBase for MODULES so they can be re-based and differentiated during an update.
Tips:
Most ROM's are shipped with missing package dependencies.
Gotcha's:
Does not provide dependencies or shadow order information.
Changes only appear after reloading the .DSM or .DSM(s) in a folder.
Reference Links:
http://forum.xda-developers.com/showthread.php?t=520009

HELP: How to hack a executable file

hi buddies, does anyone one know how to hack an app? for example, change a predefined (hard coded) path like "\storage card" to any other locations. I tried to use hex editor but couldn't find any paths hard coded. I know there's a program called "Olly Debugger" for Win32 which can change binary code to machine code. However it doesn't support PPC applications. Can anyone help?
Many thanks!!
If the path does not appear in the executable then it is not hard coded in the program.
Hard coded strings, string tables, static data and the like, get bundled together by the linker into a separate data segment. They would all appear in the same area within the exe.
The program is probably using FindFirstFlashCard() and FindNextFlashCard() functions to emumerate storage devices. "Storage Card" would be returned by this/these function(s) at run time.
Another reason may be that the executable has been 'signed'. In this case the code is encrypted with the certificate so the hard coded stuff cannot be seen. Altering the code here will invalidate the checksum and the operating system will refuse to run it.
hi stephj, thanks for your info! finally i can figure out the location is hard coded in a dll file instead.
btw do you know how to convert a module (in the form of folders) into a binary dll?
thanks!!
Not quite certain what you mean. A DLL file is the same structure as a .EXE except that it does not have a WinMain() function that a .EXE file has that the loader calls once it is loaded.
Once a DLL is loaded the loader can resolve the real address(es) of its exported function(s).
sorry, i was talking about the modules in rom cooking. after dumping the rom, some DLLs appear in the form of modules (which are folders). what I want to know is the ways to convert these folders into binary files.
In that case it's over to the chefs. My expertise is in the area of application development.
Thanks stephj!!
To convert module to file, look for recmod
It will give you a plain .exe/.dll you want to modify.
After you do it, restore it using reversmod

Categories

Resources