[Q] Can WP7 ROM modules be replaced yet? - Windows Phone 7 Development and Hacking

I've been reading the forums for two days now and have gleaned lots of useful information in the dumping/building of WP7 (emulator) ROMs. I haven't, however, come across any information on replacing modules in the WP7 context.
While reversmode generates correct-looking output, it renders the built ROM unbootable; I'm guessing it's not built correctly.
To backtrack what I did...
I used the newer dumprom.pl, which spits out better PE binaries than its predecessor
I dropped a binary into reversmode
... and gathered the imageinfo.txt + Sxxx output and dropped them into the dumped ROM\MODULES\filename folder, overwriting the originals
Any guidance would be appreciated.
// twitter: @WithinRafael

Sorry for getting everyone excited, I found the error in my ways. I wasn't aware (until now) that the binaries spit out by dumprom.pl are automatically decompressed. I used XIPPort to recompress my binaries (and fished them out of a folder relative to the executable).
Boots fine.
On a separate note, I'd like to rally everyone together and start getting better configuration management of this stuff. From what I've seen, these tools are spread out all over the damn place. Worse, the developers aren't including versioning information. I'm going to draft up some ideas on addressing the confusion and create a separate post.

WithinRafael said:
Sorry for getting everyone excited, I found the error in my ways. I wasn't aware (until now) that the binaries spit out by dumprom.pl are automatically decompressed. I used XIPPort to recompress my binaries (and fished them out of a folder relative to the executable).
Boots fine.
On a separate note, I'd like to rally everyone together and start getting better configuration management of this stuff. From what I've seen, these tools are spread out all over the damn place. Worse, the developers aren't including versioning information. I'm going to draft up some ideas on addressing the confusion and create a separate post.
Click to expand...
Click to collapse
yeah you may want to just start a thread with consolidated dumping/porting tools for these ROMs so we don't have to easter egg hunt

Related

[UPDATED 02/18/10] A call to all chefs!!!

