smth. like HIEW but with ARM support wanted - Windows Mobile Development and Hacking General

hey guys,
IDA is a powerful tool, but sometimes it is better to use something a bit quicker,smaller and easier. HIEW is a great stuff too [i love it from its very beginning], but it have no support of non-x86 cpu's
is there any PE-viewer with build-in ARM-disasm?

I don't think there is such a tool though it would be nice to have one.

If you are a registered HIEW user you can ask SEN to implement an ARM disassembler, or, better, to add support of plug-in assembler/disassembler DLLs.

looking on SEN's posts @wasm.ru, i doubt that such a plugins will be ever possible in HIEW. he don't want a global changes in HIEW.
yeah, maybe BIEW will be a good replacement, if i'll have a time to code a plugin for it.

ChARMeD Disassembler
Hi you can use charmed, thats exactly what it does
just right click and use assemble
Was available since 2005
Download at:
http://carolos.za.net/software.html

There is also a Beta version of ChARMeD that runs on the actual Pocket PC itself:
Download at:
http://blog.carolos.za.net/2007/02/charmed-disassembler-beta-01-for-pocket.html

Related

xda CE 2005 Project

We seem all to be waiting for a version to leak of the CE 5.0 for our devices, and at the same time we seem to think that this will not happen due to the fact our providers are going to want to ship it on new devices and not upgrade the old ones.
Well Mwang put me in the mood to do some searching and this is what I found.
Because Windows CE is in components, you can create a custom version of the OS that includes exactly the elements your particular device requires—no more and no less. Using the Windows CE development tool called Platform Builder, you can create a customized version of the OS, called an "image," that you then download onto your device hardware for debugging. If your hardware is not available yet, you can run your image and debug your applications on the included x86 emulator. That allows the end-user application developer and the low-level system software developer to work in parallel on the same project.
Click to expand...
Click to collapse
http://msdn.microsoft.com/embedded/getstart/bring2market/plan/learn/windowsce/default.aspx
Well it seems that you can download a 120 days trial version which would mean you would have to flash your device in 120 days.
Windows CE Evaluation Version
Windows CE integrates reliable real-time capabilities with advanced Windows technologies to rapidly build a wide range of innovative, small-footprint devices. The evaluation version is a 120-day trial version of Windows CE, valid from the day of installation. The CD and DVD versions include a copy of Microsoft eMbedded Visual C++ 4.0 Service Pack 4. The Evaluation Edition (download) requires you to download eMbedded Visual C++ separately.
Click to expand...
Click to collapse
http://msdn.microsoft.com/embedded/getstart/evaluate/default.aspx
Think this is the homepage
http://msdn.microsoft.com/embedded/windowsce/default.aspx
So what is stopping us ?? Or Cant I read?
Any body in the mood for this??
Downloading now What could go wrong ?
http://www.microsoft.com/downloads/...50-D311-4F67-9FB3-23E8B8944F3E&displaylang=en
Does this work for you gues ?
I tried this a while back.
Its not as easy as it sounds, firstly you have to correctly setup all the drivers for the hardware.
I wouldnt garantee that it has stuff like the phone apps ready to be compiled in either.
lastly, you have to make it into the correct format for the installer prog, I dont know if the package will output a himaupload.exe compatible rom.
Let me know how you guys do though, it would be nice to compile our own OS!
It's installing on my computer :shock: i want it on my PPC
Well I found a 30 min tutorial on the platform builder and it looks like a lot of the stuff is around (Wifi), What we will miss is the camrea app, but hell its a start.
Ps cant find that link anymore, and the posted link works great.
MDAIIIUser said:
Well it seems that you can download a 120 days trial version which would mean you would have to flash your device in 120 days.
Click to expand...
Click to collapse
Im sure it's a 120 days from the day you install it on your Desktop PC :?
definatly not as easy as you think!
i had the older version and i made some images for X86 machines (to make them thin clients)
you need every driver for the device that it will be installed on so theres alot more required than just the platform builder,
check it out anyway, its still fun to use and you can make custom CE's for old PII machines (routers, thin clients etc)
Well Bosjo, would that not give you 119 days to post a BA Rom?
@MDAIIIUser
Well i dont know, but Im guessing that the ROM itself will expire 120 after Desktop installation
@bosjo
Well you better hurry up and do good documentation so that I can rebuild your posted rom in 118 days.
@MDAIIIUser
Ha ha ha, well don't get your hopes up, Im just a plumber that bought a BA to save some time and get projects more organized........... Well that what just to be a laughf, this device has eaten every spare second I have had since the day i bought it, and it's still crappy...............
What? You mean you can use it as a phone, thought it was only good for the pocket solitair, how did you do it? and can I read it on wiki?
You see I am True born again MDAIIIUser and
"I haveth faith in thou"
I've pu the windows CE 5.0 installer in the upload folder
Good job you got this , see your pm
Hmmm... well, if someone can create a ROM that won't expire or brick my device, I'm willing to help with testing...
Let me know if you need me...
hehe. Its impossible to create WM2005 from the stuff offered with the trial WinCE 5.0 Platform builder.
Hint: WM5 has version 5.1. PB offers 5.0
im wondering.. where would you get ALL the drivers from? im sure HTC will not be willing to help us here..
@Manich
I truly respect your post and I am very much aware of not having your knowlege, insight, understanding, hacking competence.
That is why I am amember of this forum, to learn from people like yourself in order to try and get the best for my device. To share what I have learnt with others (I use wiki for that).
So please, please share with us a better idea of how we can get 2005 on a BA. It would save me a lot of time searching on the net, uploading sdk that are of no use as well as moving files on the ftp.
A "it cant be done answer" I could accept if it came from somebody else without your knowlege and I remember reading that somebody wrote something along the lines if it can run it can be cracked (smile).
With alll due respect
MDAIIIUser
Generally it cannot be done as you don't have a board support package for BA or other compatible platform. With lots of hacking and reverse engeneering you can write all drivers and all applications absent from Platform Builder (like cprog, SMS client, SIM toolkit, etc), but it would be only a waste of time. It would take as much time and would be as useless as making a Linux for BA. Better buy a device that originally ships with OS you want.
The only hope for getting WM5 on BA is that some person from MS would offer it or someone would get a device with such a ROM. Even a locked device with a signed ROM would help.

