[APP] Regshot for Window RT - Windows RT Development and Hacking

All,
Hopefully someone other than me finds this useful
Please find the attached native Window RT binaries for RegShot 1.8.3 beta.
http://code.google.com/p/regshot/
Regshot is a registry utility which allows you to compare snapshots of the Windows registry to determine registry changes performed by applications, services, etc. It can be particularly helpful in determining registry changes between systems for forensics, and as a general system utility to understand system behavior.
Cheers!

bfosterjr said:
All,
Hopefully someone other than me finds this useful
Please find the attached native Window RT binaries for RegShot 1.8.3 beta.
http://code.google.com/p/regshot/
Regshot is a registry utility which allows you to compare snapshots of the Windows registry to determine registry changes performed by applications, services, etc. It can be particularly helpful in determining registry changes between systems for forensics, and as a general system utility to understand system behavior.
Cheers!
Click to expand...
Click to collapse
Build against Commit 314:http://sourceforge.net/p/regshot/code/314/

Related

[Q] C# for reading/writing Registry

Hi all,
I'm sure this is in the forums somewhere, but due to the billion mentions of "registry" I haven't been able to locate it.
Is there a tutorial anywhere for programming the reading and writing of registry keys? I'd like to develop a UI to provide XDA members to adjust the Bluetooth services that are associated with each paired device to enable dual pairing on unlocked phones (I.E. a UI for this: http://forum.xda-developers.com/showthread.php?t=1517029)
Thanks,
Ben
It can't be done directly with C#, because there's no managed (.NET) API for registry access on the phone. Instead, you either need to call into a native DLL that you wrote and exposed through COM, or you need to call into an OEM DLL that calls an OEM driver for you. The first approach requires writing, or at least having access to, a native library written in C++. It will also run only with the permissions of the app, which is insufficient for writing to the registry on stock ROMs (unless elevated with something like HtcRoot or WP7 Root Tools 0.9). The second approach requires device-specific code and the ID_CAP_INTEROPSERVICES capability in its manifest.
For a simple app that uses the second approach, see my MultiTaskToggle app (linked in my sig). Note that this app only needs to read or write a single registry value, so that's how I wrote it. If you want to enumerate registry keys and values, you'll need to use the COM library approach for reading. There used to be a great set of COM libraries for "hybrid" managed/native apps, but most of them were never updated for Mango compatibility. The only one I know of that currently support registry access is used in Schaps' apps, Registry Editor and Advanced Config, and those tools are closed-source (although, with a .NET decompiler, you could probably figure out their APIs easily).
GoodDayToDie said:
It can't be done directly with C#, because there's no managed (.NET) API for registry access on the phone. Instead, you either need to call into a native DLL that you wrote and exposed through COM, or you need to call into an OEM DLL that calls an OEM driver for you. The first approach requires writing, or at least having access to, a native library written in C++. It will also run only with the permissions of the app, which is insufficient for writing to the registry on stock ROMs (unless elevated with something like HtcRoot or WP7 Root Tools 0.9). The second approach requires device-specific code and the ID_CAP_INTEROPSERVICES capability in its manifest.
For a simple app that uses the second approach, see my MultiTaskToggle app (linked in my sig). Note that this app only needs to read or write a single registry value, so that's how I wrote it. If you want to enumerate registry keys and values, you'll need to use the COM library approach for reading. There used to be a great set of COM libraries for "hybrid" managed/native apps, but most of them were never updated for Mango compatibility. The only one I know of that currently support registry access is used in Schaps' apps, Registry Editor and Advanced Config, and those tools are closed-source (although, with a .NET decompiler, you could probably figure out their APIs easily).
Click to expand...
Click to collapse
Perfect, that was all the info I needed. Thanks.
Ben

[Q] How to develop an C# Wp7 app that accesses the registry and change the same

