Archive for the ‘Mobile Development’ Category
Almost complete. WARCARRIER for Android Tablets.
This is the main screen at startup, including the menu options.
Click on “catchMeNG! in the settings bar at the top right and you can input a string to troll for. This includes Bluetooth devices, BSSIDs, ESSIDs, etc.
You can also choose “Plot Waypoint” to plot a new way point onto the Google Map:
If you long-press on a any field (as the “Help” dialog shows from the Settings menu) You can find more information on the specific data that is presented.
And as of 1.1 Beta, you can plot and scan for Bluetooth devices:
This will make my life so much easier as I only have to write this Java code to run on one specific hardware type. Anything that goes wring is the SDKs fault, or the manufacturer for not using standard or compliant hardware (e.g. for radios).
Time to catch up on some R&R
I just finished up coding a simple 802.11 scanning application for Android that uses Probe Requests to ask for all AP info in the vicinity. A station sends a probe request frame when it needs to obtain information from another station. It’s considered an “active” scan since it’s sending a request – using RFMON on your radio is passive and only sniffing. What’s cool about this type of scan is that it is easier to scan for networks when already associated to a service set. In passive scanning, with software like Airodump-ng, you get this same data from the APs just in 0×08 subtype Beacon Frames. I also added some CatchMeNG! functionality as well for searching for devices.
This is the main screen you see above. It is a simple TableLayout (actually two since one is programmatically destroyed upon returning scan results.) within a RelativeLayout user interface. When you start the application, it checks to see if WiFi is enabled and if so it will scan the area using Probe Requests. This is very similar to how the old NetStumbler application worked. The EditText field you see is for CatchMeNG! in which you can troll for any specific string you wish: BSSID, ESSID, channel, WEP, etc.
In this image above I am initializing CatchMeNG! which turns the label green once the “Enable” button is pressed. I had a hard time with the EditText stealing the focus of the app when the onCreate(); method was initially called, but was able to stop that programmatically.
In the screenshot above you can see that the label has turned green for CatchMeNG! inidicating that it is on. I did this simply by creating a TextView object with the Integer ID of the actual Resources ID. e.g.: “R.id.label“.
In the above screenshot you can see what is shown when the object is found. I gave more details so that the RSSI can maybe be used as an indicator for signal strength. Just like in older versions of CatchMeNG!, a sound is played also to alert the users attention. Scanning takes place by hitting the Refresh AP List menu item in the applications menu in the top right side and not automatically.
Add automatic scanning.
Add case insensitivity.
Create a new section in Programming for Android and cover in depth details on how this project was created.
Since I ditched Sprint I have a Samsung Galaxy SII with Android 4.2.x on it and I decided to test the off-line navigation application NavFree USA. The Sonic has a card slot for parking garage cards in the dash, but it looks cheesy when it has cards in it, so I though of mounting my old Phone as a GPS device.
First, i measured the max width of the slot which was about 3 cards in height. I used a few fake credit cards that were sent to my in junk mail and taped them together sn gave them a bend in the end about an inch down.
Then I secured the taped up cards to the back of the phone with more tape. I used duct tape so that it wouldn’t fall off. Now it fits into the slot without easily falling out. Because its almost flush against the dash, it hides the taped back and makes the phone look like it’s floating.
I will test the NavFree USA Free Navigation application and report how well it works!
Disclaimer: This has been tested for Sprint’s FF18 ICS update for the Epic 4g Touch model ONLY. We are Not responsible for ToS’s, damages or warranties voided by anyone, anywhere, ever. EVAR.
Using Ad-Hoc mode for tethering is garbage. You can’t save any profiles for automatic connection on your supplicants, you need to fiddle with the Tether application when it randomly responds with “…started with errors..check error log!” and it’s an all around pain in the ass when you have multiple supplicants that don’t even support ad-hoc – like the PSP, 3DS, LINUX Drivers for popular WiFi adapters, etc.
So Sprint finally gave us Ice Cream Sandwich huh? Yay! WE CAN NOW REBOOT OUR PHONES FROM THE POWER MENU! Well, you may notice, if your phone was previously rooted that it no longer tethers and, obviously, got unrooted after the update. Phones always unroot after an Android update because of the kernel updates, etc. Anyways, If you follow this video and re-root your Galaxy SII Epic 4g Touch:
1. Make sure you install Samsung Kies and allow it to install drivers for your device.
2. Download the EXE file and extract the contents
3. Run the application within the directory labeled Odin-OC called “SPH-D710.FF18_CL663858_ROOTED_NODATA-OneClick.EXE” and plug in your phone.
4. hold the power button and the volume down button on your phone until you see a screen asking you to press “Volume Up” to continue.
5. Press “Start” button in application once your phone is visible (yellow highlight and SERIAL ID in black font).
Then you will be able to install “WiFi Tether,” and “Titanium Backup Pro” from the Google Play Market and start tethering! Here are the Application you need on your phone after rooting it:
Once installed, run the Titanium Backup Pro application and freeze the following applications from turning off your hotspot each time your devices display is activated from sleep:
Next, select “reboot phone” from the menu. Next, start up WiFi Tether For Root Users, and go straight into the settings menu. Make the following changes:
** Change the channel (This seems to jump start the 802.11 radio at startup)
** Disable startup checks (This seems to interfere with the application)
** Select Generic ICS
** Turn ON routing fix (This seems to solve a timeout issue for certain domains while tethered)
** The Kernel now supports netd for Infrastructure mode!
Now reboot your phone once more for the WiFi Tether for Root Users application settings to refresh (this seems to solve any mem caching issues that I couldn’t solve from force stopping the application and restarting it.) Once done, you will no longer need to use shitty ad-hoc mode again with your hacked ICS/SII E4gT! :)