ChARMeD - Disassembler for ARM CPU

Hi,
This is the program i mentioned earlier,
IT IS STILL IN BETA
so it has a problem here and there,
but i had only three days to work on it
when i get a chance from work and university i will try and add the analyzer *gulp* etc
let me know if it looks useful, pm me or post reply
(oh and if anyone is interested in hosting on the web pls let me know too)
(i hope posting this here is ok)
thanx for ur interest toenailed
latest version available at
http://carolos.za.net/
charmed on ftp
hi,
also put charmed.zip in root of ftp
tnx .. carolos
i was looking for a Good dissassembler from ages now ......
i will try it and give my feedback later.. ( :wink: )
anyway i will split this post ..
and put it in Developing and Hacking section ..
so other can see also your app ..
tnx again .. n looking forward for your future upgrade especially the analyzer .. .. tnx so much
-toe
it works!
It seems to work pretty good! Great job man!
carolos,
will it be too much to ask you for a small program to delete files and/or folders for WM2k5? Something like the old AutoRun.exe-Config.txt program; where you can list the folder/file names in a file for deletion.
If not, does this already exist? Could you point me there?
Thanks.
hi acmorfe
hmmm...
to tell you the truth
i started playing with windows ce 2.0
then i left portable devices until recently (about a month ago)
because i got a phone that has windows ce 2003 se
so i am a bit rusty
but if you want a program that does it on the phone itself
there was like ms cmd for pocket pc or something like that
i think you could possibly make it run a .bat or .cmd file on execution
and i think you can add the that to the registry of your ppc
i wont be able to write anything anytime soon...
because
1) i dont have the ms sdks
2) they are too big to download
3) internet access is really expensive here
sorry i hope info helps, good luck
Charmed BETA 0.2
hi,
gee 59 downloads already...
well i hope everyone who downloaded beta 0.1
will download beta 0.2
added 17 mnemonics
and fixed some mnemonics that were too restrictive
for full info look at help
-bye
Re: Charmed BETA 0.2
Why are you developing this program? You cannot make anything that would be as useful as an IDA (www.datarescue.com). You'd better spend your time on IDC scripts or developing a processor module for ARM if you don't like IDA's builtin disassembler (which is really great in 4.80).
didn't everyone at one point in their live write their own disassemblers?
http://www.xs4all.nl/~itsme/projects/disassemblers/
willem
@mamaich: I just wanted to point out the same thing.
the only sence of making a disassembler - is to integrate it into a really useful program for all PocketPC developers: a good and stable debugger.
http://www.datarescue.com/idabase/wince/index.htm
i beta tested it, i works very nicely, much better than the evc debugger.
willem
@itsme: Very nice. How are we supposed to wait till "Q2-Q3 2005"?
Re: hi acmorfe
carolos said:
hmmm...
i wont be able to write anything anytime soon...
sorry i hope info helps, good luck
Click to expand...
Click to collapse
Carolos, thanks anyways.
Guys, what programming language would you suggest that i study for programming stuff for PPC (WM2k5)?
Re: hi acmorfe
acmorfe said:
carolos said:
hmmm...
i wont be able to write anything anytime soon...
sorry i hope info helps, good luck
Click to expand...
Click to collapse
Carolos, thanks anyways.
Guys, what programming language would you suggest that i study for programming stuff for PPC (WM2k5)?
Click to expand...
Click to collapse
hi again,
c++ (embedded c++) would probably be the best
because you can do anything u like with it
but there are other options
c# and visual basic (visual studio 2005)
but they rely on the .net frame work, which is kinda like the java Virtual Machine, only microsofts version, it allows them to port applications to any os easily (even mac probably if there is a .net vm for mac)
good luck
Re: Charmed BETA 0.2
mamaich said:
Why are you developing this program? You cannot make anything that would be as useful as an IDA (www.datarescue.com). You'd better spend your time on IDC scripts or developing a processor module for ARM if you don't like IDA's builtin disassembler (which is really great in 4.80).
Click to expand...
Click to collapse
last time i checked ida was not free
and also there was no built in assembler? was there?
mamaich said:
the only sence of making a disassembler - is to integrate it into a really useful program for all PocketPC developers: a good and stable debugger.
Click to expand...
Click to collapse
charmed was intended to be a debugger...
but disassembler must be finished first...
oh yah and ida is not 250k
i knew about the new ida with remote debugging
even before i started charmed
but its not free!!!
Charmed BETA 0.3!
hi
toenailed requested some upgrades
charmed now has an export to .html and .txt
and a search
yay!
does anyone want this program???
please post if you think its useful else
its gona stay at 0.3
it was never supposed to go beyond 0.1 anyway
i wrote it for my own use and 0.1 was good enough
Thank you very much. I like it. As you said, IDA is not free, hence the reason I don't have it. Now to just figure out how to make small changes. Thanks for your hard work.
@carolos: Why don't you start a new project at sf.net? So others might help and someday it may become better than IDA - who knows.

