[Q] Communication between two different apps on different devices - General Questions and Answers

Hi,
I have some doubts and do not know how to do, maybe you can help me.
so, I need to communicate between two different android apps on different devices.
Case study: i have tablet1 with app1 and tablet2 with app2 on a local network. I need app1 on tablet1 send and receive data to/from app2 on tablet2. So its a client/server communication (or better, i need many clients to one server).
There is a mechanism AIDL but only works different apps on same device, but i need on different devices. I have done some examples of services and messengers handler but without success. Applications must be version 4.0 and android app ( I say this because there is a NSD mechanism that discover services of other devices / apps android in local networks, but the minimum version is 4.1 and I already have several customers with tablet v4.0. I know it is possible but also do not want to install a web server on a tablet ( like a KWS or PAW server and others) ).
The documentation and examples that i use are google android site, like trainning, guide, references and others.
Thanks in advance for any tips.

Related

Lumia 800 shared documents

Hi guys,
I´ve got one question, is it possible to create file transfer on wifi? I want create wifi network something like family group in Windows 7. And if its possible do this betwen WP and android phone or WP and windows 7 PC.
Thanks a lot.
No, not possible; but you can try DFT Bluetooth file transfer if you have a fully unlocked or rooted phone and see if that works. Currently there is no way of doing what you are asking via email, MMS or Wifi.
It doesn´t working via e-mail too ?
Root Webserver (see my sig) allows easily taking files off (or putting them on) a Windows phone via WiFi. It's not the most elegant approach, but it's easy to use.
There has been talk of somebody implementing SMB (the network protocol that is used for Windows networking) using the sockets APIs in WP7, but I'm not even sure the official APIs are complete enough and even if they are, it'll be quite a bit of work to implement (the SAMBA project has been trying on Linux for years, and is only mostly there).
I'm quite certain it's possible to attach arbitrary files to email, but nobody has found the way *yet* so that's not currently possible. Also, the email client isn't going to let you save attachments to arbitrary locations, because it's designed to work with the very low permissions of the OS by default.

How this stuff works ?

Hi All,
I'm new to the android and I'm wondering how applications which are also kind of social web based apps works and how do you approach developing something like that.
For instance zedge.net which is wallpapers, ringtones application / website. On the one end you have application on your android but on the other end you have website with your own account synch. with your android etc.
I'm just wondering if there are any supporting libraries / environments allowing one developer think of developing similar solutions like zedge.net. Not necessary exact the same but with similar android application (client) and website (server) architecture ?
Any tips much appreciated.
thanks
Evo

[Q] Existing simple bluetooth data relay application?

I'm looking for Android Bluetooth / TCP/IP relay application.
-- Details --
I'm looking for RDP client which would be able to relay / bridge Bluetooth devices / peripherals to the RDP host (Windows server 2008 R2).
If there's no such RDP client, wehave a secondary option. Having separate background service which takes care of the data relaying part in background, and leaves the RDP connection / device display to foreground as completely separate process.
I've been planning developing such application. But if possible, I want to avoid re-inventing the wheel. Even if it sounds really simple, I'm sure there will be (too?) many problems before it works reliably.
I'm very curious to know, if such application already exists and where would I get it. I'm quite sure that someone has already made such an application. I just don't know where to look for it.
Additional bonus would come, if the application is quite easy to configure and if the sessions between RDP and this relay are easy to link and access on Windows server end.
As addition to the bluetooth relay, it would be nice to have a simple TCP/IP tunnel / bridge / relay feature in same packet. Allowing access to devices using TCP/IP without bluetooth using same app.
If it's true that such application doesn't exist. Would there be an market for such application if it's created? I could imagine I'm not the only person looking for such app.
I do have additional documentation & specification for there requirements, but I don't want to share it right here. I've been also discussion about this topic with a few Android Application developer companies, but as you might guess, this project won't be cheap. Therefore I'm looking for reasonably priced existing solution.
Here's simple use case sample. Customer is using industrial data collection solution where there are ten sensors attached to something being monitored which are then connected to tablet over bluetooth or wi-fi (TCP/IP). But the actual data processing / logging / control software is running on Windows server and can be accessed using RDP. Of course one solution would be using a full featured Windows laptop instead of that tablet, but we don't want to do that. So this expains what I'm looking for in more detail.
- Thank you
-- Footer --
KW: business, software development, android, thinclient, tablet, bluetooth, wifi, wlan, mobile
HTag: #android #peripheral #connectivity #remotedesktop #remotedesktopclient #softwaredevelopment #bluetooth #tablet #thinclient

An app, web.android.com, like web.whatsapp.com?

