It seems like everybody forgot about this thread...
But I'm not.
I've commited some experimental patch codes for these builds:
6.2.9200.16384 (Windows RT)
6.3.9600.16384 (Windows RT 8.1)
6.3.9600.17095 (Windows RT 8.1 with KB2959626)
You can view it here:
https://github.com/stascorp/rdpwrap/blob/master/res/rdpwrap-arm-kb.ini
However RDP Wrapper C++ version still needs to be updated to support and to be compiled on ARMv7 architecture. Hope somebody will help with that.
I think, the most complex thing is to implement function hooking.
To resurrect a
very old thread...
I've managed to get this modified and compiled on VS2017 targeting the ARM architecture. While the service seems to run and the hooks look right when I look at the memory in WinDbg (including 1 being added in one of the jumps to indicate Thumb instructions), there is nothing listening from the device. Also, stopping the service usually takes two or three attempts, which doesn't seem right.
To rule out the obvious stuff, I already set up the firewall to allow port 3389 and set fDenyTSConnections to 0. Later on, I even tried importing the entirety of the Rdp-Tcp registry key from an x86 Win8.1 installation.
Since I have zero clue on porting Delphi applications (like the installer) to ARM, I tried installing it manually by copying rdpwrap.dll and rdpwrap.inf (the ARM version) to the System32 directory and changing the TermService DLL to rdpwrap.dll.
The logs are attached (rdpwrap.txt.gz). There is a lot in there from the many times I tried fiddling with things, so the most relevant stuff is probably near the end of the log. Source code, binaries, and debug symbols are attached in rdpwrap_ARM-test.zip. The only source file I modified in there was rdpwrap_ARM-test\rdpwrap-master\src-x86-x64-Fusix\RDPWrap.cpp.
Hopefully, someone finds this helpful and can help get it working. Maybe I'm missing something yet, maybe the patch doesn't work, but either way, this is probably as close as we've come to getting this working so far.
EDIT - Here's what I'm for sure missing: Even if RDP Wrapper works fine on ARM, RDP itself still won't work because the code that would listen for connections is #ifdef'd out for the ARM32 architecture. Unless code can be adapted from build 8061 (where RDP works) or custom functionality is created, there will be no RDP on Windows RT, simply because the relevant code is absent.