pSlimClient 0.1 - Open source slimserver client written in c# (source only)

Good evening! I just released the source for my very own slimserver client for windows mobile! (I was very frustrated as I couldn't find any free/open source ones out there).
This is the first release ever, and hence very very basic. Thus, I have only released the source, and no binaries..
It does work, and it does satisfy my current requirements, so I don't plan on spending a lot more time on it. If you want to see it evolving to meet your own needs as well, please do help, by donating your time and coding skills
In order to make it work , you will have to manually edit the libslim\core.cs file with your slimserver details.
There are no GPL notices, nor attributions in the files yet for the various pieces of code that I used. This will change soon!
The scrolling list control is called Kinetic Scroller, and I found it on this forum. Many thanks to dosfan for releasing the source to that excellent and extremely usable control (I did some minor changes).
I found what was the basis for SlimXML somewhere on the web, I don't remember where. Many thanks to the developer In order to compile it, you might need Visual Studio 2008.
You will also need SlimServer version 7 beta installed, as the previous versions do not provide any CLI functionality for browsing the music folders
https://sourceforge.net/projects/pslimclient/
Nice..
This sounds great. Currently I am using the handheld skin and mplayer. It works but a real client would be sweet. The only problem is I don't think I can get a C# compiler. Do you know of a free one or would you be able to get me a binary? I'm running duttys 6.1 on a at&t tilt.
Thanks and good luck with the project.
wr420

Programming CE, Book and resource recommendations

Hello,
After a decade of not doing C, I find that alot of things have changed when programming c++ native for CE. Even things like:
string somestring;
no longer function. Wow!.
strcpy has been replaced with StringCchCopy. Wow, MS has done a number here... and so on...
Anyhow I searched xda and found allot of good threads. But what if I'm looking at re-learning C++, with a focus on CE programming only? What books and other resources would you recommend, its almost like starting from scratch. I got vs2005 + emu + been reading allot of MSDN, did some basic apps. etc.
BTW: How the .... do you declare a variable length string???
and in VS2005 is running the debugger the only way to get the app to start automatically ???
Thanks
*bump*, anyone?
Couple of notes:
1) I strongly recommend avoiding VS, it is unbearably slow and balky.
2) strcpy and all the other functions are still supported by c runtime on CE (VS 2005 complains about them but you can ignore it). The problem is all windows API on CE use UNICODE so you have to declare strings as WCHAR (thats MS speak for unsigned short) and use wcscpy, and such.
3) The only book I know on CE specifically is this and I only read the two sample chapters online, so can't really recommend it. (Though the sample chapters were very useful). What you need is to get a good book on Win32 programming that will get you well on your way.
4) There is an MFC class CString which wraps up all string related functions very nicely. If you are not using MFC but clean C/C++ the only thing I can think of is malloc and free or the C++ versions new and delete.
Check out the links in my sig if you want to see code examples of small but functioning apps.
I disagree with levenum's comment on VS, but agree at the same time (weird I know). I wouldn't use VS for native development because it has A LOT of extra features that I think would be useless for native developers. Also, the lighter eVC++ has pretty much everything you need to write native apps.
I had this book called "Programming Windows CE 3.0" or something along those lines a few years ago. I got it for like $3 on Amazon. If you can find an updated version of that (or even the old version would be useful) then you should buy it. It will show you all you need to know to get started. You can learn the new api's from browsing msdn.
If you're only a little rusty with C/C++ I would suggest jumping right in to the Sdk samples and seeing how they do things.
Thanks, the reason why I wanted to use VS is so that maybe later I wouldn't mind going into MFC. So having one platform would be nice.
So far I have done some basic things, like drawing, etc, but I find I'm having a harder time making strings and including the api's to work. Almost all of the msdn examples fail to compile properly.
I have an old book MFC for Windows 95 by MS, is it even worth looking at ?
robp said:
I disagree with levenum's comment on VS, but agree at the same time (weird I know). I wouldn't use VS for native development because it has A LOT of extra features that I think would be useless for native developers. Also, the lighter eVC++ has pretty much everything you need to write native apps.
I had this book called "Programming Windows CE 3.0" or something along those lines a few years ago. I got it for like $3 on Amazon. If you can find an updated version of that (or even the old version would be useful) then you should buy it. It will show you all you need to know to get started. You can learn the new api's from browsing msdn.
If you're only a little rusty with C/C++ I would suggest jumping right in to the Sdk samples and seeing how they do things.
Click to expand...
Click to collapse
could you provide some links for msdn. also i know how to program in c but how do i compile a program for windows ce could you recommend a free one. thanks
The only way to code for Windows Mobile for free is to use embedded Visual C++. You'll have to google it to find a link.
Once you have that downloaded, check out:
http://msdn2.microsoft.com/en-us/library/bb158662.aspx
The new solution files most probably won't open in eVC++ but you can create new projects and add the source files yourself.
You'll want to look at the samples in the Win32 folder.
robp said:
The only way to code for Windows Mobile for free is to use embedded Visual C++.
Click to expand...
Click to collapse
That's not entirely true - there's still ceGCC (it works on linux or windows using cygwin) - however this one lacks resource (window, forms, etc) editor (but if you have resources already created it will compile/link properly). But it works great with apps where you want to handle all the graphics and user interaction by yourself (like games, or programs with 100% custom UI), for example using SDL, pocketHAL, etc.
Also, wxWidgets seems to have support for windowsCE, and might be made to work with ceGCC, but i haven't tested it yet.
Sorry, I actually meant to put "(I think)" after that sentence lol.
Actually I think you should be able to use any C++ compiler as long as you have the necessary libraries, and I think all the libs you need are in the sdk download. But the easiest route for beginners in native coding is probably eVC++
Well, now i can agree with you
That is, unless you want to create games - in that case ceGCC+XFlib might be a good way to go for someone with general programming knowledge, but not familiar with winCE-specific coding. Some games coded with it (and their sources) can be found on XFlib homepage: www.xflib.net.
thanks for the info
Ok, as I wouldn't mind at a later time going into MFC, and building dll's for mobile. How much "harder" would it be for me to learn VS2005 native for ce instead of using evc++ ?
Just trying to weight the cons and the pros. BTW where can I get eVC ?
Thank you.
Two more free options: PellesC and Lazarus + WinCE add-on
I don't think it would much harder. Once you get the hang of it you'll find that it makes life much easier. If you buy a boxed retail version it comes with a nice book that will take you from n00b to master in a few hours (not really but it's still a great reference).
I think the hardest part of upgrading to newer versions of VS is learning the new project file setup. Atleast that's what it looks like from watching other students at my school go from VS6.0 to VS2k5 and 2k8.
Also, I should note that I prefer VS2008 hands-down, but I don't disagree with other people who say eVC++ is faster. While I haven't done any real native development since eVC++ 4 was new, I still dabble a bit (especially since getting active on this forum) and VS2005 works great to me.
So, my advice would be to use the newest tools available to you, unless money is an issue. But don't be worried about upgrading. Your life will only get easier once you do.
robp said:
Also, I should note that I prefer VS2008 hands-down, but I don't disagree with other people who say eVC++ is faster. While I haven't done any real native development since eVC++ 4 was new, I still dabble a bit (especially since getting active on this forum) and VS2005 works great to me.
So, my advice would be to use the newest tools available to you, unless money is an issue. But don't be worried about upgrading. Your life will only get easier once you do.
Click to expand...
Click to collapse
Well I just got eVC and will give it a try too. But I am pretty much used to vs2005. I do not think I can't afford the vs2008 right now. How much difference is there between 2005 and 2008 when it comes to programming for WM?
I'm looking to create some commercial applications for WM. For the last 10 years I'v been doing .com apps, now I figured I would do some for the mobile platform. We have all the graphics/design/marketing guys for .com, so it should work out just fine for WM.
One thing we noticed when working with exec type people is their frustration, I see exactly how we can help them resolve their frustration with WM, Symb, and java type phones...
Thanks
marek101 said:
Well I just got eVC and will give it a try too. But I am pretty much used to vs2005. I do not think I can't afford the vs2008 right now. How much difference is there between 2005 and 2008 when it comes to programming for WM?
I'm looking to create some commercial applications for WM. For the last 10 years I'v been doing .com apps, now I figured I would do some for the mobile platform. We have all the graphics/design/marketing guys for .com, so it should work out just fine for WM.
One thing we noticed when working with exec type people is their frustration, I see exactly how we can help them resolve their frustration with WM, Symb, and java type phones...
Thanks
Click to expand...
Click to collapse
Honestly I wouldn't rush to upgrade. VS2008 is better, but doesn't add much to the WM development arena.
And if you already have VS2005 and are used to it, I would stick with that and forget about eVC++. You should give the compact framework a try. I promise you'll love it
compact framework, that's a part of the .NET isn't it?.
For the time being, for learning purposes, I think I will stick with the native for now. Once I get a grip, I will explore .net. The thing is I really don't like bulky apps for WM. Most of the apps I came across that required the .net framework were slow, any apps that use the .net with a today plug in seem to really slow down my phone.
BTW is HTC Home plug in written with the .net?
Thanks
marek, it seems to me that you are under the impression that you need VS 2005 to use MFC.
eVC fully supports MFC as well as creating DLLs and MFC DLLs.
It admit the reason I don't like VS is because I only write in native and don't like .NET languages a lot.
Since you want to create commercial apps you should note that any app created with WM 5 SKD will not be backwards compatible with WM 2003 which reduces your clients range.
You should compile with WM 2003 SDK which is forward compatible.
Our primary target audience would be WM6. We will make every effort to make WM5 compatible apps. Yes it does reduces significantly the client base, but also there are many positives...
We are still looking for more programmers for the simple concepts we have developed. I believe this will work out just fine. Having WM5 support is a "would be nice" but not required. WM5 has a bag of problems, 2003 I don't even want to touch it.
Thanks
I have to admit that I love VS because I love using .net
But VS is also a much more powerful editor in general than eVC is. It's still nice but the experience isn't as smooth as it is in newer versions, which is expected since the newer versions build on the previous ones.

Porting a game from PC to ppc

Hi, I never did that, but I was playing to Anthelion 2 on my PPC and I thank that it could be great to port Homeworld 1 or Cataclysm to the PPC, and I would like to know how to do that, I think that I could "recompiler" it, but I don't know how, and I would like to know if a tutorial has been created somewhere on the net?...
I'm not sure if it would be even technically possible. Well, the newest pdas _might_ be powerful enough to run something like HW1 but i'm not sure if it's such a good idea. Did you try to run homeworld in 640x480 resolution? Most of the time you'll see ships as groups of two to eight pixels. Now imagine it all squished on a phone three-inch screen: try ordering your corvettes to smash that annoying bomber on a screen that small I think that a bit better idea would be porting really old games, that were designed to run in VGA or even lower resolutions (SubCulture, Command&Conquer, I-War, Dark Forces are some of the titles i'd pay for ).
Anyway, back to porting subject.
First of all you would need the source code of the program you want to port - in case of homewrld1 it's not a problem.
Secondly, you would have to make sure that all libraries (graphic, sound, input, etc) used by a game have windows mobile/windowsCE versions. Again, homeworld1 seems lucky since it has been ported to SDL - a multiplatform opensource graphic/sound/input library.
But that's where good news end. Porting a game is not just a matter of grabbing the PC version source and recompiling it. If it was as easy, we would have hundreds of PC games already ported You need considerable programming skills to actually create a port because usualy not all libraries used by a game a compatible with WindowsCE. An example - the opensource version of homeworld uses OpenGL for graphic rendering. The pocket version would have to use OpenGL's "little brother" - OpenGLES. As far as i know, they're not 100% identical, so to put it simply, you would have to make the game talk in OGLES language, instead of standard OGL. And doing changes in graphic rendering routines usually breaks something else, so you'd have to go and fix it.
I'm not trying to discourage you here but i'd suggest learning to program for WindowsCE (or at least for PC) _before_ attempting to port anything - doing it the other way around will be just a waste of time and a source of frustration.
There are some development resources that can help start the adventure with programming here on xda. You could also search for some general C/C++ tutorials targeting PC's. If you consider getting into programming, i suggest checking out SDL - Many games use it, and thanks to this library you can skip the OS-specific part of coding and get right to the fun stuff - a program that actually does/displays anything For an even easier start, you might want to check out QuickCG - a SDL wrapper simplifying the coding even further.
Oki, thanks for your answer, I've a friend who is learning to program in C++, so, I'll ask him if he can help me to do that, it would be great to have this game on a PPC (perhaps the Diamond, because it has D3D and OpenGL Drivers, or of the iPhone, but I guess that the programming language is not the same as the PPC...
[EDIT] STARCRAFT would be great to, and easier to port on PPC, because of his age and that he uses 2d Graphisms...
You should look into the stratagus engine.
antrak said:
You should look into the stratagus engine.
Click to expand...
Click to collapse
Nice Engine, but it's not Starcraft, but I can't find the Source Code on the net, they could give the source code with the game when you buy it
Psycho said:
Hey, it's Calvin, I found him
Click to expand...
Click to collapse
Stargus a starcraft's clone, I'm trying to download it, but I don't know if it works for PPC...
You might want to check this thread:
http://forum.xda-developers.com/showthread.php?t=497086&highlight=starcraft

Categories

Resources