Hi there!
There are members here who have successfully cooked for the Vogue with each one using the kitchen that he prefers, while there are many others who have researched for hours and still have trouble setting up a kitchen.
Anyone who tried to do this without prior knowledge surely remembers how much effort is needed to learn all the steps, since the cooking process is quite complicated and there are many new things to learn. Even if one managed to setup a kitchen he might still have no idea how to port a new build to the kitchen. I have also found it difficult to learn what exactly do you need to keep from the original ROM that was shipped with the device and which of those old files can we get rid of. And the list goes on and on...
Many would love to enjoy the thrill of building their own custom ROM with the programs that they find useful, and to be able to tweak it the way they prefer.
I'm calling here on all of you who have experience cooking for the Vogue to please share your knowledge here.
If you have a kitchen setup that you would like to share, I'm sure that many members would love to make use of it!
See post #18 for a description of ROM XIP SYS OEM and LANG. Thanks to egzthunder1.
UPDATE 02/18/10
From my own personal experience and as others have mentioned in the first few posts of this thread, the easiest kitchen for a new chef is the PPCKitchen.
STEP 1: You can register at ppckitchen.org and download the latest version of the kitchen. After installing the kitchen you will need to run the updater. It will take a few seconds while it connects to the server. After that you will have an option of downloading different files. In order to cook a working ROM you will need to go to ROM Kitchens\Vogue and download the following Vogue Carrier Kitchen files, Vogue Kitchen Core, Vogue Drivers. (I don't believe you need Generic OEM Kitchen files in the above directory). Of course you will also need at least one of the Windows Mobile builds from the same directory (ROM Kitchens\Vogue).
Although the builds that show up in the updater are pretty new, yet the latest builds will not show up. In the future after having successfully cooked a ROM with one of the more stable builds from the updater, you can go get the latest builds from the PPCK website at Windows Mobile Build Discussions\Test SYS Builds. *Advanced PPCk Users only*. For now I would stick to the builds that show up in the updater.
There are also OEM files that you can download with the updater. These files have different programs that you will be able to add to your ROM. You can download PPCKitchen OEM's, PPCKitchen 240x320 OEM's, Non Freeware OEM's (don't get exited it's only a trial!), and User submitted OEM's. You don't need any of these so you can download them and check if you want the programs that's inside, if not you can delete the whole file from your kitchen folder that's in your PPCK folder.
The kitchen is very easy to use and you can now build a basic ROM.
I hope to add more to this mini tutorial within the next few days.
I agree 100%, I think it would be great if some of the experienced chefs could drop some knowledge on the rest of us, if not only so we can keep pumping out new ROMs for our Vogues.
Head over to PPCKitchen.org they have a tutorial and everything you need to cook roms, its also the easiest to use in my opinion.
As you may have noticed over the past few days, I have been trying to keep the forum a little cleaner by asking people who open new threads with questions to simply ask them in a sticked Q&A thread. This request also falls under that same premise. Please do not open new threads asking questions. Threads should only be opened to contribute to the site (roms, kitchens, skins, guides, apps, etc). Thanks.
Barogi44 said:
Head over to PPCKitchen.org they have a tutorial and everything you need to cook roms, its also the easiest to use in my opinion.
Click to expand...
Click to collapse
I also have been using the PPCkitchen and agree that it's the easiest, but I have found that it's also somewhat limiting and think it would be a good idea if those using the Ervius VK or any other kitchen would be able to help others.
egzthunder1 said:
As you may have noticed over the past few days, I have been trying to keep the forum a little cleaner by asking people who open new threads with questions to simply ask them in a sticked Q&A thread. This request also falls under that same premise. Please do not open new threads asking questions. Threads should only be opened to contribute to the site (roms, kitchens, skins, guides, apps, etc). Thanks.
Click to expand...
Click to collapse
Sorry, didn't mean to make a mess while your trying to clear things up. It must be frustrating, sort of like cleaning up the floor and having somebody walk in tracking dirt on the freshly cleaned floor!
I just thought that this would be a Tutorial type of thread where members could come and add their little bits of knowledge until we would have a lot of info gathered in one spot. Personally I still think that it's not another simple Q&A thread, although your welcome to disagree and to remove this thread if you want. I'm still hoping that this thread will become a guide for all newcomers to cooking.
When I get home tonight, I will give you a heads up on how i use PPCKitchen. I cook for personal use only and don't publish roms. In short, all I do is use is a modified version of Vin's Generic_OEM. By modified, I take out things I don't need and insert things I want. When I used to flash manila roms, this was critical as his MANILA folder has every thing needed. Now that I don't use MANILA (I replaced it it SPB Mobile Shell 3.5.3 (I LUV IT!). When a new WM build comes out, I simply pop them files in the appropriate places and run it. I am currently in love with 23529.
If your interested in what I'm doing, you can start by downloading Vin's Generic_OEM from his 28014 Thread. Just search for Generic_OEM in the thread.
Lewy1 said:
Sorry, didn't mean to make a mess while your trying to clear things up. It must be frustrating, sort of like cleaning up the floor and having somebody walk in tracking dirt on the freshly cleaned floor!
I just thought that this would be a Tutorial type of thread where members could come and add their little bits of knowledge until we would have a lot of info gathered in one spot. Personally I still think that it's not another simple Q&A thread, although your welcome to disagree and to remove this thread if you want. I'm still hoping that this thread will become a guide for all newcomers to cooking.
Click to expand...
Click to collapse
I know what your intentions were and I do not disagree with you. But there are a few things that need to be considered for making a "cooking guide" for this particular section of the site...
*There are only 3 (4 at best) active chefs for this section: Nag, Barogi, vin (if he decides to fully return), and myself. I believe that NFS will not return (personal unfounded belief).
*Most of the above chefs use PPCK. I am not saying that they don't use others like VK, but the info on cooking will be pretty much the same that you can find in the PPCK website.
*There are a slew of tutorials floating around the site (not just the Vogue section, but throughout XDA), which have a lot (and I do mean a lot) of information on how to cook.
*Cooking with other kitchens is far more involved than simply dropping build packages into PPCK. You can even get down to the nitty gritty of hex editing your rom to get more stuff out of it (ie, there is a hex change in the BA roms that allow you to have more ram available).
*Lastly, since the Vogue uses newer style roms (nbh, as opposed to older formats like nbf), learning how to cook from scratch would be kinda a waste of time (believe me, I spent the last month learning how to port a newer rom to the Blue Angel and it isn't as simple as you may think).
One of the mods (I can't remember which one right now) has a series of posts with tools, tutorials, and a bunch of other things needed to cook. What we could do is simply make a one or two post sticky with the links to the different tutorials on xda as well as on other sites (ppcgeeks has a 1100+ pages thread that talks about cooking and porting). I will see if I can get my hands on those and get them in here if that is ok with you.
egzthunder1 said:
One of the mods (I can't remember which one right now) has a series of posts with tools, tutorials, and a bunch of other things needed to cook. What we could do is simply make a one or two post sticky with the links to the different tutorials on xda as well as on other sites (ppcgeeks has a 1100+ pages thread that talks about cooking and porting). I will see if I can get my hands on those and get them in here if that is ok with you.
Click to expand...
Click to collapse
Thanks, that's perfectly fine with me. I have seen most of the stuff that you mentioned and was actually thinking along the same lines as you. If I can I will add my own little bit of knowledge like links to the various kitchens and so on. By the way there is a new kitchen, Oskitchen with new UI by airxtreme (original kitchen by Ondraster). It looks like it will be easy to use and has just been modified for the Vogue, and I'm hoping to give it a try tonight.
Lewy1 said:
Thanks, that's perfectly fine with me. I have seen most of the stuff that you mentioned and was actually thinking along the same lines as you. If I can I will add my own little bit of knowledge like links to the various kitchens and so on. By the way there is a new kitchen, Oskitchen with new GUI by airxtreme (original kitchen by Ondraster). It looks like it will be easy to use and has just been modified for the Vogue, and I'm hoping to give it a try tonight.
Click to expand...
Click to collapse
Yes, I did see that one. I had tried oskitchen before and it isn't too bad (still preferred Ervius though). However, this new UI seems a little more user friendly...
Start out with PPCK. It works well, most users will not notice the limitations.
Biggest thing with making your own ROM's is getting all of the Reg edits that need to be included.
Good Luck! PS Start with build 23529 it seems to be really stable and fast!
First post updated with mini tutorial.
Lmiller1708 said:
Biggest thing with making your own ROM's is getting all of the Reg edits that need to be included.
Click to expand...
Click to collapse
Perhaps we can use this thread to gather up those types of regedits in one place. It would also be good to have guides for new cooks on how to add things like EzInput 2.1 (with working vibration) and Long Press End Key, BT Pan and Alarm functionality (while plugged in). Most of the newer roms have old or incomplete implementations of these features. vin was the last person to get many of these features all together in one place. With the age of the Vogue many of the cooks are trading up to newer devices and much of that knowledge is getting lost.
codf4ther said:
Perhaps we can use this thread to gather up those types of regedits in one place. It would also be good to have guides for new cooks on how to add things like EzInput 2.1 (with working vibration) and Long Press End Key, BT Pan and Alarm functionality (while plugged in). Most of the newer roms have old or incomplete implementations of these features. vin was the last person to get many of these features all together in one place. With the age of the Vogue many of the cooks are trading up to newer devices and much of that knowledge is getting lost.
Click to expand...
Click to collapse
Are you talking bout me ?
egzthunder1 said:
Are you talking bout me ?
Click to expand...
Click to collapse
No sir, not trying to single anyone out. I've tried pretty much every rom released here and on PPCGeeks I haven't tried your latest ones labeled MetroPCS. I'll flash you latest tonight and try it out for a few days.
just uploaded 28230. Try that one and let me know if you like it...
btw, I was joking... don't sweat it. I don't get so easily offended
tharris297 said:
When I get home tonight, I will give you a heads up on how i use PPCKitchen. I cook for personal use only and don't publish roms. In short, all I do is use is a modified version of Vin's Generic_OEM. By modified, I take out things I don't need and insert things I want. When I used to flash manila roms, this was critical as his MANILA folder has every thing needed. Now that I don't use MANILA (I replaced it it SPB Mobile Shell 3.5.3 (I LUV IT!). When a new WM build comes out, I simply pop them files in the appropriate places and run it. I am currently in love with 23529.
If your interested in what I'm doing, you can start by downloading Vin's Generic_OEM from his 28014 Thread. Just search for Generic_OEM in the thread.
Click to expand...
Click to collapse
I don't know if you sent this over via PM but I'd be interested in reading it too. I tried replacing the Generic_OEM.rar in the kitchen folder with the one from vin, but the kitchen won't startup after i do that.
codf4ther said:
I don't know if you sent this over via PM but I'd be interested in reading it too. I tried replacing the Generic_OEM.rar in the kitchen folder with the one from vin, but the kitchen won't startup after i do that.
Click to expand...
Click to collapse
The reason is that Vin's packages are not "kitchen ready". What he posted is in essence a dump of the Mega rom. The packages have to be worked on in a one by one basis to get them to work with PPCK. There is a nice guide on how to do that in the forum at PPCKitchen.org.
Hey Lewy1,
You are off to a good start. I have been giving your idea some thought and if you truly want this to be a "learning resource" for new chefs, you may want to start by describing a few basic concepts as well.
[highlight]ROM[/highlight]
In essence the Operating System with all the necessary files and programs that make up for what you have on your device. This contains things that are general to all devices as well as certain files and folders that are specific to each particular device (hence, the reason why you cannot flash a rom from a Blue Angel into a Vogue and vice-versa). Once a rom is obtained by dumping it, the dump will have a bunch of folders and files, which need to be turned into something "cookable". There exist several applications that can (and must be used) in order to accomplish this.
After all the things in the "dump" are sorted out and manipulated, the rom will essentially turn into 4 main parts: XIP, SYS, OEM, and Lang packages.
[highlight]XIP[/highlight]
The XIP is what holds the core of the OS. This is what holds the Native Kernel of the particular device as well. In order to port a rom to a device, one cannot simply replace the XIP with a new one. The XIP of the new OS must be "implanted" into the XIP of the base rom of the device. The reason for this is that there are many files that can simply be replaced in the XIP, but some must remain untouched as they hold key elements for the proper functioning of the device (Native Kernel).
[highlight]SYS[/highlight]
The SYS folder will have packages with software that the device may or may not need to run properly. This holds things such as the Shell (your UI), Office, core applications, etc. A lot of these packages can be removed from the SYS in order to make space for other apps that the chef maybe interested in having. However, great care must be taken when removing/adding packages since some packages are needed for the device to even be able to boot. Likewise, having too many packages will render the rom un-flashable since most devices have a specific size of rom that they cannot go over. In the case of latter devices, the available space for rom has gone up dramatically. For instance, the Vogue has roughly 90 MB of space for the rom. This is more than plenty to cook a lot of apps without too many issues. There are older devices such as the Blue Angel, where the size of the rom is limited to 32 MB, which forces most cooks to remove packages and compress things as much as possible to even have a bootable rom (keep in mind that most of the time, builds are coming with more and more space requirements).
On top of all this, there are the resolution requirements. Most packages will come with a second folder of a similar name with the resolution added. For example, Base will have another folder called Base_96DPI. The chef will have to be careful on what he/she puts to be cooked as having different resolution packages can make the device either not boot, or look weird (out of scale images) if it does boot
[highlight]OEM[/highlight]
The OEM normally holds fixes and programs that the cook could not fit in the SYS. It also hold drivers, sometimes even Language packs among other things.
[highlight]Lang[/highlight]
These are language and location specific modules. The chefs use the location modules to make roms for different languages and locations. It is usually a four character code that determines which country/language the rom is made for. For instance, 0409 is WWE.
There are many other basic concepts (such as Virtual Memory allocation) that could be discussed, but for now, these basic definitions should help the average person understand what they are dealing with when they see a new set of packages coming out on PPCK,
Hope this helps the cause
egzthunder1 said:
Hey Lewy1,
You are off to a good start. I have been giving your idea some thought and if you truly want this to be a "learning resource" for new chefs, you may want to start by describing a few basic concepts as well.
Click to expand...
Click to collapse
Thanks! Great Info I'll add it to the first post.

[WIP] Guillemet - An open application manager/Marketplace

Hey everyone, I've thought for a while now that there should be a way to install homebrew applications on the device itself and have written a little something talking about the idea here. This post is mostly copied from there and focuses on the installation problem, so if you want the full thing, check it out.
Guillemet is (well, will be) a package manager for Windows Phone 7; basically the equivalent of Cydia for iOS, except not based on an existing system like dpkg (because is it Windows-based, and a package system like this is not in widespread use for Windows). This means its main tasks will be:
Downloading packages (applications... or other things) from outside sources (repositories)
Installing these packages on the user's device
Periodically checking the repositories for any new versions of packages
Why call it Guillemet? There are a couple of reasons for this name. First of all, I was looking for a name that was short (a single word), unique enough to catch people's attention and just sounded nice. Guillemets are the characters used in certain languages (like French) where quotation marks would be used in English. They look like this: « Ce sont des guillemets. » Because it's a typographic character, I thought it fit in nicely with Microsoft's Metro design concept. Also, it pointing forward can represent 'progress' (or something like that... that's marketing right?). Finally, it makes a nice reference to one of the things that made this possible in the first place: a guillemet consists of two chevrons.
Because the installing of applications is required for the application to be useful at all, I think it would be important to focus on this for now. Here's a short overview of what it currently known:
Installation can be done via provxml, but requires DRM (and cracking it is not feasible).
There are some functions present that might do the job, but we cannot access them at the moment due to our low privileges (this thread is trying to do something about that).
Manual installation would require us to 'register' the application, which probably has to be done by editing the file \Application Data\Microsoft\PackageManager\pacman.edb, but we cannot access this at the moment (it might also be in use by the OS). This manual approach will give us more customization options, though.
With a system to install even just standard XAP's in place, the first step would probably be to create a protocol handler so XAP's can be downloaded and installed right from the browser. This will create an open environment akin to that on the desktop, and will be very simple to implement and maintain (or rather, not maintain). Later on a package management system can also be implemented (more about that here).
I hope some of you will like the idea and might even discover something to make this work
Wow, first post here I like the idea but I guess it's nearly impossible =/ There's already a project like that.. it's called xda market and they still work on a device client ^^ I'm curious if on-phone-deployment will work one day

A collective action

One thing that I seem to notice is that even though this forum may have some releases that people can use it seems to lack both information and tools to get into trying to help the community. Some people, such as me and im sure many others, have some, even if only basic, skills but the process of applying them to the field of Windows Phone. For example a while back I wanted to tinker with the Windows Phone emulator but I failed to find working tools to dump and reconstruct the ROM and sadly no documentation to look at the format to see whats going on. I once saw a tool for HTC ROM's I think but that has since disappeared. Some of the old formats are at least partially known but burried somewhere deep in this forum where it becomes a pain to find them.
Specifically I would be interested to know if there are ways to actually debug the assemblies using tools like IDA on either the emulator or an actual phone (even though they were compiled to different instr sets they still probably mostly share the same code). I am also wondering what tools could be used to atleast compile native binaries, even if they can't be executed yet.
I personally have a little reversing experience and a fair amount of coding experience yet the current barrier of lack of information seems overwhelming and deterring. I can't say I will have either the experience or time to get us all further but I wouldn't mind tinkering with my phone and/or it's operating system and isn't that the whole point of this community?
It would interest me if there are others who feel the same way and whether there are others out there who could maybe help to get others started. XDA has a wiki but it seems to be mainly "consumer" orientated.

[Q] Why does the Windows RT jailbreak need volume button?

I'm posting this here because it says I need to get 10 posts in order to post on the Windows 8 development forums.
Why does the Windows RT jailbreak require that you press the volume button? As far as I can tell, pressing volume is used to trigger a code path in winsrv.dll on which a hook is placed. The hook jumps to the code cave between the .text and .data segments.
Reading the disassembly, the injected code uses the native API equivalent of EnumDeviceDrivers to get ntoskrnl.exe's base address, then calls the broken NtUserSetInformationThread subfunction 9 0x7EFF0 times to clear g_ciEnabled in the kernel. (I read the part about interlocked operations causing an exception in ARM if the target is unaligned, unlike x86 where it's merely not atomic.)
Instead of hooking an existing code path, why not inject a DLL into csrss.exe and create a thread in it? This seems like it would be much more stable, and wouldn't require pressing the volume button. CreateRemoteThread doesn't work with csrss.exe, because it tries to register the new thread with csrss.exe. Oops. However, RtlCreateUserThread *does* work, since native threads don't need to talk to csrss.
Where did cdb.exe come from? It doesn't come with the Visual Studio 2012 Remote Tools, so I'm guessing that it's a leak. In the absence of any other information, I'm going to guess that it's a leaked ARM version of Debugging Tools for Windows given to hardware developers who write drivers for Windows RT.
I'm working on a custom jailbreak that improves on a lot of issues. It's a single file, a .bat, that extracts everything needed, and a jailbreak program written in C. I've already gotten the custom C DLL loaded and executing, and am now looking into what I need to do to csrss.exe. Getting code executing inside csrss.exe won't be too hard, but I'm wondering what that code will need to do.
Moved here as not an Android related development issue, so was out of place in General forums.
You won't be able to inject .dll's. Windows will refuse to load the modules, unless the jailbreak has already ran.
As far as why it needs the volume button, you're correct in that it just executes an easily hooked code path in csrss.
netham45 said:
You won't be able to inject .dll's. Windows will refuse to load the modules, unless the jailbreak has already ran.
As far as why it needs the volume button, you're correct in that it just executes an easily hooked code path in csrss.
Click to expand...
Click to collapse
My DLL was linked with /filealign:4096, resulting in a perfect RVA to file offset mapping (assuming I don't create more than a small amount of zero-initialized global variables). With that, I can use NtMapViewOfSection without SEC_IMAGE to map it into csrss's memory without ci.dll getting in the way.
Once the DLL is mapped, I fix up its relocations, load the imports, and RtlAddFunctionTable. From there, the DLL is stable enough to do most things. All this works already - I'm just writing what to do next.
Does Tuesday's win32k.sys patch fix this bug? I saw that the patch had fixes for like 20 win32k bugs found by the Google guy who discovered the NtUserSetInformationThread 9 exploit.
Myriachan said:
I'm posting this here because it says I need to get 10 posts in order to post on the Windows 8 development forums.
Why does the Windows RT jailbreak require that you press the volume button? As far as I can tell, pressing volume is used to trigger a code path in winsrv.dll on which a hook is placed. The hook jumps to the code cave between the .text and .data segments.
Reading the disassembly, the injected code uses the native API equivalent of EnumDeviceDrivers to get ntoskrnl.exe's base address, then calls the broken NtUserSetInformationThread subfunction 9 0x7EFF0 times to clear g_ciEnabled in the kernel. (I read the part about interlocked operations causing an exception in ARM if the target is unaligned, unlike x86 where it's merely not atomic.)
Instead of hooking an existing code path, why not inject a DLL into csrss.exe and create a thread in it? This seems like it would be much more stable, and wouldn't require pressing the volume button. CreateRemoteThread doesn't work with csrss.exe, because it tries to register the new thread with csrss.exe. Oops. However, RtlCreateUserThread *does* work, since native threads don't need to talk to csrss.
Where did cdb.exe come from? It doesn't come with the Visual Studio 2012 Remote Tools, so I'm guessing that it's a leak. In the absence of any other information, I'm going to guess that it's a leaked ARM version of Debugging Tools for Windows given to hardware developers who write drivers for Windows RT.
I'm working on a custom jailbreak that improves on a lot of issues. It's a single file, a .bat, that extracts everything needed, and a jailbreak program written in C. I've already gotten the custom C DLL loaded and executing, and am now looking into what I need to do to csrss.exe. Getting code executing inside csrss.exe won't be too hard, but I'm wondering what that code will need to do.
Click to expand...
Click to collapse
Hello!
Glad to see here sensible Guru, who understand, that non-permanent JB, requiring "Vol -" pressing and hanging in RAM - is a vicious way! I can't understand reluctance of Netham45 to make a permanent JB (nothing personal). If you will develop your own JB with options, described above, it will be a breakthrough! Wish you good luck and fastest implementation of planned :fingers-crossed:
If you think netham45 is reluctant to make a permanent jailbreak, your lack of understanding is far greater than you know. A permanent jailbreak would be excellent, especially one that was active immediately at boot (instead of requiring a delay after booting, during which time the default restrictions are still in place).
However, there are some issues with the current jailbreak technique. In particular, it's dependent upon knowing the correct offset for the flag that needs changing, there's no way to know for certain the state of that flag before writing it, and the offset changes with updates. If the wrong offset is written to, or the wrong value written, the system crashes. Therefore, making a "permanent" jailbreak using this hack runs a very real and serious risk of putting the device into a bluescreen-reboot loop after an update, even one that isn't intended to break the jailbreak, just by accident.
In order to make a reasonably safe permanent jailbreak, a new jailbreak method will need to be discovered. That's not a trivial thing; the first one took some time to discover at all, and the effort on finding new methods has fallen off somewhat as many people are now looking for ways to use the existing one rather than looking for new ones. Additionally, even if a new method is found (which would be good; we should always have a backup), there's no guarantee that the new technique will any better-suited for being persistent or even automatic on bootup.
GoodDayToDie said:
However, there are some issues with the current jailbreak technique. In particular, it's dependent upon knowing the correct offset for the flag that needs changing, there's no way to know for certain the state of that flag before writing it, and the offset changes with updates. If the wrong offset is written to, or the wrong value written, the system crashes. Therefore, making a "permanent" jailbreak using this hack runs a very real and serious risk of putting the device into a bluescreen-reboot loop after an update, even one that isn't intended to break the jailbreak, just by accident.
Click to expand...
Click to collapse
I did put in some code to automatically find the offset (downloads the pdbs from MS and disassembles that chunk of code from ntoskrnl and parses it), though it still does make some heavy assumptions that I wish I could do without. It should be in 1.13a.
Note that it's still just assuming that csrss is perfect, though.
Denis_63 said:
Hello!
Glad to see here sensible Guru, who understand, that non-permanent JB, requiring "Vol -" pressing and hanging in RAM - is a vicious way! I can't understand reluctance of Netham45 to make a permanent JB (nothing personal). If you will develop your own JB with options, described above, it will be a breakthrough! Wish you good luck and fastest implementation of planned :fingers-crossed:
Click to expand...
Click to collapse
I'd love a persistent jailbreak, but we don't have an exploit for one yet. I'm not reluctant to make one, I don't presently have the ability to. The tool that Myriachan is talking about would have the same issue.
netham45
GoodDayToDie
Hey, guys, I bag pardon, if I were too harsh... I'm not the Guru as you are, and really had no notion about the level of complexity of the problem. Becose of that I wrote - "Nothing personal" Wish all of you GOOD LUCK in your important work!

android 2.1 app dev environment

i find that i prefer using my nst more & more.. in fact, my swanky but gas-guzzling tablet has been all but discarded, except for watching movies in bed.
i am going to find open-source apps, and recompile the latest sources specifically for android 2.1 eclair, as i find that most devs and google market are removing eclair from their horizons. i am particularly interested in small-sized efficient apps. i do use quite a lot of them, but mostly very old versions.
for this purpose, i want to setup a eclair-dedicated dev environment. i am happy to share all apps that i compile & use myself. hopefully, many others might find useful too.
where i need your help is with advice on how best to setup a tiny/efficient (not bloatware) dev environment, bearing in mind that it will only be used to recompile apks for eclair on b&w eink. i notice that some of you are very efficient in creating extremely small apk, and this is what i want to do.
platform:
on my debian wheezy host, i installed virtual box and created a debian wheezy minimal guest. virtualbox guest additions has significantly altered my perception of virtualbox. i had been using kvm previously.
pre-requisites:
install openjdk-7-jdk
dev environment:
google lists android studio as the only official one. it is huge, bulky, cumbersome bloatware imho. i think this is targetted at the new kids on the block not used to terminal environments. but this seems to be my only option for now, till i hear from you lot of some simpler dev tools.
my requirement is very simple, all i need to do is, change some code somewhere and compile.
so i downloaded android studio, and unpacked it in a directory reserved for my android development. loading it is like watching windows booting up! and then it downloads android sdk, which is another huge bloatware, particularly since it insists on downloading all the crap-lollipop-ware which i have no intention of using.
so my dev environment is almost ready! if anyone has suggestions or tips, or want more detailed instructions/commands, please comment..
Don't forget that the NST only runs 2.1 Éclair apps, as its OS is 2.1 Éclair.
This sounds like a great project - I also prefer my NTG (in fact, I'm on it right now!).
veloo said:
for this purpose, i want to setup a froyo-dedicated dev environment.
Click to expand...
Click to collapse
Check requirements for compiling Eclair/Froyo itself, SDK version doesn't matter since it supports all API versions.
Personally I'd use a virtual machine with oldest supported 32-bit *buntu release- better chance that required packages versions will be present in official repos.
EDIT:
This may help, discussion was related to kernel compilation however there should be link to quick tutorial about CM6 (Froyo) compilation- http://forum.samdroid.net/f28/setup-kernel-build-environment-using-virtualbox-windows-7-64-bit-4007/ (sorry if 10-sec advertisement pops up)
thanks folks.. my bad! indeed it is eclair, and not froyo. i have updated my op above.
gen_scheisskopf said:
EDIT:
This may help, discussion was related to kernel compilation however there should be link to quick tutorial about CM6 (Froyo) compilation- http://forum.samdroid.net/f28/setup-kernel-build-environment-using-virtualbox-windows-7-64-bit-4007/ (sorry if 10-sec advertisement pops up)
Click to expand...
Click to collapse
that discussion seems to be about iphone development
veloo said:
that discussion seems to be about iphone development
Click to expand...
Click to collapse
Nope, it's for Samsung i5700 Spica (latest official firmware- 2.1)
all that talk about crosstool toolchain arm-iphone-linux-gnueabi got me confused.. sorry!
No problem. Back then we had to use whatever was available and compiling Crosstool-NG was easier option than to get precompiled Android toolchain.
Anyway check links in the thread, there were tutorials about compiling Froyo from scratch (note: samdroid's wiki is down) and IIRC Eclair had about the same requirements
thx but my objective atmo is not compiling froyo or eclair or any roms. it is purely to compile apps for use on the nook.
I'm aware of that. IMO link provided can help you in preparation of build environment
At work I use Android Studio to build apps, but at home I still just use Notepad++, the Windows tools in the Android SDK and the (ancient) Borland make.
I probably will migrate to Android Studio at home eventually.
Still, coding by hand you learn a lot about things.
In the old days for text editing very large data files I used VE & Vedit plus the old Norton commander file manager, I could select any sort of columns within a text file in VE, hex, plus grep commands. Or ms-word macros with VB APIs if needed too. But these were for huge files from publishers. For most things though I had been using Notepad++ or UltraEdit for years. In recent past I hardly use them, instead I use Sublime Text Editor for almost everything, I like the recent portable version which launches fast. Also if I'm debugging live with breakpoints & watches & changing code in PhpStorm, the open instance of Sublime updates code as I work in PhpStorm. I tried a few modern text editors in the same league which supposedly have bested Sublime, but I keep going back to it for most coding or text. Apart from php and various text formats, Sublime handles & color codes for other types too like html, JavaScript etc. Interesting discussion on modern text/code editors & IDEs:
https://www.youtube.com/watch?v=5K-TalfLFas
Hey a nice effort to build apps optimized for Nook Simple Touch.
Renate, Marspeople, have already created some nifty apps for our device.
How about you update the OP with links to their apps(with due credit to them and express permission for the same) besides sharing your own collection of NST optimised apps ?
I'm totally noob at this, My little dream it's develope a clock app for the nook but I'm stuck in "hello world" when I try to compile my app in Android Sudio 2.1.3 it throws this error: "uses-sdk:minSdkVersion 7 cannot be smaller than version 9 declared in library" Can somebody help me?
I
Use SDK suite ver. 9 and higher or declare in library, that you're using ver.7.
Necropost, I know, but do you hhave links to posts by the people mentioned, with the apps they've developed?
aiamuzz said:
Hey a nice effort to build apps optimized for Nook Simple Touch.
Renate, Marspeople, have already created some nifty apps for our device.
How about you update the OP with links to their apps(with due credit to them and express permission for the same) besides sharing your own collection of NST optimised apps ?
Click to expand...
Click to collapse

Categories

Resources