I want to make a new App to change settings for my phone.
How do I create a C # App in WP7 that makes changes to the registry and files WIndows Phone?
You need a lot of stuff:
- installed Visual Studio + latest WP7 SDK;
- interop-unlocked phone;
- knowledge in C# and WP7 programming.
If you meet the above requirements, read (attentively) this: http://forum.xda-developers.com/showthread.php?t=1569832
And if you are building Windows Phone 7 apps, you qualify as a startup and can get Visual Studio for free from Microsoft:
https://www.microsoft.com/bizspark/Startup/Signup.aspx
This gets you a free MSDN Ultimate subscription for three years.
Still looking for this help
sensboston said:
You need a lot of stuff:
- installed Visual Studio + latest WP7 SDK;
- interop-unlocked phone;
- knowledge in C# and WP7 programming.
If you meet the above requirements, read (attentively) this: http://forum.xda-developers.com/showthread.php?t=1569832
Click to expand...
Click to collapse
I am an average programmer, I have these tools and capabilities.
My intention is to discover how to access and edit the registry through my applications.
wp7roottools is a good choice, but would like to know how to do it from scratch to the end user does not need to have the application installed.
kenikh said:
And if you are building Windows Phone 7 apps, you qualify as a startup and can get Visual Studio for free from Microsoft:
https://www.microsoft.com/bizspark/Startup/Signup.aspx
This gets you a free MSDN Ultimate subscription for three years.
Click to expand...
Click to collapse
Microsoft does not help much in this case
Well, you'll need to know how to write native code (use Visual Studio 2008 and the WinMo 6.x SDKs or the CE 6 or CE 7 platform builders). Write a native DLL with a COM class that exposes the functionality you want. You can then create an instance of the COM class from C# and use that via the ComBridge API. You can read more on doing this in a guide posted by Heathcliff74 on the dev&hacking sub-forum; search "guide developers native mango" and you should find it.
However, that will only give you the APIs to access the registry, it won't actually give you the permissions. You'll have read access to only part of the registry, and no write access at all. If you want higher permissions, you have four options:
1) Write an app for full-unlocked ROMs only. Full-unlock ROMs run all apps with max permissions.
2) Write an app that uses one of the existing "root" hacks that elevate an app to TCB (for example, require that people use WP7 Root Tools with your app).
3) Write an app that uses ID_CAP_INTEROPSERVICES and the OEM drivers present on most phones to do high-privilege operations. This is how registry editors and such worked before Root Tools, but requires substantial work to support various different OEM devices and firmware versions, and some device+firmware combinations aren't supported at all right now.
4) Find your own new elevation-of-privilege vulnerability, hack up an exploit for it, and use that. For example, when I created the HtcRoot project, WP7 Root Tools wasn't yet available for my phone.
GoodDayToDie said:
Well, you'll need to know how to write native code (use Visual Studio 2008 and the WinMo 6.x SDKs or the CE 6 or CE 7 platform builders). Write a native DLL with a COM class that exposes the functionality you want. You can then create an instance of the COM class from C# and use that via the ComBridge API. You can read more on doing this in a guide posted by Heathcliff74 on the dev&hacking sub-forum; search "guide developers native mango" and you should find it.
However, that will only give you the APIs to access the registry, it won't actually give you the permissions. You'll have read access to only part of the registry, and no write access at all. If you want higher permissions, you have four options:
1) Write an app for full-unlocked ROMs only. Full-unlock ROMs run all apps with max permissions.
2) Write an app that uses one of the existing "root" hacks that elevate an app to TCB (for example, require that people use WP7 Root Tools with your app).
3) Write an app that uses ID_CAP_INTEROPSERVICES and the OEM drivers present on most phones to do high-privilege operations. This is how registry editors and such worked before Root Tools, but requires substantial work to support various different OEM devices and firmware versions, and some device+firmware combinations aren't supported at all right now.
4) Find your own new elevation-of-privilege vulnerability, hack up an exploit for it, and use that. For example, when I created the HtcRoot project, WP7 Root Tools wasn't yet available for my phone.
Click to expand...
Click to collapse
Thanks to previous answers, this really seems to get bad to be useful.
So need to develop a DLL with COM classes (for Windows Mobile 6.5) that has the functions I want and then invokes it. I carefully read the topics mentioned.
Answers to your bookmarks:
Option 1) My first application is intended for the HTC HD2 fullUnlock, I believe not having problems with permissions.
Option 2) Use third party tools like WP7RootTools is not very advantageous for the moment
Option 3) seems to be the best option, but as the knowledge needed to collect it?
Option 4) I think I still do not have sufficient skills for this option.
Very grateful for your help this is really helpful and appreciated.

[Q] How XAPs are deployed to Emulator and Device

Hello.
I'd like to automate XAP deployment from my development environment to WP emulators running for testing. WP emulators are running as Hyper-V VMs and they have a valid IP. As much as I understand communications between MS tools like Visual Studio 2011 Beta and WP are TCP/IP based. So, I wonder what is hiding behind the "Deploy" button? Some PowerShell command? Anything else? For starting I'd like to upload the XAP and install it on the Emulator and eventually the device.
Thanks.
There are third-party deployer apps, so what you want is entirely possible. You'd have to look at the source for them, though, and then write your own that listened on a network socket for the file that it is supposed to install.
GoodDayToDie said:
There are third-party deployer apps, so what you want is entirely possible. You'd have to look at the source for them, though, and then write your own that listened on a network socket for the file that it is supposed to install.
Click to expand...
Click to collapse
Due to security restrictions I still cannot post to developers forums, so I'll try to ask here:
are these applications like Tom XAP installer or Multi-XAP installer Open Source, or what? They are distributed in a compiled form so how I can ask their developers for the source code?
There are any number of programs that can decompile managed assemblies (JustDecompile, for example, but there are a bunch and many are free). It's nice to ask for source (and some of the apps are probably open-source; you can look for the tag [SOURCE] or similar in the thread title) but unless they obfuscated the assembly for some reason, decompiling well enough to understand what it does is easy.

[Q] Hacking Windows RT to Run Desktop Apps?