Dear Members,
Imagine: An Android Black Box without any screen but only USB Power+Data and Wi-Fi ports to be connected with a Lap- /Desk- top computer and the combo used as a Superphone
I have been planning for a long time to use internet — like the thread I had posted in Unix StackExchange in
unix.stackexchange.com/questions/86380/reading-sim-data-via-file-managers-using-usb-datamodem, around September 2013.
There I had posted the links of an idea: If Mobile-> Internet access Modem, why not datacard->mobile, posted in both Knoppix and Debian forums, around March 2013.
A killer of an idea came to me while I began using web.whatsapp.com
I have been doing research on the alternatives of the Android OS available on the web. These two links are sufficient for what I am going to present:
beebom.com/android-alternative/
itsfoss.com/open-source-alternatives-android/
Won't it be easier if, rather than to build free and Open-source alternatives to Android, Android itself is enhanced for its use with a computer, keyboard and mouse, using an app like the Whatsapp Digital Optical Code scanner, to have the display and button- and touchscreen- controls transferred to our lap- / desk- top computers, like we can in Whatsapp via web.whatsapp.com?
In Linux there already are ways to remotely control a desktop via appropriate permissions with a GUI interface.
This way, Google remains happy, while we too remain free from restrictive policies.
There are many emulators already available on the Open Source Linux systems, like QEMU, VirtualBox, and so on, not to mention the proprietary VMWare.
The app needs to have two parts:
(1) A rudimentary functionality of a Transceiver/Emulator, to slip right between the Hardware and the Android OS, creating a "What You Ask Is What You Get" one to one virtual communicator, and side by side, relaying the signals to the main app.
(2) A virtualisation of the user input signals and transceiving the same with the Android OS.
The main application having all the remaining functionalities to connect the Android OS with the Lap- / Desk- top via Wi-Fi, internet and its in-built optical scanner.
Of course, the App needs to have a cloud application to store all the data of the users on the cloud securely via SSL security like Whatsapp.
The App could earn its profits from the revenue structure Google has erected to have the app paid via advertisements. Interested users like us would also be more than willing to pay for the app, I believe.
In the end, again, a device could as well be developed to combine an Android SmartPhone Black-Box (without screen) Hot-plugged with a standard lap- / desk- top and forming a seamless combination of the two into one super-unit via Free and Open Source Software.
To conclude, I seek this opportunity to inform that I am a very empowering closet-entrepreneur, but I have my own limitations because of my inability to accept certain existing structures. So rather than forming an entrepreneurship venture, I like freely to share information. FOSI instead of FOSS, I for Ideas.

How to Watch HTTPS Traffic from Android: Emulator vs phone? Charles vs mitmproxy?

What is the best way to watch HTTPS traffic from apps now? I will collect what I have found so far, but hoping someone more knowledgeable will add some points. Feel free to correct or point out other ways of accomplishing this. It feels like regardless of the options, the root of the problems are how to get around certificate pinning.
Emulator vs Phone
This is the first question and probably the most dependent on what you want to achieve. Working on a real device gives more space between your device and the proxy which makes things easier. The extra space is costly in other ways. For example, I would prefer to have a single instance running on the computer to collect information, but using a phone is easier but has the physical requirement of a device connected to the network.
Phone
Physical separation allows for clearer testing. Fully functional device means your input and output work as expected.
Emulator - Waydroid
Emulator running on the same computer causes more complicated networking to ensure you don't block your own traffic. Troubleshooting is trickier as it's more difficult to easily access parts of the emulator that a phone is easy to access. For example, I spent much more time than I would have expected to move a VPN configuration file from my computer to the virtual machine emulator than I would have ever expected. Adding the same configuration to the phone was a simple QR code scan.
Emulator running in a virtual machine allows for a future use case of running the whole thing in the cloud without a physical device.
Proxies
As far as I know, the only way to capture the HTTPS traffic is to use a proxy. This is in the form of an application running on a separate (virtual or physical as mentioned above) device. The hardest part here is the Certificate Authority which signs the HTTPS traffic when it leaves the app. More sophisticated apps, to prevent fraud, do a variety of actions to prevent the user or 3rd parties from capturing the data in each HTTPS request.
mitmproxy
open source, link
I tried this first as it comes with Python library which would make capturing data for later analysis much easier. Mitmproxy has a few different modes, and ultimately I found that `mitmproxy --mode wireguard` which runs via VPN captured a good amount of traffic, but still had target SDK traffic unable to be opened. Mitmproxy has a built in tool to help installing the certificate in Android as a user certificate. This will capture some HTTPs traffic, but for some apps and many SDKs this does not capture their traffic. Traffic can be captured in several ways: CLI tool for analysis of live traffic in memory, CLI dump to file and in memory live in browser of choice.
Charles Proxy
free for 30 days, shareware, link
I first used Charles nearly 10 years ago, and it doesn't feel like it's changed much, but is actively maintained. When I first started using Charles it was a breeze to use, CA was less of a problem. But as Android changed it also now has the problems of CA needing to be installed, and helps the user by providing it's own signed certificate which can be installed as a user certificate. Charles is a standalone program that you run and as such it does have a fair amount of issues on my linux environment related to it's display sizes. .
Burp Suite - Community Edition
paid/free, link
Community edition that is free to use. Runs in browser and comes with it's own CA tool.
Android Certificate Authority
These are the certificates used to sign HTTPS traffic to keep it secure. In Android there are three levels: User, System (root) and App Pinned Certificates. In Android settings you can add a CA which will be considered "user". Apps can choose whether to ignore this certificate. System CAs can only be set by a root user. While a user can install user CA's, apps do not have to use these. CAs can be set by users as root certificates. I believe this must be set regardless of device or VM. The majority of the certificates provided by the proxies don't seem to open a lot of HTTPS traffic. This is likely because Android N (API level 24) certificate pinning was introduced in 2016 and at this point most SDKs and Apps use this for transferring traffic.
JustTrustMe
open source, link
This is installed on a device or emulator. An Xposed addon that can be installed to force apps to use root authorities and prevent them from pinning their own CA.
apk-mitm
open source, link
This can be installed in a separate linux environment and is used to modify an app's apk before being installed into a VM emultator or phone. It attempts to get around the app's certificate pinning by patching the APK to disable certificate pinning.
This is just my notes on what I'm looking into. I figured I'd post here to see if anyone has some advice or pointers. Please feel free to correct / add to this! Meanwhile I'll also keep my notes here if it helps anyone.
To anyone later who is interested in this topic, I was able to finally get a working solution using Magisk + LSPosed and two certificate modules which unpinned certificates and set my user certificate to system. I wrote my detailed steps here if anyone needs the help.

Categories

Resources