Syncing the Universal to Linux is currently impossible over USB. The synce application will not talk to Windows Mobile 2005. The USB protocol between the Linux host and the Universal slave is the issue. There are differing opinions on what the protocol is but it would seem to be RNDIS over USB (a microsoft invention that ignores available standards); however the rndis_host Linux kernel author denies that the procool is RNDIS The kernel bug is here : http://bugzilla.kernel.org/show_bug.cgi?id=5541
I'm currently trying to get the device to sync over a Bluetooth or Wireless link but both of these require that the device was initially synced over USB to create the partnerships.
Please post to the synce (http://synce.sourceforge.net/synce/) mailing list to express your interest.
Peter
Related
Airscanner Mobile Security Advisory: Remote Password Compromise of Microsoft Active Sync 3.7.1
Product:
Microsoft Active Sync 3.7.1
Platform:
Tested on Windows XP Professional SP-2 and Windows Mobile Pocket PC 2003
Requirements:
Windows XP Professional with Active Sync 3.7.1
Credits:
Seth Fogie
Airscanner Mobile Security
www.airscanner.com
July 22, 2005
Risk Level:
Low for denial of service attacks. Medium for password collection attack.
Summary:
”Active Sync” is Microsoft’s default connectivity program that keeps a desktop PC and a handheld Pocket PC synchronized. It also includes various other features, such as debugging ability, file transfer, etc.
Details:
When a Pocket PC device attempts to sync to a PC, it will send three initial packets to the Active Sync program on port 5679. The following outlines the contents of the packets:
packet1[] = "\x00\x00\x00\x00";
packet2[] = "\x98\x00\x00\x00"; //SIZE OF NEXT PACKET
packet3[] =
"\x28\x00\x00\x00"
"\x04\x15\x40\x04"
"\x11\x0a\x00\x00" //2577 (AUTORUN?)
"\x05\x00\x00\x00"
"\x59\x29\x6d\x46" //EQUIP ID
"\x00\x00\x00\x00"
"\x28\x00\x00\x00" //LINK TO POCKET_PC1 TEXT
"\x3e\x00\x00\x00" //LINK TO POCKETPC TEXT
"\x5c\x00\x00\x00" //LINK TO SSKD TEXT
"\x78\x00\x00\x00" //LINK TO AXIM X50 TEXT
"\x50\x00\x6f\x00" //TEXT IN UNICODE
"\x63\x00\x6b\x00\x65\x00\x74\x00\x5f\x00\x50\x00\x43\x00\x31\x00\x00\x00\x50\x00"
"\x6f\x00\x63\x00\x6b\x00\x65\x00\x74\x00\x50\x00\x43\x00\x00\x00"
"\x53\x00\x53\x00\x44\x00\x4b\x00\x00\x00\x00\x00\x44\x00\x65\x00"
"\x6c\x00\x6c\x00\x20\x00\x41\x00\x78\x00\x69\x00\x6d\x00\x20\x00"
"\x58\x00\x35\x00\x30\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00"
"\x04\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
"\x00\x00\x00\x00\x00\x00\x00\x00";
If the equipment ID value is valid, the PC will respond with a x12345678. If the equipment ID is not correct, the response will be x03. With this static response, it is trivial to brute force the valid equipment ID value. The reason this is important is because if you change the value in packet1 to x00000001 to the correct corresponding PID, a prompt will appear on the PC asking for a PIN value (figure 1). If a target enters a password, the information will be passed back to the remote, requesting client. If a value other than x01 is sent, that value will be XORed with the response to pseudo-'encrypt' the password. This method of information gathering is possible from over a network and does work over the Internet. From a quick nmap scan, we found about roughly 10 computers with this port open per 50 class C subnets.
Figure 1: Active Sync Password Dialog
Finally, we discovered that if numerous attempts were made to initialize with a PC running Active Sync, after about four attempts the Active Sync process freezes. In addition, if a user attempts to sync while a brute force equipment ID attempt is underway, the sync will usually fail.
Workaround:
Block Internet and LAN access to port 5679 using a firewall until this issue is patched.
Vendor Response
Waiting response.
Grab it free here:
http://www.airscanner.com/downloads/airfix/airfix.html
does it mean i can use wifi to activesync with my pc without any wired connections?
i read the site but it says it is not meant for that purpose?
As I understand it, no, what it does is maintain the wifi connection during a sync. Useful but not wifi syncing
V
You are correct. This will not allow you to use ActiveSync over a WiFi connection. It simply allows you to use WiFi for debugging AFTER you are synced (e.g. with a USB ActiveSync).
So it is only useful for developers who need to debug (e.g.) with Visual Studio.
By the way, we have just released a new tutorial on how to get Visual Studio 2005 working with Windows Mobile 5.0. You can download it for free here:
http://www.airscanner.com/security/WM5debugVS2005.pdf
(PDF link)
Has anyone got an activesync version for ubuntu/linux?
Cheers
sync
The ability to sync Palm-based devices with Linux has existed for quite a while. However, as the popularity of Windows-based Pocket PCs increases, there's a growing need to be able to sync data from a computer running Linux with the Pocket PC--without using Windows.
The SynCE Project is working on exactly that. It works with Linux, FreeBSD, and similar operating systems.
While the project is still somewhat in its infancy, a number of add-ons and tools exist that work with popular desktops, such as GNOME and KDE. In addition, several plug-ins are available that work with programs such as Evolution. However, it's unlikely that many distributions bundle SynCE, so you may need to do some compiling.
You can download SynCE from the SynCE Project's Web site. This Web site also sports a number of documents and tutorials to help walk you through the compile stage. In addition, you can download packages specifically for Red Hat, Fedora, or Debian, or you can build it using emerge on Gentoo.
Another useful tool is MultiSync, which synchronizes PIM data between GNOME-based systems and a Pocket PC. While MultiSync can handle other devices such as the Sharp Zaurus, Palm, and others, it also works with the Pocket PC, provided you use the SynCE plug-in for MultiSync. This program handles the synchronization between Evolution and the Pocket PC, allowing you to synchronize calendars, to-do lists, and contacts.
If you're a KDE user, you can use the KitchenSync tool to synchronize KDE PIM information with your Pocket PC, using the SynCE libraries to handle the connection.
Guys,
i know im not that great of a programmer. But i was wondering if anyone can program the following setup? it would help A LOT of us newbies .
- Serial Port emulator for PocketPC.
a. Input has to be transfert from a serial port (for use with activesync) to the internet service (TCP) with a specific IP-adress and back.
- Serial Port emulator for PC.
a. The emulator needs to listen to a specific port for TCP connection requests. And forward everything to the emulated com-port and back.
I know there excist many serial emulators for the pc, but none with an TCP/IP server integraded.
For a visual display, take a look at the picture that is included.
This is a very interesting thing. It would just provide ActiveSync over ANY TCP/IP connection (so also WiFi and such).
The serial ports part can certainly be done (not that I looked into how difficult it is, but I know it is possible)
I am however still unclear in how doing this would enable ActiveSync to work. Sure I can connect the PC side to a COM port, but how would this work on the PPC side? If I look in ActiveSync there, I don't see an option to connect to a COM port. Maybe I am overlooking something.
There are several USB-over-IP solutions out there, would they help in achieving your goal?? although its not clear to me what your goal is...
Hope this is helpful,
Cheers!
nid
HI,
I have a custom Eclair ROM on my HTC Hero and want to connect to a server hosted on my laptop using Bluetooth.
I can pair up with the computer without a problem. However, I cannot seem to connect to the server, eventhough I know the service's UUID and bluetooth address of the host device.
I'm using a simple RFCOMM server (in Java) similar to the one described in daniweb.com/forums/thread193742.html (put www infront of the link). The server works with another Java client deployed on a different machine; however I had to specify the server URI as follows (Im using bluecove lib for this):
btspp://0016FE9A71DF:1;authenticate=false;encrypt=false;master=false
I suspect that my Android bluetooth impl fails due to some kind of authentication problem. Is it possible to explicitly make sure you dont authenticate (I know its not safe) when attempting to communicate via Bluetooth in Android SDK?
My Android client code looks similar to (www) anddev.org/viewtopic.php?p=35487
Thanks for any help!