Obviously no one has a had a chance to try this yet, but will there be an effort to hack Windows RT to enable more desktop applications? I really don't care about the desktop, but there's one tiny utility that would be extremely useful. I use a program from Microsoft called "Mouse Without Borders" to control two computers with one keyboard and mouse. I'd love to do this on the Surface RT I'll be buying, but of course because it's a desktop application, I probably won't be able to.
revxx14 said:
Obviously no one has a had a chance to try this yet, but will there be an effort to hack Windows RT to enable more desktop applications? I really don't care about the desktop, but there's one tiny utility that would be extremely useful. I use a program from Microsoft called "Mouse Without Borders" to control two computers with one keyboard and mouse. I'd love to do this on the Surface RT I'll be buying, but of course because it's a desktop application, I probably won't be able to.
Click to expand...
Click to collapse
Compiling desktop apps for ARM using VS 2012 gives an error message, but it can be bypassed. Not sure if the results will run in Windows RT though.
Of course there's no way to find out until Windows RT devices are released to the public, because everyone who has access to one is under NDA. Have some patience.
for what you are suggesting, i believe it is technically either impossible or reliant on an emulator. since windows RT is for ARM processors and normal windows is for x86 processors, instructions would need to be converted from x86 to ARM in order to be used. this would be the job of an emulator, which would most likely not be able to be integrated deeply enough in the OS to do what you are talking about. even if it was, it would run slower than optimal.
now if microsoft releases the source code for their application (very unlikely), its an entirely different story. then the code can be recompiled for an ARM processor, making anything possible.
someone correct me if im wrong, but i believe im correct.
Pseudonym117 said:
for what you are suggesting, i believe it is technically either impossible or reliant on an emulator. since windows RT is for ARM processors and normal windows is for x86 processors, instructions would need to be converted from x86 to ARM in order to be used. this would be the job of an emulator, which would most likely not be able to be integrated deeply enough in the OS to do what you are talking about. even if it was, it would run slower than optimal.
now if microsoft releases the source code for their application (very unlikely), its an entirely different story. then the code can be recompiled for an ARM processor, making anything possible.
someone correct me if im wrong, but i believe im correct.
Click to expand...
Click to collapse
As someone who has one of these devices, I can't say much more other than it will not happen, I am sorry. You'll need to start barking at the developer to make a ARM Compatible App... Not likely it will happen as the API's are very different.
lseidman said:
As someone who has one of these devices, I can't say much more other than it will not happen, I am sorry. You'll need to start barking at the developer to make a ARM Compatible App... Not likely it will happen as the API's are very different.
Click to expand...
Click to collapse
You have an ARM device? If so, can you say 100% that there is no way to target win32/desktop using new code? It would be great to know for sure. I know it's possible to compile desktop code that targets ARM, producing a certain mystery executable. The only question is, will it actually run?
I have an arm device running WindowsRT. I compiled a HelloWorld for arm no problem in VS2012.
Unfortunately it will not run. Get 'Windows cannot verify the digital signature for this file'
If anyone knows a workaround to this we might be able to get it working
xanderkaiber said:
I have an arm device running WindowsRT. I compiled a HelloWorld for arm no problem in VS2012.
Unfortunately it will not run. Get 'Windows cannot verify the digital signature for this file'
If anyone knows a workaround to this we might be able to get it working
Click to expand...
Click to collapse
well the simple way would be to sign it. HOW to sign it is a completely different problem... there may be a group policy change or registry edit to turn off signature verification, but i am not familiar with windowsRT at all.
phailyoor said:
You have an ARM device? If so, can you say 100% that there is no way to target win32/desktop using new code? It would be great to know for sure. I know it's possible to compile desktop code that targets ARM, producing a certain mystery executable. The only question is, will it actually run?
Click to expand...
Click to collapse
How did you bypass the error message in VS2012? Can you share the exact steps you took to bypass the error as well as your mystery executable here so that folks who are under NDA and have early access to the ARM devices can try it out?
Since Office RT is a desktop app, one can only assume all of this is possible.
Windows RT is basically just Win8 recompiled for ARM, with one major exception: EXE files need to be signed by Microsoft before they will run. This means that MS can release desktop apps just fine - they have the signing keys, after all - but third-party software can't run by itself (as a desktop app) and will need to be bundled as an .APPX file (Metro-style app bundle).
If you want to try bypassing the signature check, there are a few things you could attempt. One would be to create your own signing certificate, install the public key in the OSes root code signing cert store (not the per-user store, though it qprobably wouldn't hurt to install it there too), and then sign your test apps with that cert. MS *probably* used certificate pinning - where a specific cert is used, rather than just any cert present in the OS of sufficient trust level - but they may not have, too. Alternatively, you could try looking for some legacy or debug functionality to disable the code-signing. Finally, you coul try using a built-in program, rundll, to invoke your applications.
I can't test any of this right now, because I don't have an RT device. There's a lot of research on them that I want to do, though.
Quote from one very old MS Windows 8 document, from those times when windows RT was called "woa" (2011). Everything could have changed from those days.
Description of the change:
WOA platforms will require that all desktop binary images be signed with a trusted Microsoft certificate. Any unsigned code will fail to load. This document describes the technical steps required to enable unsigned test, development, or manufacturing applications to run. This document does not cover Metro Style applications for which there is a separately documented signing requirement and developer licensing.
Action required
In order for any test binary or tool to run on WOA platforms you must do one of the following:
· Register the install location of your test binaries as an exclusion path, OR
· Attach a Kernel Debugger and disable checking by setting the appropriate registry value
...cut...
2. Scripts - Scripts will be allowed to run if the script host (e.g. cscript.exe, cmd.exe, etc.) is Microsoft signed or is run under an exclusion path.
...cut...
How to register your test binaries in an exclusion path
...cut...
Exclusion paths are listed in the following registry key in REG_MULTI_SZ format:
Key: HKLM\SYSTEM\CurrentControlSet\Control\CI\TRSData
Value: TestPath
Paths added to this key should be in one of two formats:
1. Path (recursive): \Program Files\TestAutomationPath
2. Binary (specific): \Program Files\TestAutomationPath\mybinary.exe
Note: Do not include the drive letter of the volume. Each path will be excluded across all volumes.
...cut...
The following paths are restricted and cannot be added as an exclusion:
1. \
2. \Windows
3. \Windows\System32
4. \Program Files
...cut...
How to disable signature verification with an attached Kernel Debugger
To disable signing verification when a Kernel Debugger is attached the “DebugFlags” value must be deleted from the “HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CI” registry key and the system must be rebooted. After this Signing Verification will not take place.
This can be scripted by putting the following in a .cmd script and executing with admin privilege:
cmd /c reg delete "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\CI" /v DebugFlags /f
shutdown -r -t 0
...cut...
Note: Enabling Kernel Debug will not be allowed by default on machines with Secure Boot enabled. Either Secure Boot will need to be disabled, or during boot the F8 menu selection to EnableDebugging must be chosen.
...cut...
At a later point, changes will be made to Windows 8 builds which will enforce that only machines configured as “Debug System” will support exclusion paths.
A “Debug System” is will initially be identified by the presence of the Microsoft Test Signing CA in the UEFI signature database (“db”).
...cut...
Note: If there is a need to run unsigned tools, the system can be configured as a “Debug System” during manufacturing but there must be a step in the production process that removes the Microsoft Test CA.
Production machines must not ship with the Microsoft Test CA in the db.
Click to expand...
Click to collapse
First we need to get hands on ARM device. I'd recommend Qualcomm-based, as chinese friends regularly leak their docs/sources. MS Surface is Tegra-based, so don't buy it
And one more thing:
This document “Enabling Debug Mode for Development, Manufacturing, and Support of Windows RT Devices” discusses placing a production device into ‘Debug Mode’ is accomplished by creating a per device Windows Debug Policy using tools provided by Microsoft.
Click to expand...
Click to collapse
Unfortunately I don't have “Enabling Debug Mode...” document, as I don't have access to connect.microsoft.com. Anyway it would not be helpful for us, end-users.
So to turn on a device to debug mode - you'll need a special "something" that is signed for your particular device. Sign is based on 2048-bit key, so you can't bruteforce it. But you can try to hack UEFI. UEFI is partially opensourced, so you can start to study its code now from edk2.sf.net
And one more way. Remember the test signing mode in Win7+. It is still present in Win8. Turn it on via bcdedit on your RT-device, use your own certificate to sign your driver or your program, ..., profit.
But be careful when hacking. There are known problems with BitLocker when test signing mode is on. The OS simply would not boot. Lets hope that we could disable BitLocker on our devices...
Just tried editing the registry to add a testing path. Didnt work
Still asks for certificate
xanderkaiber said:
Just tried editing the registry to add a testing path. Didnt work
Click to expand...
Click to collapse
According to MS document - this would work only on "debug mode"/"debug system" devices.
Can you turn on the test-signing mode:
Code:
In elevated CMD type:
bcdedit.exe /set {globalsettings} testsigning Yes
bcdedit.exe /set {bootmgr} testsigning Yes
bcdedit.exe /set {current} testsigning Yes
and try to sign your app with your own certificate I hope that test signing is still present on WinRT.
But first check that you are not using BitLocker (the "get-bitlockerVolume" command in admin's powershell). According to MS docs the retail device would not boot in this case (this info is taken from windows phone 8 "portico" docs, so may be unrelated to WinRT devices).
danchar4 said:
How did you bypass the error message in VS2012? Can you share the exact steps you took to bypass the error as well as your mystery executable here so that folks who are under NDA and have early access to the ARM devices can try it out?
Since Office RT is a desktop app, one can only assume all of this is possible.
Click to expand...
Click to collapse
Theres some info on the web somewhere for a config change to VS2012 that lets it build ARM desktop apps
Not that you can run them due to the signing issues
http://stackoverflow.com/questions/...op-programs-be-built-using-visual-studio-2012
I did it!
I managed to build and run a windows application for arm! Just turned on test signing and signed it with my own cert, then compiled for ARM in vs2012 and it ran
Definitely a good sign
xanderkaiber said:
I did it!
I managed to build and run a windows application for arm! Just turned on test signing and signed it with my own cert, then compiled for ARM in vs2012 and it ran
Definitely a good sign
Click to expand...
Click to collapse
Working on the surface?
Sent from my SCH-I535 using Tapatalk 2
eorsini said:
Working on the surface?
Sent from my SCH-I535 using Tapatalk 2
Click to expand...
Click to collapse
Not a surface, a Qualcomm engineering sample device. But I imagine it would definitely work on the surface also.
xanderkaiber said:
I managed to build and run a windows application for arm! Just turned on test signing and signed it with my own cert, then compiled for ARM in vs2012 and it ran
Click to expand...
Click to collapse
Great news
Seems that turning on the test-sign mode would soon be a must on ARM devices, at least for those of us who need programs like VLC player, DosBox, FAR manager and so on.
As far as I can see, you could port pretty much anything (as long as it's c++) if you can get the source code.
Might give VLC a try now
Doesn't seem like a very good solution to me though.
While it's nice that progress is made, I think that running unsigned apps should be the primary focus - Microsoft could revoke the keys at any time.

Desktop apps ported to Windows RT

The purpose of this thread is to provide a list of desktop apps which have been recompiled to run on hacked Windows RT devices. A secondary purpose is to request or discuss such ports. Listing apps which run without recompilation (.NET 4.x) and providing libraries which are ported and/or known to work are also good uses of the thread. However, major apps, or those expected to lead to significant discussion, should probably get their own thread. Please help keep this one organized.
Please post links to compiled apps for Windows RT desktop, and if possible also link to their source code. I will make minimal testing of the apps before listing them, but nothing extensive; apps may have known or unknown issues, and it's even possible that somebody will link malicious apps here. Use at your own risk.
DO NOT request ports of closed-source applications! It's not possible (unless they're pure .NET 4.x, in which case they don't need to be ported) and you will look like a fool and waste your time. Additionally, at this time, code which requires GCC to build (i.e. can't build under MSVC) is impractical to port.
Latest changes
06 Apr: Updated link for IceChat to a newer version (thanks @TheExileFox!)
03 Sep: Updated the link for Process Hacker (thanks again, @bfosterjr!)
10 Apr: Added pForth and Python's LibFFI.
22 Dec: Added TeXStudio.
20 Dec: Added Nethack and Greenshot.
12 Dec: Added MicroEMACS. Updated Subversion and Notepad++.
21 Aug: Added AvP Classic.
20 Aug: Added Paint.NET, highlighted the step needed to use ClassicStartMenu.
16 Aug: Added Subversion and AutoHotKey.
10 Aug: Added Fossil.
22 Jul: Added ffmpeg, Halite, and Lua.
8 Jul: Added QupZilla, SPGT client, and QuiteRSS.
26 Jun: Added Snes9x, FileZilla, and WinMerge.
25 Jun: Added OpenSSL, QT4, and Perl, updated Synergy.
10 Jun: Added Coolplayer (Update: now with FLAC plugin).
7 Jun: Added GlDirect library and ioQuake3.
5 Jun: Updated link for Quake to the D3D version.
12 May: Added MFPDemo (sorry I was late posting it).
2 May: Added WinDjVu.
28 Apr: Added an updated version of MFC.
truncated...
Apps which have been recompiled:
Bochs. x86 Emulator. Known issue: no network support. http://forum.xda-developers.com/attachment.php?attachmentid=1625048&d=1357575232
TightVNC. VNC server and client. http://forum.xda-developers.com/attachment.php?attachmentid=1624600&d=1357561475
PuTTY Suite. SSH/Rsh/telnet client and helpers. Printing fixed in this build. http://forum.xda-developers.com/attachment.php?attachmentid=1637160&d=1357948281
7-Zip. Utility for file archives and disk images. https://mega.co.nz/#!FhQV3SZA!MWayY1mV4b7Bvjs9nJNq_yiQxDEaJFQpnnA3ZNApq7g
Notepad++. Powerful but simple text/code editor New update and Compare plugin. http://forum.xda-developers.com/showthread.php?t=2556112
SciTE. Code editor (http://www.scintilla.org/SciTE.html). http://fearthecowboy.com/stuff/wscite.zip (Thanks to XDA-Devs member FearTheCowboy)
IP Messenger. Peer-to-peer chat/file transfer (http://ipmsg.org/index.html.en). Binaries at http://forum.xda-developers.com/attachment.php?attachmentid=1633711&d=1357842066, source at http://forum.xda-developers.com/attachment.php?attachmentid=1633715&d=1357842310
Unikey 3.6. Known issue: without RtfIO, the "Toolkit" and "Conversion on the fly" features won't work. Older 3.1 build posted below https://dl.dropbox.com/u/8557161/rt/unikeyNT3.62_arm.7z (Thanks minhtuan99bk)
CrystalBoy. Nintendo Gameboy emulator. Known issue: uses GDI+ instead of DirectX, may reduce performance. Conflicting reports as to whether it works. http://sdrv.ms/11kcXXL Thanks to DXA-Developers member daveoggy.
ClassicStartMenu. Provides a hierarchical Start menu on the desktop taskbar. Restart Explorer after you run it! http://forum.xda-developers.com/attachment.php?attachmentid=1640579&d=1358061318 (Thanks Netham45).
Quake 2. First-person shooter game. http://forum.xda-developers.com/attachment.php?attachmentid=1640830&d=1358070370
OpenTTD. Open-source clone of Transport Tycoon Deluxe (transportation simulation game). Known issues and download link HERE: http://forum.xda-developers.com/showpost.php?p=36674868&postcount=151
DOSBox. DOS on x86 emulator. Updated again with better performance. http://forum.xda-developers.com/showpost.php?p=36620852&postcount=117
Node.JS.: JavaScript program/web server execution environment. Will be slower than usual due to lack of v8 JIT. More info: http://forum.xda-developers.com/showpost.php?p=36694633&postcount=1
FAR Manager. 2-panel terminal-based File/Archive manager (think Total Commander, etc.). Updated with plugins. http://forum.xda-developers.com/showpost.php?p=36733772&postcount=1
Miranda IM. Multi-protocol chat/IM client. http://forum.xda-developers.com/attachment.php?attachmentid=1649674&d=1358334467
Vim, GVim, etc. Code and text editor. Info and download links here: http://forum.xda-developers.com/showthread.php?p=36930991
SumatraPDF. Document reader (PDFs, possibly some other formats). Read and download here: http://forum.xda-developers.com/showthread.php?t=2098594
Audacity. Digital audio recording and editing. Info and downloads: http://forum.xda-developers.com/showthread.php?t=2103779
VirtuaWin. Virtual desktop utility. http://forum.xda-developers.com/showthread.php?t=2110131
Mini vMac. Emulator for very early Macintosh computers. http://forum.xda-developers.com/attachment.php?attachmentid=1662947&d=1358737954
Rainmeter. Desktop customization / skinning tool. Many but not all features work: http://forum.xda-developers.com/showpost.php?p=37018422&postcount=282
OpenSSL. Crypto tool, can generate keys and certificates. May have some issues with large ECC keys. http://forum.xda-developers.com/showthread.php?t=2113595
MiKteX. LaTeX compiler (typesetting tool). Script is interpreted instead of JITed but works fine. http://forum.xda-developers.com/showthread.php?t=2113634
Greenshot. Advanced screenshot tool. http://forum.xda-developers.com/showthread.php?t=2114273
Iperf. Network performance testing tool. http://forum.xda-developers.com/showthread.php?p=37346221#post37346221
MongoDB. NoSQL database. Mongo shell doesn't work correctly locally, but the server works and other clients should as well. http://forum.xda-developers.com/showthread.php?p=37475852
ScummVM. Game platform for many older games. Known issues: many disabled features and some crashes reported in this early build. http://forum.xda-developers.com/showpost.php?p=37583092&postcount=402
ResidualVM. Platform for many old-ish 3D games. Known issues: many disabled features, most engines don't work yet. More info and download: http://forum.xda-developers.com/showpost.php?p=37632363&postcount=411
Superputty. Enhanced version of PuTTY Suite with more features. http://sdrv.ms/151FWzT (Thanks to Erwan12)
NZB-O-Matic. Newsgroup post downloader (NZB download tool). http://forum.xda-developers.com/showpost.php?p=37886354&postcount=438
WabbitEMU. Texas Instruments graphing calculator emulator and dev tools. http://forum.xda-developers.com/showpost.php?p=37928562&postcount=442
Regshot. Registry shapshot/comparison tool. http://forum.xda-developers.com/showpost.php?p=37933687&postcount=1
CorsixTH. Engine for the game Theme Hospital. Includes demo, easy to use full version if you have it: http://forum.xda-developers.com/showpost.php?p=38067653&postcount=466
FreeRA. Command & Conquer Red Alert (RTS game) engine. Requires game data files. http://forum.xda-developers.com/showpost.php?p=38072727&postcount=468
FreeSynd. Syndicate (game) engine. No cutscene sound, requires game files. https://www.dropbox.com/s/ca0n0atmfl74306/Freesynd.zip
Pentagram. Ultima VIII (game) engine. Required game files. http://forum.xda-developers.com/showpost.php?p=38295828&postcount=518
Free Download Manager. Standalone file downloader and bittorrent client. Has some known issues but works: http://forum.xda-developers.com/showthread.php?t=2170002
PrBoom. DOOM game engine (can use the included shareware WAD file or other game files). http://forum.xda-developers.com/showthread.php?t=2175449
ChocolateDuke3D. Duke Nukem 3D game engine. Requires game files. Has a known sound bug with workaround. http://forum.xda-developers.com/showpost.php?p=38752618&postcount=561
GemRG. Infinity game engine clone (used for games like Baldur's Gate, Icewind Dale, and Planescape: Torment). Runs pretty well although some of the newer games may stutter a little. Requires the game files from a standard install. http://forum.xda-developers.com/showthread.php?t=2177954
Process Hacker. Advanced process inspection / control tool similar to Sysinternals Process Monitor. Updated to 2.33! http://forum.xda-developers.com/windows-8-rt/rt-development/app-processhacker-2-33-t2865384
FinalBurn Alpha. Arcade game emulator. Port is still considered "alpha" quality. http://forum.xda-developers.com/showthread.php?t=2187370
SharpDevelop. C# IDE. Debugging is not yet supported and some setup work is required: http://forum.xda-developers.com/showpost.php?p=39276938&postcount=615
MAME. Arcade machine emulator (requires ROMs). Not yet fully tested; performance issues reported with some games. http://forum.xda-developers.com/showthread.php?t=2237754
WinDjVu. DjVu document viewer. http://forum.xda-developers.com/showpost.php?p=40931011&postcount=687
MFPDemo. A desktop player for video files. http://forum.xda-developers.com/showpost.php?p=40997441&postcount=691
Quake (original version) running in Direct3D (runs faster than the one that was listed here before). Instructions and downloads: http://forum.xda-developers.com/showthread.php?t=2312019
ioQuake3 (Quake 3 Arena). Requires game files. Instructions and download: http://forum.xda-developers.com/showpost.php?p=42338198&postcount=1
Coolplayer. Skinnable music player, now with FLAC support. Extra themes are available for download from the site. http://forum.xda-developers.com/showthread.php?t=2318000
Synergy. Use one mouse and keyboard across PCs (including Linux & Mac). Now with 1.4.12 beta. http://forum.xda-developers.com/showthread.php?p=37609926
Snes9x. Super Nintendo console emulator. Some features are disabled but games appear to work fine. http://forum.xda-developers.com/showthread.php?t=2339228
FileZilla. Graphical file transfer program. No support for encrypted protocols in this build, only plain FTP. http://forum.xda-developers.com/showthread.php?t=2340616
WinMerge. Diff(erencing) and merging tool. All features should work but this version is a little old; a newer one may come later. http://forum.xda-developers.com/showthread.php?t=2340560
QuiteRSS. Stand-alone RSS feed reader with embedded browser. http://forum.xda-developers.com/showthread.php?t=2355277
Single Player Game Transmitter client. Streams 3D apps with good quality and responsiveness. http://forum.xda-developers.com/showthread.php?t=2355051
QupZilla. WebKit-based web browser. Uses interpreted JS. http://forum.xda-developers.com/showthread.php?t=2353048
Lua. Scripting language, most commonly used for games. http://forum.xda-developers.com/showthread.php?p=43808775
Halite. Nice BitTorrent client somewhat like uTorrent. Currently only includes English support. Magnet links may not work...? http://forum.xda-developers.com/showthread.php?t=2372058
ffmpeg. Video player. May be very slow with some codecs. http://forum.xda-developers.com/showthread.php?t=2368706
Fossil SCM. Distributed version control software (sort of like Git or Mercurial). http://forum.xda-developers.com/showthread.php?t=2400099
Subversion. New update 1.8.5 with OpenSSL 1.0.1e. Widely used version control software. http://forum.xda-developers.com/showthread.php?t=2494931
AutoHotKey. Keyboard macros and powerful automation of Windows functions. http://forum.xda-developers.com/showthread.php?t=2408417
Paint.NET. Image manipulation program. http://forum.xda-developers.com/showthread.php?t=2411497
Alien vs. Predator Classic. First-person games based on the movies. Requires game files. http://forum.xda-developers.com/showthread.php?t=2414431
MicroEMACS. Small, EMACS-like text/code editor. Thanks to @acrossland! Binary available at Download link. https://bitbucket.org/adamcrossland/microemacs-for-surfacert
Nethack. The venerable and classic "roguelike" RPG. http://forum.xda-developers.com/showthread.php?t=2576998
TeXStudio. IDE for LaTeX documents. Requires a compiler such as MiKteX (linked above). http://forum.xda-developers.com/showthread.php?t=2493219
pForth. Interpreter for the Forth programming language. Docs and samples available as well as binary: http://forum.xda-developers.com/showthread.php?p=51795065
Python 2.7.3. Programming/scripting language and runtime. New: Experimental FFI should make much more code work. (Thanks @e13000!) Runtime: http://forum.xda-developers.com/showpost.php?p=50687352&postcount=921 LibFFI: https://drive.google.com/file/d/0ByNfJPIJQw6hRnlPMHM3b1FFUFU/edit?usp=sharing
Apps which run un-modified
Keepass Portable. Password storage wallet. http://downloads.sourceforge.net/keepass/KeePass-2.20.1.zip
Mouse Without Borders. Use one mouse across PCs (like Synergy). Install instructions here: http://forum.xda-developers.com/showpost.php?p=36428923&postcount=258
Transmission.Net Remote. Remote control of a Transmission BitTorrent service. http://forum.xda-developers.com/showthread.php?t=2101891
ShareX. Screen capture/upload utility. https://mega.co.nz/#!VxYVDZAS!KyyL8gGvjrcZWjEIOp3j_WnZqDsSucB_b3YcS0f-TbE
IceChat. IRC client. http://forum.xda-developers.com/attachment.php?attachmentid=3221171&stc=1&d=1426912901
IKVM. Java, implemented in .NET (can run many pure-Java apps). http://www.ikvm.net/
Fiddler 4. Advanced HTTP proxy. To install, unpack the .EXE as an archive using 7-Zip. To run correctly, copy the file Microsoft.JScript.dll from \Windows\Microsoft.NET\Framework\v4.0.30319\ on a Win8 machine (older Windows versions may also work) to the Fiddler "install" (unpacked) directory. http://www.fiddler2.com/fiddler2/version.asp
Boxie. Multipurpose utility (image conversion, file management stuff, etc.). http://boxie.codeplex.com/ (Info: http://boxie.codeplex.com/documentation)
DtPad. Text/code editor. You can use the installer; there will be a warning but it's reported to work after clickthrough. http://dtpad.codeplex.com/
BoxWorld. Sokoban game. Extract the binaries from the installer using 7-Zip. http://boxworld.codeplex.com/
AstroGrep. Regular expression file/text search tool (basically, Unix grep). http://sourceforge.net/projects/astrogrep/
Notepad Enhanced. Simple text editor with tabbed interface. http://forum.xda-developers.com/showpost.php?p=37370164&postcount=374 for info.
QuickSharp. C# IDE. Info at the same link as Notepad Enhanced, and also here: http://forum.xda-developers.com/showpost.php?p=37385385&postcount=378
Remote TrackPad Server. Allows controlling a PC using a Windows Phone as a server. Use the.NET 4.5 server build: http://www.luecho.com/trackpad/
ImageGlass. Image viewing program. Runs fine but crashes on exit. https://github.com/d2phap/ImageGlass (Thanks igator)
Be.HexEditor. Simple editor capable of opening any file, including binary, and editing in text or hexadecimal. Requires changing a config file. http://forum.xda-developers.com/showpost.php?p=39152904&postcount=611
WindowsAppBoss. Simplifies managing sideloaded or provisioned (i.e. not-from-the-store) Metro apps. http://windowsappboss.codeplex.com/
Perl 5.12.4. Popular scripting language, especially for working with strings. Official Microsoft-signed binary will run even without jailbreak: http://forum.xda-developers.com/showthread.php?t=2331691
Greenshot. Advanced screenshot tool. Plugins may not work. http://forum.xda-developers.com/showpost.php?p=48682150&postcount=905
Native-ported libraries (mostly for developers/porters)
LZMA (compression): DLL
SDL (Simple Directmedia Layer). Used for a lot of game software, among other things. http://forum.xda-developers.com/showpost.php?p=36620852&postcount=117
OpenSSL (cryptography toolkit). Used by a great many open source programs that do any crypto. May have some problems with elliptical curve crypto. http://forum.xda-developers.com/showthread.php?t=2113595
Zlib (compression). Used by many open-source libraries that need to handle compressed data. http://forum.xda-developers.com/showthread.php?t=2113684
libFLAC_static, libmad, libogg_static, libpng, libtheora_static, libvorbis_static, libvorbisfile_static (media codecs). Support popular audio and video compressed formats. https://www.dropbox.com/s/rhxn7pwygfh6pka/ARMlibs.zip
Boost. Commonly used C++ library/framework. Please do not download unless you need it, as doing so will use considerable bandwidth from the host. http://forum.xda-developers.com/showpost.php?p=38313568&postcount=524
wxWidgets. Common C++ library/framework for cross-platform graphical apps. https://dl.dropbox.com/u/39887/wxMSW-2.8.12-libs.7z
MFC (Microsoft Foundation Classes). C++ library/framework used by many older Windows programs. http://forum.xda-developers.com/showpost.php?p=40802296&postcount=59
GlDirect (OpenGL-DirectX wrapper). Adds support for OpenGL code by wrapping Direct3D 9. http://forum.xda-developers.com/showpost.php?p=42271138&postcount=4
QT 4.8.4 (C++ utility and graphics framework). Used by many cross-platform open-source programs. http://forum.xda-developers.com/showthread.php?t=2339014
Apps removed for known issues:
MonoTorrent Client. BitTorrent client, both GUI and CLI. Currently experimental/alpha quality, many people have reported that they can't download anything. GUI, CLI, More info.
Please recompile the Unikey (app helps typing Vietnamese on x86) since rt have no vietnamese keyboard. This is the app that everyone in Viet Nam is waiting to make the rt perfect for daily use. Thank you so much.
Here is its website: 'unikey.org'
http://ipmsg.org/index.html.en
a open source lan chat tool.I was able to compile it but it cant send message.you can have a try on it.
Netham45 posted a link to someones compiled notepad++ V6.2
http://forum.xda-developers.com/showpost.php?p=36516405&postcount=337
Thanks all. I'm looking at compiling UniKey (although it will be an old version, as the development 4.x branch is not yet open sourced). I'll also look into ipmsg. Appreciate the links.
EDIT: Ugh. The GPL for UniKey is a lie (ironic, since the author *****es about people violating the GPL with his code... yet doesn't comply with it himself). It relies on a library which is only distributed in binary form, RtfIO. I can probably build the 3.1 version (which is from 2006, and should be pre-RtfIO) since, aside from the occasional piece of truly awful code practices (lots of implicit types and improper use of variable scoping) that may have been permitted by older compilers but don't work in VS 2012, there's nothing difficult about building the app. I could even build 3.6 if the author would release an ARM version of RtfIO... I couldn't legally distribute it under the GPL at that point, but I could build it.
Unless you want me to give 3.1 a shot, you're going to have to ask the author for either the source to RtfIO or an ARM-compiled .LIB file of it.
Can you give a go at a TransmissionBT console as well?
http://www.transmissionbt.com/resources/
I've been looking into a bittorrent client already.
Transmission, unfortunately, is one of those many open source apps which technically compile on Windows, but only within a GNU-like environment, and in particular it expects to use GCC. While it may be possible to use MinGW to cross-compile for Windows on ARM, that's not the native behavior and will take more investigation.
EDIT: Hadouken, at hdkn.net, appears to be a pure .NET app. It's distributed as a .MSI which doesn't work on ARM< but it may be possible to build it for .NET 4.5 architecture-independent, in which case it should run on Windows RT. It's a BitTorrent client the runs as a Windows service rather than a normal desktop apps, and uses a web interface to control it. Should work fine, though...
GoodDayToDie said:
I've been looking into a bittorrent client already.
Transmission, unfortunately, is one of those many open source apps which technically compile on Windows, but only within a GNU-like environment, and in particular it expects to use GCC. While it may be possible to use MinGW to cross-compile for Windows on ARM, that's not the native behavior and will take more investigation.
EDIT: Hadouken, at hdkn.net, appears to be a pure .NET app. It's distributed as a .MSI which doesn't work on ARM< but it may be possible to build it for .NET 4.5 architecture-independent, in which case it should run on Windows RT. It's a BitTorrent client the runs as a Windows service rather than a normal desktop apps, and uses a web interface to control it. Should work fine, though...
Click to expand...
Click to collapse
http://sourceforge.net/projects/wintransmission/ seems to be a c# port of transmission. less dev than the QT version, but more suitable for us.
I will be taking a look at the effort involved in getting a dev environment working (either monodev or sharpdevelop)
@windowsrtc: I got IPMsg working, it's fine send and receive. I had to remove some platform-specific debug code (I could have written the ARM portion, but was feeling lazy) but it shouldn't matter except that crash logs won't be generated.
Binaries, including installer, are in the smaller ZIP file. Modified source code used to build them is in the _SRC archive.
Also, any pure .net 4.5 app will work on the RT too.
I've gotten Mouse without Borders, a MS-made synergy alternative running great on the Surface.
Check this post: http://forum.xda-developers.com/showpost.php?p=36428923&postcount=258
OK, got a build of Unikey 3.1 here. Better than nothing, right?
VLC - do you think Surface RT has all the OS components required for VLC? I would like mkv support on Surface RT and VLC would be a good step in that direction.
ok... as bad as this will sound... java... don't judge me!
@programabd: I think VLC uses some assembly in its decoders, which will make porting difficult. I know there are ARM build already, do it's possible, but there are lots of thing which build on Windows, and build for ARM, but don't build for WIndows on ARM.
@apatcas: Already looked into it. Getting Java support would give a huge number of apps ready-to-go, and however distasteful I find the language or however bad the browser plugin security is, it would be good to have. Unfortunately, the only ARM-ready versions of Java currently available are for Linux, not Windows. It's possible to port, of course, but it'll be a lot of work.
programabd said:
VLC - do you think Surface RT has all the OS components required for VLC? I would like mkv support on Surface RT and VLC would be a good step in that direction.
Click to expand...
Click to collapse
Haven't they started making their own port through the kickstarter campaign, they're making a windows 8 metro style app first then stating on an Rt version, probably not see it this side of Christmas though
Edit: here's the link:
http://www.kickstarter.com/projects/1061646928/vlc-for-the-new-windows-8-user-experience-metro
martyj999 said:
Haven't they started making their own port through the kickstarter campaign, they're making a windows 8 metro style app first then stating on an Rt version, probably not see it this side of Christmas though
Edit: here's the link:
http://www.kickstarter.com/projects/1061646928/vlc-for-the-new-windows-8-user-experience-metro
Click to expand...
Click to collapse
Thanks - I wish they would just bypass the handcuffed Metro environment, and just go for a full port to desktop ARM, but that's pretty unlikely
GoodDayToDie said:
Thanks all. I'm looking at compiling UniKey (although it will be an old version, as the development 4.x branch is not yet open sourced). I'll also look into ipmsg. Appreciate the links.
EDIT: Ugh. The GPL for UniKey is a lie (ironic, since the author *****es about people violating the GPL with his code... yet doesn't comply with it himself). It relies on a library which is only distributed in binary form, RtfIO. I can probably build the 3.1 version (which is from 2006, and should be pre-RtfIO) since, aside from the occasional piece of truly awful code practices (lots of implicit types and improper use of variable scoping) that may have been permitted by older compilers but don't work in VS 2012, there's nothing difficult about building the app. I could even build 3.6 if the author would release an ARM version of RtfIO... I couldn't legally distribute it under the GPL at that point, but I could build it.
Unless you want me to give 3.1 a shot, you're going to have to ask the author for either the source to RtfIO or an ARM-compiled .LIB file of it.
Click to expand...
Click to collapse
he leaves no contact information so I think there is no way to ask him for anything. In that case, if only you could help us building the 3.6 version which could be better with the open source on his website, I think 3.1 is enough for use. We, vietnamese, really appreciate your effort. Thank you.
apatcas said:
ok... as bad as this will sound... java... don't judge me!
Click to expand...
Click to collapse
This would be amazing as hard as it might be to get a port. Minecraft, people
GoodDayToDie said:
@windowsrtc: I got IPMsg working, it's fine send and receive. I had to remove some platform-specific debug code (I could have written the ARM portion, but was feeling lazy) but it shouldn't matter except that crash logs won't be generated.
Binaries, including installer, are in the smaller ZIP file. Modified source code used to build them is in the _SRC archive.
Click to expand...
Click to collapse
thank you
finally I found I didnt use it in the right way.I must select a "user"before sending a message and it works.

Categories

Resources