Desktop apps ported to Windows RT - Windows RT Development and Hacking

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.

Related

Android NDK r3 and OpenGL ES 2.0!

Android Games WILL be improved thanks to NDK r3 and OpenGL ES 2.0
Developers on the Android platform have already been pushing the boundaries of Android gaming. Even Quake 3 has been seen running on the Android platform. Things can only get better with today’s announcement.
The Android Developers Blog today announced the availability of the NDK r3 that will let android developers directly access OpenGL ES 2.0 features.
Applications targeting Android 2.0 (API level 5) or higher can now directly access OpenGL ES 2.0 features. This brings the ability to control graphics rendering through vertex and fragment shader programs, using the GLSL shading language.
A new trivial sample, named “hello-gl2″, demonstrates how to render a simple triangle using both shader types.
With access to these enhanced OpenGL ES features game graphics should be greatly improved and we should start to see an awesome future for Android gaming. Obviously, we still need developers to take advantage of the new API and have the hardware powerful enough to use it, but everything is getting real close to serious gaming on Android.
Source: Android Developers Blog
Source: AndroidSPIN
-----
What is the Android NDK?
The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications.
Android applications run in the Dalvik virtual machine. The NDK allows you to implement parts of your applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed.
The NDK provides:
* A set of tools and build files used to generate native code libraries from C and C++ sources
* A way to embed the corresponding native libraries into application package files (.apks) that can be deployed on Android devices
* A set of native system headers and libraries that will be supported in all future versions of the Android platform, starting from Android 1.5
* Documentation, samples, and tutorials
This release of the NDK supports the ARMv5TE machine instruction set and provides stable headers for libc (the C library), libm (the Math library), OpenGL ES (3D graphics library), the JNI interface, and other libraries, as listed in the section below.
The NDK will not benefit most applications. As a developer, you will need to balance its benefits against its drawbacks; notably, using native code does not result in an automatic performance increase, but does always increase application complexity. Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. Simply re-coding a method to run in C usually does not result in a large performance increase. The NDK can, however, can be an effective way to reuse a large corpus of existing C/C++ code.
Please note that the NDK does not enable you to develop native-only applications. Android's primary runtime remains the Dalvik virtual machine.
Contents of the NDK
Development tools
The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms.
It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:
* libc (C library) headers
* libm (math library) headers
* JNI interface headers
* libz (Zlib compression) headers
* liblog (Android logging) header
* OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
* A Minimal set of headers for C++ support
The NDK also provides a build system that lets you work efficiently with your sources, without having to handle the toolchain/platform/CPU/ABI details. You create very short build files to describe which sources to compile and which Android application will use them — the build system compiles the sources and places the shared libraries directly in your application project.
Important: With the exception of the libraries listed above, native system libraries in the Android platform are not stable and may change in future platform versions. Your applications should only make use of the stable native system libraries provided in this NDK.
Documentation
The NDK package includes a set of documentation that describes the capabilities of the NDK and how to use it to create shared libraries for your Android applications. In this release, the documentation is provided only in the downloadable NDK package. You can find the documentation in the <ndk>/docs/ directory. Included are these files:
* INSTALL.TXT — describes how to install the NDK and configure it for your host system
* OVERVIEW.TXT — provides an overview of the NDK capabilities and usage
* ANDROID-MK.TXT — describes the use of the Android.mk file, which defines the native sources you want to compile
* APPLICATION-MK.TXT — describes the use of the Application.mk file, which describes the native sources required by your Android application
* HOWTO.TXT — information about common tasks associated with NDK development.
* SYSTEM-ISSUES.TXT — known issues in the Android system images that you should be aware of, if you are developing using the NDK.
* STABLE-APIS.TXT — a complete list of the stable APIs exposed by headers in the NDK.
* CPU-ARCH-ABIS.TXT — a description of supported CPU architectures and how to target them.
* CHANGES.TXT — a complete list of changes to the NDK across all releases.
Additionally, the package includes detailed information about the "bionic" C library provided with the Android platform that you should be aware of, if you are developing using the NDK. You can find the documentation in the <ndk>/docs/system/libc/ directory:
* OVERVIEW.TXT — provides an overview of the "bionic" C library and the features it offers.
Sample applications
The NDK includes sample Android applications that illustrate how to use native code in your Android applications. For more information, see Using the Sample Applications.
Click to expand...
Click to collapse
You can download the Android NDK: here
just waiting for it ! Good job!
Kind of makes sense now why the binary 3D driver broke from 1.6->2.0
and i most care about whether our G1 are supported ?!
huhaifan1 said:
and i most care about whether our G1 are supported ?!
Click to expand...
Click to collapse
well if the rumors about every single android device being upgraded to 2.1 in the US are true then id think so. we already have partial 3D working, so i think with this release the devs will be able to make it work
Except the chip in the G1 is not built for 2.0.
IMHO, if you'll see 2.0 drivers on the G1 (or Hero) it'll be software. But I'd love to be proven wrong, so please do.
Chainfire said:
Except the chip in the G1 is not built for 2.0.
IMHO, if you'll see 2.0 drivers on the G1 (or Hero) it'll be software. But I'd love to be proven wrong, so please do.
Click to expand...
Click to collapse
from what ive read on androidspin and phandroid, some phones will receive a slimmer 2.1 that doesnt support lwp OTA. some devs have found ways to use software libs and kernel edits to use partial 3D acceleration in some 2.1 roms. Firerat and Case_ managed to get 3D and Youtube HD working on Canon's Roms. The next OpenEclair should have fully working 3D, lwps, and video according to wesgarner, so i think that this upcoming release mentioned in the article will provide more tools for our devs to use on the G1.
but when EXACTLY - like DATE - are they coming!?
chim4ira312 said:
but when EXACTLY - like DATE - are they coming!?
Click to expand...
Click to collapse
The NDK is available now, maybe the devs should look into it:
http://developer.android.com/intl/de/sdk/ndk/index.html
What is the Android NDK?
The Android NDK is a toolset that lets you embed components that make use of native code in your Android applications.
Android applications run in the Dalvik virtual machine. The NDK allows you to implement parts of your applications using native-code languages such as C and C++. This can provide benefits to certain classes of applications, in the form of reuse of existing code and in some cases increased speed.
The NDK provides:
* A set of tools and build files used to generate native code libraries from C and C++ sources
* A way to embed the corresponding native libraries into application package files (.apks) that can be deployed on Android devices
* A set of native system headers and libraries that will be supported in all future versions of the Android platform, starting from Android 1.5
* Documentation, samples, and tutorials
This release of the NDK supports the ARMv5TE machine instruction set and provides stable headers for libc (the C library), libm (the Math library), OpenGL ES (3D graphics library), the JNI interface, and other libraries, as listed in the section below.
The NDK will not benefit most applications. As a developer, you will need to balance its benefits against its drawbacks; notably, using native code does not result in an automatic performance increase, but does always increase application complexity. Typical good candidates for the NDK are self-contained, CPU-intensive operations that don't allocate much memory, such as signal processing, physics simulation, and so on. Simply re-coding a method to run in C usually does not result in a large performance increase. The NDK can, however, can be an effective way to reuse a large corpus of existing C/C++ code.
Please note that the NDK does not enable you to develop native-only applications. Android's primary runtime remains the Dalvik virtual machine.
Contents of the NDK
Development tools
The NDK includes a set of cross-toolchains (compilers, linkers, etc..) that can generate native ARM binaries on Linux, OS X, and Windows (with Cygwin) platforms.
It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:
* libc (C library) headers
* libm (math library) headers
* JNI interface headers
* libz (Zlib compression) headers
* liblog (Android logging) header
* OpenGL ES 1.1 and OpenGL ES 2.0 (3D graphics libraries) headers
* A Minimal set of headers for C++ support
The NDK also provides a build system that lets you work efficiently with your sources, without having to handle the toolchain/platform/CPU/ABI details. You create very short build files to describe which sources to compile and which Android application will use them — the build system compiles the sources and places the shared libraries directly in your application project.
Important: With the exception of the libraries listed above, native system libraries in the Android platform are not stable and may change in future platform versions. Your applications should only make use of the stable native system libraries provided in this NDK.
Documentation
The NDK package includes a set of documentation that describes the capabilities of the NDK and how to use it to create shared libraries for your Android applications. In this release, the documentation is provided only in the downloadable NDK package. You can find the documentation in the <ndk>/docs/ directory. Included are these files:
* INSTALL.TXT — describes how to install the NDK and configure it for your host system
* OVERVIEW.TXT — provides an overview of the NDK capabilities and usage
* ANDROID-MK.TXT — describes the use of the Android.mk file, which defines the native sources you want to compile
* APPLICATION-MK.TXT — describes the use of the Application.mk file, which describes the native sources required by your Android application
* HOWTO.TXT — information about common tasks associated with NDK development.
* SYSTEM-ISSUES.TXT — known issues in the Android system images that you should be aware of, if you are developing using the NDK.
* STABLE-APIS.TXT — a complete list of the stable APIs exposed by headers in the NDK.
* CPU-ARCH-ABIS.TXT — a description of supported CPU architectures and how to target them.
* CHANGES.TXT — a complete list of changes to the NDK across all releases.
Additionally, the package includes detailed information about the "bionic" C library provided with the Android platform that you should be aware of, if you are developing using the NDK. You can find the documentation in the <ndk>/docs/system/libc/ directory:
* OVERVIEW.TXT — provides an overview of the "bionic" C library and the features it offers.
Sample applications
The NDK includes sample Android applications that illustrate how to use native code in your Android applications. For more information, see Using the Sample Applications.
Click to expand...
Click to collapse
This doesn't at all in any way say that we're getting 2.0 drivers for the G1. All it's saying is that phones with 2.0 will be able to directly access ES2.0 functions.
Which, really, has absolutely nothing to do with the driver issue we face. Unless you can point out something I missed.
Gary13579 said:
This doesn't at all in any way say that we're getting 2.0 drivers for the G1. All it's saying is that phones with 2.0 will be able to directly access ES2.0 functions.
Which, really, has absolutely nothing to do with the driver issue we face. Unless you can point out something I missed.
Click to expand...
Click to collapse
sorry i probably misunderstood the article =/
im still not very experienced with android development, i thought this would help the devs a little bit with getting 3d working (since theyre already doing that without official drivers)
I did indeed get a humongous boner on reading this earlier. It was enhanced by 3D.
My favorite part about this is the new ability to use openGL in apps! That means the entire face of our OS is going to change.
...and speaking of OS... Qualcom/htc just released a new radio for the G1. The G1 To this day holds over 50% of the android installed user base. There is no doubt the G1 will live beyond 1.X
bleah writing games in opengl es 1.0 was hard enough...
Gary13579 said:
This doesn't at all in any way say that we're getting 2.0 drivers for the G1. All it's saying is that phones with 2.0 will be able to directly access ES2.0 functions.
Which, really, has absolutely nothing to do with the driver issue we face. Unless you can point out something I missed.
Click to expand...
Click to collapse
agreed
the binary still needs to be available
as far as I can see with have two
the open source one
/system/lib/egl/libGLES_android.so
and the proprietary
/system/lib/egl/libGLES_qcom.so
the quoted text in the OP is basically stating that an Android developer will now be able to mix in a little c/c++ to get direct native access to opengl es
functions
Firerat said:
agreed
the binary still needs to be available
as far as I can see with have two
the open source one
/system/lib/egl/libGLES_android.so
and the proprietary
/system/lib/egl/libGLES_qcom.so
the quoted text in the OP is basically stating that an Android developer will now be able to mix in a little c/c++ to get direct native access to opengl es
functions
Click to expand...
Click to collapse
sorry guys like i said i misunderstood =/ i was hoping the NDK would provide some help but i now see its pretty much for apps, facepalm >_<;
edited the title to avoid further confusion lol
speedysilwady said:
edited the title to avoid further confusion lol
Click to expand...
Click to collapse
Was just about to do that, thanks .
I'm sure we'll get drivers eventually, either hacked or official. Just a matter of time.
Gary13579 said:
Was just about to do that, thanks .
I'm sure we'll get drivers eventually, either hacked or official. Just a matter of time.
Click to expand...
Click to collapse
haha no problem, glad to see i have a moderator type mentality. lol
yeah im sure we will, theyre already partially working, so its only a matter of time hopefully
What Chainfire said is that there is no hardware support for OpenGl ES 2.0 in msm720x chips. (refs here, sorry couldn't find official spec datasheet).
So even if 2.0 is supported, it will only be through software drivers implementation, which means really slow rendering.
spocky12 said:
What Chainfire said is that there is no hardware support for OpenGl ES 2.0 in msm720x chips. (refs here, sorry couldn't find official spec datasheet).
So even if 2.0 is supported, it will only be through software drivers implementation, which means really slow rendering.
Click to expand...
Click to collapse
Thats right.
But most Games will probably/hopefully still be written for OpenGL1.1. (Because of the userbase whatsoever)
For a start, but to focus at the future, too bad, the G1 will get old sooner

[App] Apache 2.0

For those interested...
I've put the native Windows RT binaries for Apache 2.0 on GitHub:
https://github.com/bfosterjr/windowsrtdev/blob/master/apps/Apache/2.0.65/bin/apache_2.0.65_arm.7z
Don't even bother asking me how to configure it. There are hundreds of wiki pages, documents, books, etc dedicated to Apache configuration.
Its probably missing some features (SSL comes to mind), but its a working web server for people to tinker with on the tablet. If someone can give me a _compelling reason_ for wanting a full blown Apache web server on a Windows RT tablet, I'm happy to spend more time on this and make it more fully featured.
Cheers!
bfosterjr said:
If someone can give me a _compelling reason_ for wanting a full blown Apache web server on a Windows RT tablet, I'm happy to spend more time on this and make it more fully featured.
Click to expand...
Click to collapse
I'm not sure about use-cases either, but still, this is seriously cool!
Reasons for maintaining a full-blown (at least partial, without HTTPS fancy stuff, but the essentials like mod_rewrite etc.) WAMP (so MySQL and PHP too) stack on Windows RT would be:
1. There would be a platform for developing and testing websites on a Windows RT tablet, much to the delight of potential web developers. We already have Notepad++ as a decent code editor.
2. Porting MySQL (+ libmysql) would be useful for other applications as a library itself, and then PHP is a (overly) popular scripting language which can also be used to develop console applications (php-cli is compiled along with PHP. along with the Apache extension for mod_php). There probably won't be many native Windows RT applications developed for it (the only library for PHP to develop really useful native GUI apps is Php-Gtk, but GTK+ isn't ported and the PHP-GTK project itself is very.. silent), but it is handy if quick stuff needs to be coded. Porting PHP is pretty much close to the reasons for porting Python, plus it can be used on a local web stack too.
3. When a MAMP stack was ported to iOS I remember someone made a working music player (PHPPod) with it, so it still might be useful if the resources are there. I'll personally think of some ideas for "apps" that can be run in the browser with the WAMP stack on Windows RT and try to code them if this is ported.

App requests?

I know this is a potentially dangerous post, but I'm looking for suggestions for things to port. I make no promises that I'll be willing/able to port any suggested software.
Some ground rules before you hit 'reply'
1) Don't ask for Chrome. I won't port it. Period.
2) The source code must be available and not have any _obvious_ specific ties to non-open source code. Eg: some proprietary or closed source library which it depends on.
3) Code must be in C or C++ (I can deal with porting some assembly if needed)
4) Project must be of a _reasonable_ size for 1 person. Honestly, I do this on my own and in my spare time. Some apps can be just massively overwhelming to port. That being sad, sometimes the big ones are also easy.... so use your own judgement here.
5) Tell me why you want it ported. Whats your "use case".
6) Drivers aren't out of the question, but they generally take significantly more work.
Feel free to +1 others suggestions.
Ok.. <puts on protective gear>.. fire away!
Cheers!
Thanks for all your awesome work.
While this isn't an app, I think that the kexec kernel-mode driver idea that was tossed around earlier would be waay more useful than an individual app. Every time it was brought up somebody said "Oh, that won't be much work." And then nobody did anything :-/
So, I'm hugely grateful for the time you put in here, but I think I'd be even huger-ly grateful-er if you opened the door to other OSs.
Sent from my SCH-I535 using xda app-developers app
What would be good is:
http://ekiga.org/download-ekiga-binaries-or-source-code
But I'm pretty sure it uses some libraries not avail
I wish XNA could run on Windows RT. It'd be funny to see Terraria and Magicka on Windows RT...
Firefox would be nice, but without a Thumb-2 JITter, it's not worth it.
Would be nice to have InSSIDer. I use it a lot on my laptop, rather leave it at home.
https://github.com/metageek-llc/inSSIDer-2
Myriachan said:
I wish XNA could run on Windows RT. It'd be funny to see Terraria and Magicka on Windows RT...
Firefox would be nice, but without a Thumb-2 JITter, it's not worth it.
Click to expand...
Click to collapse
I would say to take a look at monogame. It can actually build microsoft store apps including ARM support, so coercing it into functioning on the windows desktop may be possible. Otherwise it might end up being a rule 4 :/
There are hacks out there to run terraria on MonoGame instead of XNA, most of them pretty complete but sometimes have the odd graphical glitch. A full source port to MonoGame would be far more reliable, and actually very simple, but sadly its closed source (although not obfuscated).
One of the supposedly more reliable ones: http://www.terrariaonline.com/threads/wip-monogame-terraria-terraria-for-linux.72997/
Isn't rule one covered by rule four?
SixSixSevenSeven said:
Isn't rule one covered by rule four?
Click to expand...
Click to collapse
No.
People can have bad judgement.. so I'm making an explicit point about Chrome.
Personally i Was really disappointed by the lack of a transmission remote app when i discovered métro interface!
Plus there are many utorrent app...
SO, i think TR Gui source code is available, i think there is many people interested, And i think it will not be too difficult to develop, that can be a wonderfull idea (especially for me ) to make this one
Just found one. TCPMP, this player worked great during the PocketPC/Windows Mobile era. It moved from open source to a commercial different version which is closed source but I believe the link below has the source.
http://www.hpcfactor.com/downloads/tcpmp/
This would bring about a player that supports MKV playback.
lambstone said:
Just found one. TCPMP, this player worked great during the PocketPC/Windows Mobile era. It moved from open source to a commercial different version which is closed source but I believe the link below has the source.
http://www.hpcfactor.com/downloads/tcpmp/
This would bring about a player that supports MKV playback.
Click to expand...
Click to collapse
There is no source code downloadable from that site. All the links are non-existent. Please post the source code if you have it.
Cheers!
bfosterjr said:
There is no source code downloadable from that site. All the links are non-existent. Please post the source code if you have it.
Cheers!
Click to expand...
Click to collapse
Does this help http://code.google.com/p/tcpmp-revive/source/browse/#svn/trunk
mr djé said:
Personally i Was really disappointed by the lack of a transmission remote app when i discovered métro interface!
Plus there are many utorrent app...
SO, i think TR Gui source code is available, i think there is many people interested, And i think it will not be too difficult to develop, that can be a wonderfull idea (especially for me ) to make this one
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=2101891
mr djé said:
Personally i Was really disappointed by the lack of a transmission remote app when i discovered métro interface!
Plus there are many utorrent app...
SO, i think TR Gui source code is available, i think there is many people interested, And i think it will not be too difficult to develop, that can be a wonderfull idea (especially for me ) to make this one
Click to expand...
Click to collapse
I think the problem with the current torrent apps are you either have to pay to get the ability to download files in the background, or the app doesn't support it. I'd like to see a free torrent client that allows background downloading, even if it means speed has to be throttled a bit.
To the OP what is your favorite browser? If it is not Chrome(or Chromium), do you think it is possible to port that browser? At this point I'll even take Safari as I am starting to hate all the crashes that occur for me in IE.
bigsnack said:
I think the problem with the current torrent apps are you either have to pay to get the ability to download files in the background, or the app doesn't support it. I'd like to see a free torrent client that allows background downloading, even if it means speed has to be throttled a bit.
To the OP what is your favorite browser? If it is not Chrome(or Chromium), do you think it is possible to port that browser? At this point I'll even take Safari as I am starting to hate all the crashes that occur for me in IE.
Click to expand...
Click to collapse
Safari is not open source so cannot be ported.
Chrome is a rule 4 - or in other words is too much effort for 1 man to do in a reasonable time frame.
Firefox is also a rule 4, plus its a ***** to get it to compile properly under microsoft tools apparently, plus its javascript engine is raw ARMv7 JIT whereas windows RT bugs with that and would require a THUMB2 JIT. Chrome also would have javascript issues, although in chrome you can have an interpreted javascript engine I think which would just be hideously slow in comparison.
Opera - Closed source.
The list goes on unfortunately. Browsers are complex creatures. Most will come under rule 4 though.
bigsnack said:
I think the problem with the current torrent apps are you either have to pay to get the ability to download files in the background, or the app doesn't support it. I'd like to see a free torrent client that allows background downloading, even if it means speed has to be throttled a bit.
To the OP what is your favorite browser? If it is not Chrome(or Chromium), do you think it is possible to port that browser? At this point I'll even take Safari as I am starting to hate all the crashes that occur for me in IE.
Click to expand...
Click to collapse
What the hell are you doing to get all these crashes? I have yet to have IE crash on 8 or 8.1 on RT in desktop or metro.
My only suggestion would be a gui SFTP client. This is probably the one utility I am currently missing on my Surface RT (I use ssh to remote into Linux systems both for work and personal use, point #5). To clarify, I do use the psftp client in the putty suit, and that works well enough, just takes a bit more time and effort than something like winscp. I can continue to use this if an gui alternative is not feasible.
I recall someone requesting winscp at some point in the past, so I searched around this forum and I did find a couple of people that took a stab at it, but with no results, and I haven't found a clear explanation on what the hang up was. Looking at the readme winscp appears to be written in c++ at least (point #3):
To build WinSCP you need:
- Embarcadero C++ Builder XE2 Professional.
- Copy MFC source code from Borland C++ Builder 6 Professional and
build its Unicode version (see readme_mfc.txt).
- nasm from http://www.nasm.us/
- To build 64-bit version of drag&drop shell extension, you need
Windows Platform SDK:
http://msdn.microsoft.com/en-us/windows/bb980924
Click to expand...
Click to collapse
I am unsure if the aforementioned Windows Platform SDK is available for Windows RT, or if it is even needed since Windows RT is not 64-bit.
Is nasm the problem? It looks to be an x86/x64 assembler... which of course wouldn't work on ARM... unless I just don't get what an assembler is...
Not being much of a coder I also don't know if one can import a Borland C++ project into Visual Studio, so maybe that is also a problem too.
So I guess I'm not sure on a lot of the points on the ground rules list...
domboy said:
My only suggestion would be a gui SFTP client. This is probably the one utility I am currently missing on my Surface RT (I use ssh to remote into Linux systems both for work and personal use, point #5). To clarify, I do use the psftp client in the putty suit, and that works well enough, just takes a bit more time and effort than something like winscp. I can continue to use this if an gui alternative is not feasible.
I recall someone requesting winscp at some point in the past, so I searched around this forum and I did find a couple of people that took a stab at it, but with no results, and I haven't found a clear explanation on what the hang up was. Looking at the readme winscp appears to be written in c++ at least (point #3):
I am unsure if the aforementioned Windows Platform SDK is available for Windows RT, or if it is even needed since Windows RT is not 64-bit.
Is nasm the problem? It looks to be an x86/x64 assembler... which of course wouldn't work on ARM... unless I just don't get what an assembler is...
Not being much of a coder I also don't know if one can import a Borland C++ project into Visual Studio, so maybe that is also a problem too.
So I guess I'm not sure on a lot of the points on the ground rules list...
Click to expand...
Click to collapse
Borland C++ is an alternative set of 3rd part C++ tools. Would take a bit of work to get a borland project to compile it under microsoft tools.
Nasm is an x86/x64 assembler yes. Assembly language is pretty much the lowest level of programming possible before writing in raw hex or binary. It is *HIGHLY* CPU dependent. Specifically the set of commands available in assembly is the plain text form of the exact instruction set the CPU has available which for x86 is different from ARM. The fact that nasm is required means that the project will have assembly in it, therefore an RT port will not be undertaken (one of the rules in the OP).
Sorry man, its proprietary tools and parts of it are unportable anyway. Doesnt mean another SFTP client can't be ported, just this one.
Here's my wishlist. I've poked at some of them, but I don't really have time to finish any of them.
WinPCap - Iirc, the biggest issue was that it was written targeting an older version of NDIS. The usecase would be to provide network support for BOCHS.
QEmu - There's a build of QEmu that builds on MSVC called WinQEmu, but it's dynarec recompiles to x86 only. I believe the official QEmu repo doesn't support MSVC, and I don't know if it can recompile to THUMB-2.
A good IRC client - X-Chat and mIRC run poorly under the emulator, and the few .net clients I've tried are meh. X-Chat has too many GCC-specific requirements, and mIRC isn't open source, I just want a good IRC client.
An X Server - I've been unable to find an X server that builds with MSVC, or anything short of Cygwin for that matter, but I'd love to have one.
Calibre is a good eBook manager I think this is the correct source code https://code.launchpad.net/calibre
I'm not good with this source code stuff so if its to much you dont need to make a port but if you can it would be appreciated thanks
Sent from my SGH-M919 using Tapatalk 4
cx1 said:
What the hell are you doing to get all these crashes? I have yet to have IE crash on 8 or 8.1 on RT in desktop or metro.
Click to expand...
Click to collapse
Browsing news sites and/or using Spotify.

[Tool][Java] Bytecode Viewer - 2.9.0 - APK/Java Reverse Engineering Suite

Bytecode Viewer is an Advanced Lightweight Java Bytecode Viewer, GUI APK Decompiler, GUI DEX Decompiler, GUI Procyon Java Decompiler, GUI CFR Java Decompiler, GUI FernFlower Java Decompiler, GUI Jar-Jar, Hex Viewer, Code Searcher, Debugger and more.
It's written completely in Java, and it's open sourced. It's currently being maintained and developed by Konloch.
There is also a plugin system that will allow you to interact with the loaded classfiles, for example you can write a String deobfuscator, a malicious code searcher, or something else you can think of.
You can either use one of the pre-written plugins, or write your own. It supports groovy, python and ruby scripting. Once a plugin is activated, it will execute the plugin with a ClassNode ArrayList of every single class loaded in BCV, this allows the user to handle it completely using ASM 3.3.
Key Features:
APK/DEX Support - Using Dex2Jar and Jar2Dex it's able to load and save APKs with ease!
Java Decompiler - It utilizes FernFlower, Procyon and CFR for decompilation.
Bytecode Decompiler - A modified version of CFIDE's.
Hex Viewer - Powered by JHexPane.
Each Decompiler/Viewer is toggleable, you can also select what will display on each pane.
Fully Featured Search System - Search through strings, functions, variables and more!
A Plugin System With Built In Plugins - (Show All Strings, Malicious Code Scanner, String Decrypters, etc)
Fully Featured Scripting System That Supports Groovy, Python And Ruby.
EZ-Inject - Graphically insert hooks and debugging code, invoke main and start the program.
Recent Files & Recent Plugins.
And more! Give it a try for yourself!
Code from various projects has been used, including but not limited to:
J-RET by WaterWolf
JHexPane by Sam Koivu
RSynaxPane by Robert Futrell
Commons IO by Apache
ASM by OW2
FernFlower by Stiver
Procyon by Mstrobel
CFR by Lee Benfield
CFIDE by Bibl
Contributors:
Konloch
Bibl
Fluke
Righteous
sahitya-pavurala
priav03
Afffsdd
Website: https://bytecodeviewer.com
Source Code: https://github.com/konloch/bytecode-viewer
Bin/Archive: https://github.com/konloch/bytecode-viewer/releases
Java Docs: https://the.bytecode.club/docs/bytecode-viewer/
License (Copyleft): https://raw.githubusercontent.com/Konloch/bytecode-viewer/master/LICENSE
Report Bugs (or below): https://github.com/Konloch/bytecode-viewer/issues
__________________________________________________________________________
Thanks for the hardwork, Will try it out...
Congrats!!
A "must-have" tool for sure... Thanks for your hard work!!!
Thanks! If any of you have any questions, or have a suggestion just reply here and I'll answer asap.
2.6.0 is out now! The biggest feature is smali editing. You can download it here https://github.com/Konloch/bytecode-viewer/releases/tag/v2.6.0
2.9.0 is released, contains LOTS of improvements for android APKs! If you've tried BCV in the past I urge you to try it again, you'll love the updates.
Konloch said:
2.9.0 is released, contains LOTS of improvements for android APKs! If you've tried BCV in the past I urge you to try it again, you'll love the updates.
Click to expand...
Click to collapse
I tried the v2.9.2 today, but was unable to make it work properly.
Used OpenJDK/JRE 7, 8, 9 on a ubuntu 14.04 with no success.
I get a blank window - I can open a file with control + o, but each time the app gives a message about not finding the temporary file which is supposed to be created (but isn't) in /home/user/.Bytecode-Viewer/bcv_temp/
I don't have any spaces in my path.
I see dex2jar running on the apk, but nothing gets created in the bcv_temp
I tried with different apks with no success.
I can decompile my apk just fine with jadx & apktool.
adwinp said:
I tried the v2.9.2 today, but was unable to make it work properly.
Used OpenJDK/JRE 7, 8, 9 on a ubuntu 14.04 with no success.
I get a blank window - I can open a file with control + o, but each time the app gives a message about not finding the temporary file which is supposed to be created (but isn't) in /home/user/.Bytecode-Viewer/bcv_temp/
I don't have any spaces in my path.
I see dex2jar running on the apk, but nothing gets created in the bcv_temp
I tried with different apks with no success.
I can decompile my apk just fine with jadx & apktool.
Click to expand...
Click to collapse
would you be able to add kalenkinloch on Skype to help me debug this issue more?
Bytecode Viewer on Android?!
Looks like an amazing tool!
Any chance it could be released as an Apk to run directly on Android devices?
Not having a PC and so using Show Java (com.njlabs.showjava) and AIDE (com.aide.ui).
Would be most interested to add Bytecode Viewer to my tool case!
Thank you!
Is there a quick start guide of sorts for this? Recompiling .java files seems promising as I am trying to disinfect a custom lockscreen APK to no avail.
And would it be possible for this to interface with the Android Studio/SDK, especially in case you're more comfortable with editing .java sources instead of having to decipher lines upon lines of bytecode?

Another on device development option : Exoskeleton

So we have various forms on on-device .net development, node.js, powershell, and many other ported languages for software development, so I figured I would offer another. This is meant mainly for web developers with html/javascript experience.
Exoskeleton is a wrapper around a web page to allow it to reach out and use operating system functionality. It's exposes a .net object to a webbrowser control embedded in the 'shell' container so that the web page can call out to the shell for functionality. So it is .net + Internet Explorer in a way that emulates the integration you find in other shells like Node/Webkit or atom/electron. It is currently very basic, though.
9/4/17 :
This program has been rewritten, see the below post for information on downloading the new 0.3 version.
I decided to revisit this application and completely rewrote it to be more useful, with a much more extensive API and configuration. Exoskeleton is a native web app hosting framwork that exposes an API into its hosted Internet Explorer WebBrowser control via a COM Visible object hierarchy. It is similar to node-webkit except with .NET and IE 11. So its a windows container for an ie 11 rendering view, exposing its javascript engine a COM object hierarchy for native .net functionality. It is accompanied by a javascript library (exoskeleton.js, included) which acts as a wrapper to this com object and makes interfacing with it, more 'javascript-friendly'.
This project and its API will be enhanced over time, but if you are a javascript programmer and wish to explore the current API available as of version 0.3, you can view the online documentation (for the javascript library) here :
Exoskeleton.js API documentation
The binaries download link below includes exoskeleton shell, exoskeleton.js javascript library, and several examples applications, one of which is an "interactive console" which is an exoskeleton app itself.
See attached screenshot of this console
This works equally well on desktop PCs as your windows rt tablet.
In case anyone else here might also be interested in this, I have added a github project where you can download or monitor this along with prebuild binaries download for this first releasable 0.3 version. The 'prebuilt binaries' downloads will be signed apps now and in the future, so all you need to do is unblock the downloaded zip file and extract it to use.
Relevant Links :
Exoskeleton : Main Github page
Exoskeleton : Releases Github page (for monitoring future releases)
Download Exoskeleton Prebuilt 0.3 binaries

Categories

Resources