[ROM][OFFICIAL] RattlesnakeOS [Android 9.0] - Google Pixel 2 ROMs, Kernels, Recoveries, & Other

Intro
This is a bit different than most postings here, as I'm not providing any binaries to install on your phone and instead providing a simple tool, rattlesnakeos-stack, to build your own OS based on AOSP on a regular basis, with your own signing keys, and your own OTA updates. This probably will be interesting to a small subset of users as it does cost money to run this infrastructure in AWS.
What is RattlesnakeOS
RattlesnakeOS is privacy focused Android OS based on AOSP for Google Pixel phones. It is my migration strategy away from CopperheadOS (hence the name similarity) which is no longer maintained.
Features:
Based on latest AOSP 9.0 (Android P)
Support for Google Pixel, Pixel XL, Pixel 2, Pixel 2 XL
Monthly software and firmware security fixes delivered through built in OTA updater
Maintain verified boot with a locked bootloader just like official Android but with your own personal signing keys
Latest Chromium browser and webview
Latest F-Droid client and privileged extension
Free of Google’s apps and services
What is rattlesnakeos-stack
Rather than providing random binaries of RattlesnakeOS to install on your phone, I've gone the route of creating a cross platform tool, rattlesnakeos-stack, that provisions all of the AWS infrastructure needed to continuously build your own personal RattlesnakeOS, with your own signing keys, and your own OTA updates. It uses AWS Lambda to provision EC2 spot instances that build RattlesnakeOS and upload artifacts to S3. Resulting OS builds are configured to receive over the air updates from this environment. It only costs a few dollars a month to run (see FAQ for detailed cost breakdown).
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
How do I set this up?
Head over to the github repo and take a look at the README for full setup, build, and flashing instructions.

then this thread should be in the guides section IMHO.

Hi, when the rom will be available to download?
Thanks

cesarguaro said:
Hi, when the rom will be available to download?
Thanks
Click to expand...
Click to collapse
Read literally the first sentence.

Looks like some amazing work. Haven't had time yet to test it out yet. Hopefully soon though.

Well, if I understand it the right way, I'm able to setup my own room without programming knowledge?
And if I won't use OTA, can I create flashable updates too?
Thanks in advance,
Rashka

MKRashka said:
Well, if I understand it the right way, I'm able to setup my own room without programming knowledge?
And if I won't use OTA, can I create flashable updates too?
Thanks in advance,
Rashka
Click to expand...
Click to collapse
Yes, this allows you to create your own builds of a ROM which by default is pretty much stock AOSP with the features mentioned in the original post. It is possible to customize it with some more advanced options that were added recently to allow patches and prebuilt APKs, but those options do require some knowledge of building AOSP.
By default the OTA updater app is included in the build process and by default it will point at your specific AWS environment where successful builds end up, so the only way to easily disable OTA updates at the moment would be to in the updater app settings change the channel from 'stable' to 'beta' (as all builds are set to stable). You could still manually download the OTA zip files produced by successful builds and stored in S3 and manually flash them.

dantheman78 said:
Yes, this allows you to create your own builds of a ROM which by default is pretty much stock AOSP with the features mentioned in the original post. It is possible to customize it with some more advanced options that were added recently to allow patches and prebuilt APKs, but those options do require some knowledge of building AOSP.
By default the OTA updater app is included in the build process and by default it will point at your specific AWS environment where successful builds end up, so the only way to easily disable OTA updates at the moment would be to in the updater app settings change the channel from 'stable' to 'beta' (as all builds are set to stable). You could still manually download the OTA zip files produced by successful builds and stored in S3 and manually flash them.
Click to expand...
Click to collapse
OK, I will definitely try this as soon as I got time for it.
Is this for pixel 2 only or can I use it for multiple devices?

MKRashka said:
OK, I will definitely try this as soon as I got time for it.
Is this for pixel 2 only or can I use it for multiple devices?
Click to expand...
Click to collapse
It supports Pixel, Pixel XL, Pixel 2, Pixel 2 XL. Currently you'd have to create a different stack for each device you wanted to create builds for.

Hey, This is my first time trying anything with AWS, but I think I have the basic setup down. It honestly took me a bit, as setting up a free account, and then trying to run an instance was showing that I had 0 instances available, till I realized I could start a EC2 Spot Instance, which is likely what you meant in the README. (However, setting up a Spot Instance is actually a page later than where the readme says to launch the instance, hence my confusion. I just had to click continue and run a c5.4xlarge Spot Instance instead.) However, when I go to deploy it, I get the following error as the last line that will output so far. (Currently attempting to do this on windows, as my debian box is just now being set up again. If need be, I could switch to that system, especially as I have most everything else set up, it'd just be a pain, as I've yet to set up the non-free wireless drivers on that system, and don't feel like dragging that tower out next to the router at the moment.):
[36mINFO[0m[0000] Downloading Terraform binary from URL: https://releases.hashicorp.com/terraform/0.11.8/terraform_0.11.8_windows_amd64.zip
[31mFATA[0m[0004] Failed to create terraform client: chmod C:\Users\******\AppData\Local\Temp\rattlesnakeos-stack580992971\terraform: The system cannot find the file specified.
Click to expand...
Click to collapse
Any idea what I could be doing wrong in this case? It looks like it could be because it's trying to run chmod on a windows file that ends with .exe (as I can find a terraform.exe file in the temp folders, but no terraform), while the system is expecting it to be in linux with no .exe file extension? Thanks in advance, can't wait to get a working build going, as this is exactly what I've been looking for since the management at CopperheadOS went all stupid.

schreckles said:
Hey, This is my first time trying anything with AWS, but I think I have the basic setup down. It honestly took me a bit, as setting up a free account, and then trying to run an instance was showing that I had 0 instances available, till I realized I could start a EC2 Spot Instance, which is likely what you meant in the README. (However, setting up a Spot Instance is actually a page later than where the readme says to launch the instance, hence my confusion. I just had to click continue and run a c5.4xlarge Spot Instance instead.) However, when I go to deploy it, I get the following error as the last line that will output so far. (Currently attempting to do this on windows, as my debian box is just now being set up again. If need be, I could switch to that system, especially as I have most everything else set up, it'd just be a pain, as I've yet to set up the non-free wireless drivers on that system, and don't feel like dragging that tower out next to the router at the moment.):
Any idea what I could be doing wrong in this case? It looks like it could be because it's trying to run chmod on a windows file that ends with .exe (as I can find a terraform.exe file in the temp folders, but no terraform), while the system is expecting it to be in linux with no .exe file extension? Thanks in advance, can't wait to get a working build going, as this is exactly what I've been looking for since the management at CopperheadOS went all stupid.
Click to expand...
Click to collapse
Hey there! Sorry about the issue with Windows (I haven't done much testing there as I don't have a Windows box). I am working on a new release and will add in a fix for this.
If there is anything I can do to clear up the README, let me know. The intention is that I want people with a new account to launch an EC2 instance of the same size (could be on demand or a spot instance - doesn't really matter) that will be launched for builds of the OS (c5.4xlarge). New accounts are sometimes not allowed to launch EC2 instances of this size, so this is just meant to be a verification step.

dantheman78 said:
Hey there! Sorry about the issue with Windows (I haven't done much testing there as I don't have a Windows box). I am working on a new release and will add in a fix for this.
If there is anything I can do to clear up the README, let me know. The intention is that I want people with a new account to launch an EC2 instance of the same size (could be on demand or a spot instance - doesn't really matter) that will be launched for builds of the OS (c5.4xlarge). New accounts are sometimes not allowed to launch EC2 instances of this size, so this is just meant to be a verification step.
Click to expand...
Click to collapse
No worries, looking at the output, I kind of figured that's all it was, but I'll gladly continue to test for you, even though I'm a first-timer.
For the readme, I actually think it's very clear, and I think the main reason I had issue is the fact that my AWS is a brand new free account as of today. When going through the EC2 console, I was unable to set up a c5.4xlarge instance, but it would allow me to set up spot instance instead, if I went to the next page. If the RattlesnakeOS-stack tool uses Spot Instances, it should be just fine. However, if it depends on a regular EC2 Instance, new users may need to request an increase to their instance limit at http://aws.amazon.com/contact-us/ec2-request
Otherwise, from what I'm seeing so far, this seems to be a great way to get a more private, more secure Android ROM built with one's own signing keys, so I'm excited to have such a responsive dev working on such a project.
In the meantime, I'm also working on getting my debian box back up (was trying PureOS, but for my system I needed non-free drivers, which kind of makes PureOS a moot point, so I'm heading back to debian for the time being.)
Thanks again, and I'll continue to follow the progress!

schreckles said:
No worries, looking at the output, I kind of figured that's all it was, but I'll gladly continue to test for you, even though I'm a first-timer.
For the readme, I actually think it's very clear, and I think the main reason I had issue is the fact that my AWS is a brand new free account as of today. When going through the EC2 console, I was unable to set up a c5.4xlarge instance, but it would allow me to set up spot instance instead, if I went to the next page. If the RattlesnakeOS-stack tool uses Spot Instances, it should be just fine. However, if it depends on a regular EC2 Instance, new users may need to request an increase to their instance limit at http://aws.amazon.com/contact-us/ec2-request
Otherwise, from what I'm seeing so far, this seems to be a great way to get a more private, more secure Android ROM built with one's own signing keys, so I'm excited to have such a responsive dev working on such a project.
In the meantime, I'm also working on getting my debian box back up (was trying PureOS, but for my system I needed non-free drivers, which kind of makes PureOS a moot point, so I'm heading back to debian for the time being.)
Thanks again, and I'll continue to follow the progress!
Click to expand...
Click to collapse
Thanks for the additional details! I pushed a new release https://github.com/dan-v/rattlesnakeos-stack/releases/ with my best guess fixes for Windows. Let me know if it works or not - if not I'll break down and spin up a Windows box to test it out

dantheman78 said:
Thanks for the additional details! I pushed a new release https://github.com/dan-v/rattlesnakeos-stack/releases/ with my best guess fixes for Windows. Let me know if it works or not - if not I'll break down and spin up a Windows box to test it out
Click to expand...
Click to collapse
So far, looks like your best guesses for a windows box are pretty good. It seems to have gone alright so far, as it says it successfully deployed AWS resources, created a new topic I can subscribe to, created new folders in my S3 bucket, but I'm not seeing any running instances, yet, so we'll see. (Since I wasn't seeing any instances running yet (and I do have an instance available, as I requested and got approved for one a couple hours ago) I also tried to manually build, following the readme, which was clear enough, but looks to be the same, so I'll wait a bit and see if amazon just needs to catch up.)
Again, it's great to have such a responsive dev with this kind of stuff, that'll be new to a lot of the community members, so thank you again!

schreckles said:
So far, looks like your best guesses for a windows box are pretty good. It seems to have gone alright so far, as it says it successfully deployed AWS resources, created a new topic I can subscribe to, created new folders in my S3 bucket, but I'm not seeing any running instances, yet, so we'll see. (Since I wasn't seeing any instances running yet (and I do have an instance available, as I requested and got approved for one a couple hours ago) I also tried to manually build, following the readme, which was clear enough, but looks to be the same, so I'll wait a bit and see if amazon just needs to catch up.)
Again, it's great to have such a responsive dev with this kind of stuff, that'll be new to a lot of the community members, so thank you again!
Click to expand...
Click to collapse
Yeah, I'm not sure what I did/am doing wrong, but when I try to manually run a build from the Lambda Manager, it runs in 6-8 seconds, and I get a success, but there's no output, and nothing new saves to the S3 bucket. Once Debian is done installing (setting up encrypted LVM takes a while, as it overwrites every block on the hard drive randomly), I'm going to try setting up everything from there as well, to see if it's an issue of how I set up AWS somehow or with how the stack tool ran on Windows.
Edit: Looks like my first build just got done building, and took about 5h18m, so right on track. I thought I'd had android SDK set up on here, but I guess all the old stuff I'd done was solely on a linux box (which I'm still resetting up, since that overwrite of an 8 TB drive for encryption took quite a bit.) So, now the debate is between setting up on Windows vs waiting till I've got everything situated in Debian. I work tomorrow, so I won't get much done, but should be able to either after work or in the following couple days. Thanks again for the repatch to fix Windows...looks like that did the trick.

schreckles said:
Yeah, I'm not sure what I did/am doing wrong, but when I try to manually run a build from the Lambda Manager, it runs in 6-8 seconds, and I get a success, but there's no output, and nothing new saves to the S3 bucket. Once Debian is done installing (setting up encrypted LVM takes a while, as it overwrites every block on the hard drive randomly), I'm going to try setting up everything from there as well, to see if it's an issue of how I set up AWS somehow or with how the stack tool ran on Windows.
Click to expand...
Click to collapse
The Lambda function should take just a few seconds to execute - it should also tell you where it is launching the EC2 spot instance for the build - probably Ohio region (us-east-2) as it's usually the cheapest at the moment. The initial build will take 5 hours or so on a c5.4xlarge because it's building Chromium in addition to normal AOSP build. If you have executed the Lambda function multiple times manually, you may have multiple builds running (go to Ohio region if that's where it launched in EC2 console and double check), and feel free to terminate any additional instances if that's the case.

dantheman78 said:
The Lambda function should take just a few seconds to execute - it should also tell you where it is launching the EC2 spot instance for the build - probably Ohio region (us-east-2) as it's usually the cheapest at the moment. The initial build will take 5 hours or so on a c5.4xlarge because it's building Chromium in addition to normal AOSP build. If you have executed the Lambda function multiple times manually, you may have multiple builds running (go to Ohio region if that's where it launched in EC2 console and double check), and feel free to terminate any additional instances if that's the case.
Click to expand...
Click to collapse
Aha...that's exactly what it was. I had figured since I pointed Rattlesnake to US-East-1 (N. Virginia) it would automatically run there, so I didn't see it, but it ran, finished, and I'm not worried about spending a few extra bucks on learning something like this, so no biggie. It just happened to run twice. Will be setting up my SDK this evening (thought I'd had it on windows, but that may have been on my old thinkpad and my linux box instead, come to think of it) and install either tomorrow night after work or the day or two after. Thanks again for all the help and for such a well thought out guide to begin with!

schreckles said:
Aha...that's exactly what it was. I had figured since I pointed Rattlesnake to US-East-1 (N. Virginia) it would automatically run there, so I didn't see it, but it ran, finished, and I'm not worried about spending a few extra bucks on learning something like this, so no biggie. It just happened to run twice. Will be setting up my SDK this evening (thought I'd had it on windows, but that may have been on my old thinkpad and my linux box instead, come to think of it) and install either tomorrow night after work or the day or two after. Thanks again for all the help and for such a well thought out guide to begin with!
Click to expand...
Click to collapse
Awesome! Glad you got it all worked out.

The hilarious irony part: now I wait for my Pixel 2 to be RMA'd for the camera failing, literally minutes before I was going to flash my phone last night. At least now, I have my Debian box set back up as my dev environment, have my nextcloud server set up, and a few other little things set up in preparation and in the name of privacy.

Questions about Privacy and MicroG
First off, thanks for developing this ROM, I believe it serves a very valuable purpose. I have two questions:
1. Unless I overlooked something, you state in the headline that this ROM is privacy focused but the features you have listed do not include any privacy features (other than no GApps and F-Droid which can be achieved using most custom ROMs). What makes the ROM privacy focused? Can we assume that apart from the features you listed, the privacy and security features of CopperheadOS are present in RattlesnakeOS?
2. Can MicroG be used (as a GApps alternative) with RattlesnakeOS, I know this was not possible with CopperheadOS as the developer did not want to implement signature spoofing. Is this still the case?
The MicroG team makes a rather convincing argument that allowing signature spootfing is an acceptable risk/trade-off for certain users.
edit: for anyone else interested in MicroG I found this related discussion on Reddit

Related

[SENSE][WM][WIN] Manila & Windows Mobile Developer Interest Poll?

I'm trying to gauge interest in developing manila/sense tabs, I'm looking for:
1. people interested in working on the facebook tab
2. people who want to make other tabs
3. people who are app developers who want to tie into tabs
4. we also need some people comfortable doing window apps
(I think we need help getting started with the Manila Kitchen GUI tools - currently command-line). There is plenty of guys who have worked on the tools and know tons about manila, just need a framework in which to tie into.
Please state if you are expert or beginner or willing to learn.
I think in most areas, support can be given to most to get them started (even if it's not your area of expertise) and will probably prove a good learning experience.
Now, just need to work out how to make this a poll...
OK, you can select more than one option at time:
- Expert can be considered Expert/Intermediate skill, i.e. you've made something and it works quite well.
- Beginner would be someone who has done small tweeks or done simple programs.
Ahh, forgot window app developers, in this case, register your interest (if you are), in the TouchFLO/Manila/SenseUI social group (a great bunch of guys who helped me from knowing nothing about sense):
Project: Manila GUI Kitchen Environment.
http://forum.xda-developers.com/group.php?do=discuss&group=&discussionid=223
Links are not working for me :/
I'd be interested in working on a Phone tab. something that included not only a call history, but some dynamic icons that showed (at the very least):
Missed calls.
Voice mail.
SMS/MMS
Email
It's amazing to me that this was on earlier versions of Manila/TF3D but isn't on the newer versions. This entire concept was supposed to be designed for a pda/PHONE converged device, but the phone side of it has been weakened on every upgrade.
AdamiX said:
Links are not working for me :/
Click to expand...
Click to collapse
I'll ask the group admin about it, perhaps you have to join as a member first...
http://forum.xda-developers.com/group.php?groupid=131
Trident said:
I'd be interested in working on a Phone tab.
Click to expand...
Click to collapse
I can point you in the right direction if you need it, my method for working with manila at the moment, is decompile everything and then use a good search tool to find the kind of code I need. Seems to work quite well and you can find some interesting functions/features, I've also found using the registry is quite handy for experimenting since you can test out calling different apps with different arguments and also jumps to sense pages (which are internal URLs). Also it can give you a view of values which are being used internally.
So far getting interesting results on the poll!
Looks like a good mix of people which is great!
1. Those interested in taking the facebook tab further, I'm just working on a few bits at the moment for it (trying to tie in the last bits of HTC function), but will happily pass it on when people want me to. [I released it much sooner than I planned, but felt mean waiting any longer]
2. Those interested in learning about manila then have a look through my tutorials and that will hopefully get you started (I was a total beginner too when I started them). Please let me know if there are bits missing or bits which don't make sense etc, it's aimed at people who have done a little programming or at least get the general idea. If it's not clear enough then an entry level tutorial would be welcome (I've avoided too much click here, type this type detail because there is too much to explain in one go).
(leave feedback on the tutorial thread)
3. Those interested in developing manila and wm apps for using tabs, I'm hoping to build a "Custom Manila Interface Tab" which will ultimately provide an API type interface for apps. Will probably need a lot of work, so once I've done a basic proof of the concept, which will be very simple and populated via registry keys (i.e. simple list display which can be populated via a normal app) I will then open it up for group development.
4. Those interested in WM app development, hopefully with the new tab it will be easy to get started with some basic ideas and try them out. As the new tab (or it can be used as a sub-page) develops we will need to know what kinds of things we want to display.
i.e. for the facebook tab I can see this being used as a simple way for a external app to list notifications, comments and all kinds of information.
5. Windows application development, let me know if you can get on the group, I really hope that once given a framework a GUI can be put together. The mode9Editor is an excellent example (I think the author is on the group) and the CMD line kitchen is another amazing tool which brought together all the other fantastic tools (again I think most the original authors are there). Given a good start with a solid base, the GUI could become a very powerful tool!
-------
Developing wm is much easier than working with the manila files, and even HTC tend to tie into dlls/exes quite often to do the leg work, but it doesn't appear to be consistent (each module does things slightly differently) so a direct API would be a massive task. So hopefully an interface tab will bridge the gap, it'll probably provide a good point of reference for useful manila functions too. With the addition of a good GUI editor, I'll look forward to having fun making some really amazing apps (no not a fart selector app...).
Great thread meltwater, you may end up being the driving force of a whole new Manila experience
smeddy said:
Great thread meltwater, you may end up being the driving force of a whole new Manila experience
Click to expand...
Click to collapse
No, the guys before me have been that (would have been no hope without the tools), but hopefully we've got some interesting ideas on the table!
Excellent results on the poll.
Here is an update of what's currently happening:
1. Facebook Tab
I'm currently continuing development on the tab myself, since it is still providing me with useful knowledge on working with manila. It serves as a good driving force for me to try out more stuff.
[MOD][SENSE2.5TAB] Basic Facebook Tab - Developer Thread
http://forum.xda-developers.com/showthread.php?t=663494
2. Custom Manila Interface Tab
I should be able to start work on this once I've learnt enough from doing the changes on the facebook tab. Currently my understanding of manila isn't quite good enough to tackle this yet, it's a big job particularly when the manila code isn't that easy to work with when there is no api.
The concept here is to make a basic tab where the content can be defined by a normal windows mobile app. This should allow many more tabs to be created, without specialist knowledge of manila code.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Something similar to this, but populated by an external app.
3. Manila/Sense Kitchen GUI
The group still needs someone to help kick off the project with some help in building the basic framework for the application. I really hope that this can be achieved, moving the whole process into a graphical app will really help with dealing with the difficult editing of the manila files particularly when defining the graphical components.
Please feel free to give feedback on what you think about my plans. Also if you want to get started on some simple(ish) stuff, there's bits in my tutorials etc.
Ok, trying to get a working development environment for windows mobile, is quite difficult if you don't have a full copy of Visual Studio. For now I will use a trial version, but after I'll post/link to tutorials on how to do it without Visual Studio and some initial steps for Windows Mobile development.
http://www.codeproject.com/KB/mobile/WiMoSansVS.aspx Is a good starting point...
Hi everyone,
Thanks for filling in the poll. There are plenty on here who would like to know how to get started etc with manila, windows mobile development etc.
Short of writing a "how to" which covers everything, which I don't have time to do at the moment, what do people need/want to know to get them started???
This thread can be a simple Q&A section if people need help with the initial steps...
I would love to help but I have too much going on for now :/
This thread may not get noticed but since I started it to talk about and get developer interests I will post here anyway.
Since I've released the latest version of the facebook tab I have started work on my 2nd Tab Project. (Still developing the facebook tab v2.0 too).
The new tab will work along the same lines as Custom Manila Interface Tab concept but for now I have a specific application in mind. Hopefully we can keep this one open and the basis of the tab can be extended and reused to form other tabs working on the same principles.
So what do I need?
Well I have the very basics of the tab working, so I need some windows mobile developers to assist with creating a supporting app which will feed the data to the tab. They will need to handle xml data and potentially HTTP GET requests (I guess), we can go as fast or as slow with it depending on the developer(s) (I've got some ideas on how to start off slowly just like I did with the facebook tab, so beginners would be able to do it, they just need time and willingness to learn). I might start writing it myself but my time is limited and it would be nice to have this tab open to everyone (unfortunately I get too attached to my code/ideas when I've been working on them too long so want to avoid getting in too deep with that part - that is what happened with the FbTab).
What is it?
Not quite ready to announce what the tab will be but I've carefully chosen a good project.
What now?
PM or post here and I'll get back to you.
I'm not sure yet how this will work, but probably create a google code project so that anyone can contribute. Will create a developer thread for the project and once things are up and running a release thread to handle the releases/support etc.
Ideally, this project will be open as possible and allow new developers to have a go. There is plenty which can be done, by all ranges of skill levels. It would be excellent to have a wiki attached to the project which explains how it is put together etc, would be great to provide a stepping stone for future developers to get working with windows mobile and sense.
Also need suggestions on where to host the project, GoogleCode, CodePlex etc require change management software which I'd like to avoid. Perhaps something like 4shared maybe or dropbox?
wow
wow very good.
New to Winmo developement, but willing to seriously learn
meltwater,
I am new to the Winmo developement, but am taking it up in a serious manner. I am willing to take on new tasks with some support. I have the full version of Visual Studio 2010 and can allocate alot of time currently to any projects that you are looking for. Again, I would need to have some support, or be pointed in the right direction, but am very willing to assist. I will do what research I can and ramp up to begin as soon as possible.
One note..I am currently enrolled in school for programming, part of the cloud of programmers that work with Microsoft through VS 2010, and am working to become more proficiant with the WinMo SDK.
Can I help?
Mxdadevolper said:
meltwater,
I am new to the Winmo developement, but am taking it up in a serious manner. I am willing to take on new tasks with some support. I have the full version of Visual Studio 2010 and can allocate alot of time currently to any projects that you are looking for. Again, I would need to have some support, or be pointed in the right direction, but am very willing to assist. I will do what research I can and ramp up to begin as soon as possible.
One note..I am currently enrolled in school for programming, part of the cloud of programmers that work with Microsoft through VS 2010, and am working to become more proficiant with the WinMo SDK.
Can I help?
Click to expand...
Click to collapse
That sounds perfect, just the sort of thing I'm after.
I'm no where near being expert anyway, as I've mentioned a few times, the facebook tab is my 2nd windows mobile app, the 1st being "hello worlde", however I've learned tons doing it and I think it's not too bad (a lot of it is still unreleased). I have a long background in embedded software though.
One thing, visual studio 2010 is no good for windows mobile development, it only supports windows phone 7 not windows mobile (MS killing WM dev much?). Fortunately you might be able to get a FREE student licence via MS Dreamspark, although sounds like they might be able to provide what you need. The work I am doing is in C#.
I put together a little of the support code for the tab last night and the concept appears to work fine. I'll start up a project thread soon, still trying to work out what is the best place to hold/manage the code, want to avoid change management systems:
I don't want to install extra software to handle it
It creates an extra barrier to people having a try
This means codeplex, sourceforge and gogglecode aren't suitable. At the moment 4shared seems like a good choice (simple online storage area) or DropBox which I also use (which could be easiest).
Opened up the developer thread, project details will come soon.
meltwater said:
That sounds perfect, just the sort of thing I'm after.
I'm no where near being expert anyway, as I've mentioned a few times, the facebook tab is my 2nd windows mobile app, the 1st being "hello worlde", however I've learned tons doing it and I think it's not too bad (a lot of it is still unreleased). I have a long background in embedded software though.
One thing, visual studio 2010 is no good for windows mobile development, it only supports windows phone 7 not windows mobile (MS killing WM dev much?). Fortunately you might be able to get a FREE student licence via MS Dreamspark, although sounds like they might be able to provide what you need. The work I am doing is in C#.
I put together a little of the support code for the tab last night and the concept appears to work fine. I'll start up a project thread soon, still trying to work out what is the best place to hold/manage the code, want to avoid change management systems:
I don't want to install extra software to handle it
It creates an extra barrier to people having a try
This means codeplex, sourceforge and gogglecode aren't suitable. At the moment 4shared seems like a good choice (simple online storage area) or DropBox which I also use (which could be easiest).
Opened up the developer thread, project details will come soon.
Click to expand...
Click to collapse
Sounds Great!! I'll be looking for the thread and details. I also have been working in C#, so I think that we'll learn alot together.
Count me in... can supplement SenseSDK if needed!
Ed
eboelzner said:
Count me in... can supplement SenseSDK if needed!
Ed
Click to expand...
Click to collapse
Hopefully a lot of the new tab will be within sense itself with a hidden support app to drive it, although later on it will probably use the SDK for configuring and managing things. Although that is only a rough idea at the moment. (will send you some details - will update the dev thread tomorrow and announce the project).
However, the facebook tab v2.0 is attempting to make extensive use of your sense SDK and greenhacks extended controls. I've currently pushed my ability to the limit with the interface though, hopefully when greenhack releases the latest extended controls I can fill in some of the missing holes. Still experimenting with the GUI aspects and possible concepts for how it should work. Will have think about the GUI again, there are a few areas which I've not quite been able to do what I was aiming for, which the Sense SDK might be modded to achieve.
I'm kinda aware though that a lot of the effort to implement the features for the facebook tab v2.0 will already be done by the Xda Facebook app being produced (so eventually we may tie it in to the tab after v2.0). The new project will hopefully help me expand what I can do with sense and allow better integration of apps.
New RSS Tab project is GO GO GO
[MOD][SENSE2.5TAB] RSSTab - Developer Thread
Thread has all the files ready to go, just not sure what people are waiting for...is it that scary?
Really?
meltwater said:
Also need suggestions on where to host the project, GoogleCode, CodePlex etc require change management software which I'd like to avoid. Perhaps something like 4shared maybe or dropbox?
Click to expand...
Click to collapse
Why on earth would you want to avoid Source-code Version Control? SVN, GIT, and even CVS are an absolute God-send to any development group. i can see one or two pro's to avoiding it if you're the only developer on the team, but any more than 1 dev contributing code to a project turns it into a nightmare without a SVC ...
phalacee said:
Why on earth would you want to avoid Source-code Version Control? SVN, GIT, and even CVS are an absolute God-send to any development group. i can see one or two pro's to avoiding it if you're the only developer on the team, but any more than 1 dev contributing code to a project turns it into a nightmare without a SVC ...
Click to expand...
Click to collapse
Well can't that be handled by a decent web-based on which does it on the server side?
I know you are totally right, version control is very important (I've used many on a professional basis), but do I really need to force all the developers (and myself) to install full SVN programs?
I was hoping there would be a web based version control system which allows you to check in/out files purely using a web browser.
Any suggestions would be appreciated...I've only used closed corporate solutions before so new to open-source.
CVS idea
Guys,
Can we use CodeBeamer for something like this? From what I'm reading this might allow us the versioning control. It could be downloaded for free for up to 6 users.
Any thoughts?
Here's the link for the version that I was thinking of.
http://www.intland.com/products/cb-mr/overview.html

[Project] CTaskManager - Spicing up UI [Android-Like]

Hey Everyone...I haven't been around these parts often, but I conceived a pretty good idea [I think]...
My friend recently got a Droid phone, and of course he was flaunting it to me...I love Android, honestly...but I love Windows Mobile too. SO! I thought "Why not merge the best of both worlds?"
Well obviously, I cannot make windows look 100% like Android...that would take tooooooo long. So instead, I thought "What about the Task Switcher!"
So I introduce to you, CTaskManager
Right now it is just a P.o.C (Proof Of Concept), but I have done my research and found pretty much all the API calls I will need [minus one or two, but I'll find those]. It will be fully in C++, and if I can get it working correctly, will be activated by the HOME button.
Attached is a proof of concept image [100% Photoshopped, not real at all].
In any case, this is how I forsee it working:
This will appear on top of any window
Activated by pressing [and holding?] HOME
1st Box will always be the Home Screen
2nd Box will always be the current Window (unless it is the HomeScreen)
You can switch between apps with 2 easy Clicks
First Select the Number of the Dialog
Second, Press CENTER or SPACE to switch to it, or press DEL to quit that app
The program's layout will vary depending on the number of Open Windows
Should be light, fast, and easy to use
Hopefully, since I forsee this to be a really easy project, I will have a release by later today! I am making it for my Excalibur users FIRST, because I owe it to this whole forum [And because I will be switching to an HD2 this upcoming monday, and I want to start a project up for a phone I use NOW]
-Until Later: CycloneZephyrxz7
sweet...thanks..will wait for your release and then will added to the sticky.
I am very pleased that the ONLY component I have yet to get working is getting the screen captures [and window titles]. I need to investigate this ... For some reason, I am getting the same window drawn OVER and OVER again. I think it is because the window handle I am getting from some of the methods is invalid...Its very odd ... I have to figure it out. I should be able to do this winthin the next hour or so
seems cool so its like a multitasker? or somthing
alexrodri0 said:
seems cool so its like a multitasker? or somthing
Click to expand...
Click to collapse
Exactly.
So this is the update:
I got the program to run on Home-Key Press ... Now I am going to just modify it and add a timer or something to get it to run on Home-Key Long Press [since just a press interferes with Smart ToolKit]
An odd bug I have encountered is that when I run this, and wait, the Smart Toolkit taskbar shows up (as it should), and the whole phone locks up...I think it is because both are competing for Keyboard privilages. [I have to use a Keyboard hook to get this working, and it is all undocumented APIs]
I have yet to get the actual Task part working Haha. I can't confirm whether or not it is working, because for some reason my Debugger is acting weird, and all the images are of the current screen. As it turns out, it is impossible to take a snapshot of a minimized / partially visible screen. It will take the screen coordinates, and take a picture of whatever is there right now. I will get that fixed [I am talking to another Dev to see if he will let me in on how he does it in his task manager].
I got the "back" key escape working. Relatively simple.
I have planned out Layouts. Such that when you have JUST the HomeScreen open, it will NOT run. When you have the HomeScreen and 1 OTHER window open, the two will be split on the screen [Maybe make each like 150x113]. When you have 3 to 4 total windows (Including HomeScreen), they will make a 4-quadrant layout. Where each will be around [120x90]. When you have 4 - 6 open, each will be [92x69] (as shown in the ScreenShot) and have a 6-block layout. When you have more than 6 (if that is possible on the Excalibur haha), it will make a second page, and the second page will adapt to however many excess processes there are.
I have to work on getting the Translucent Background working ... that shouldn't be too hard, I just have yet to look into it {I think I have to use AlphaBlend or TransparentBlt}.
In any case, there is actually very little that doesn't work yet haha, but of course it is the most essential parts that don't work.
I will keep you all updated
sweet
looking forward to this, my phone will live on!!!
Thanks to a bunch of help from another Dev, I confirmed that getting the image of a non-visible window is IMPOSSIBLE on windows mobile. [Although it gives me an idea to try to 'fix' that haha ... maybe after this]. In any case, I think I have figured out how to do it. Tomorrow I will write up the code, test it, and hopefully have an Initial release.
The way I see it the releases will be as follows:
1) Initial Release [Basic]
2) Fix-Up of any Bugs
3) Add some Effects
4) Add some customizations
5) Fix-Up of any Bugs
6) FINAL
Hopefully, I can do this in 6 or less releases [And in the meanwhile, adapt it to work on my new HD2 i will get on Monday ]
*PS: For those of you following my projects: Once I get my HD2, I am going to make a fixed up release of FFP_LS, and then open-source it. Thereafter, i won't work much on it anymore. This is so I can start working on my SUPER-HUGE project called "CMessage" ... Here are the contents of the 'sticky note' i have on the desktop reminding me of it:
Suite of Programs:
1. Transport DLL (Send/Receive SMS/MMS/EMail)
2. T-Mail.exe Client (Compose/View SMS/MMS/EMail)
3. Notifier (When new Message Arrives, Display Alert)
4. A new DLL for the HomeScreen [it probably won't be compatible with the old one]
5. API Docs (For future use and adaptation)
6. Sample Programs (I.E. HomeScreen Panel, SMS Games, etc.)
7. Filter Rules Program
8. Macro Program (Get Message ... Do Action)
9. Environment Set-Up DLL/Exe [Cache Contacts, create Message Stores, transfer over old stuff, etc. etc.]
It is going to be a VERY large project. Hopefully, it will also be a very successful one Say bye-bye to CE MAPI?
Cyclonezephyrxz7 said:
Thanks to a bunch of help from another Dev, I confirmed that getting the image of a non-visible window is IMPOSSIBLE on windows mobile. [Although it gives me an idea to try to 'fix' that haha ... maybe after this]. In any case, I think I have figured out how to do it. Tomorrow I will write up the code, test it, and hopefully have an Initial release.
The way I see it the releases will be as follows:
1) Initial Release [Basic]
2) Fix-Up of any Bugs
3) Add some Effects
4) Add some customizations
5) Fix-Up of any Bugs
6) FINAL
Hopefully, I can do this in 6 or less releases [And in the meanwhile, adapt it to work on my new HD2 i will get on Monday ]
*PS: For those of you following my projects: Once I get my HD2, I am going to make a fixed up release of FFP_LS, and then open-source it. Thereafter, i won't work much on it anymore. This is so I can start working on my SUPER-HUGE project called "CMessage" ... Here are the contents of the 'sticky note' i have on the desktop reminding me of it:
Suite of Programs:
1. Transport DLL (Send/Receive SMS/MMS/EMail)
2. T-Mail.exe Client (Compose/View SMS/MMS/EMail)
3. Notifier (When new Message Arrives, Display Alert)
4. A new DLL for the HomeScreen [it probably won't be compatible with the old one]
5. API Docs (For future use and adaptation)
6. Sample Programs (I.E. HomeScreen Panel, SMS Games, etc.)
7. Filter Rules Program
8. Macro Program (Get Message ... Do Action)
9. Environment Set-Up DLL/Exe [Cache Contacts, create Message Stores, transfer over old stuff, etc. etc.]
It is going to be a VERY large project. Hopefully, it will also be a very successful one Say bye-bye to CE MAPI?
Click to expand...
Click to collapse
can't wait!
This program is actually bugging me...haha [get the joke?].
In any case, it is becoming rather tough to get this actually working. Correction: To get it working efficiently. The dev making the 3D iManager app over in the Development/Hacking forum told me how he is doing it, but to me it just seems terribly inefficient (every 5 seconds, check for Foreground Window....LOTS OF BUGS). In any case, I am using a registry notification now, since Windows Mobile has a value that tells me the currently active program and the previously active program [and it updates!] ... this works out because then I can take a screenshot of the new-ly active program, AND check to see if the old one was minimized or closed. Unfortunately, it doesn't seem to be working as I would have hoped.
I don't have much time today for developing [Hooray for a 50 Page AP Government Outline] ... so I will probably get back to this tomorrow [NEW PHONE], or maybe tonight if I get a really good idea/inspiration to finish this!
Cyclonezephyrxz7 said:
This program is actually bugging me...haha [get the joke?].
In any case, it is becoming rather tough to get this actually working. Correction: To get it working efficiently. The dev making the 3D iManager app over in the Development/Hacking forum told me how he is doing it, but to me it just seems terribly inefficient (every 5 seconds, check for Foreground Window....LOTS OF BUGS). In any case, I am using a registry notification now, since Windows Mobile has a value that tells me the currently active program and the previously active program [and it updates!] ... this works out because then I can take a screenshot of the new-ly active program, AND check to see if the old one was minimized or closed. Unfortunately, it doesn't seem to be working as I would have hoped.
I don't have much time today for developing [Hooray for a 50 Page AP Government Outline] ... so I will probably get back to this tomorrow [NEW PHONE], or maybe tonight if I get a really good idea/inspiration to finish this!
Click to expand...
Click to collapse
keep the good work man and again thanks for your effort in developing new stuff for the dash.
Cheers,
So I finished my work
But that isn't pertinent to this forum. What it does mean is that I can work on my developing for today!
Counter-to-my-prior-plan, I am going to release a pretty flawed version of the program ... errr ... rather an Alpha that will run much less efficiently than the final product.
I hate announcing a project, thinking it will be easy, then taking forever with it ... so this is what I am going to do:
I will use the same timer-based approach that iManager 3D uses, but I might make it update more often [3 second intervals maybe] ... it won't be AT ALL battery efficient, but it should be pretty memory efficient. It will serve as NO MORE THAN A PROOF OF CONCEPT OF WHAT THE FINAL PRODUCT WILL BE. The final product should not have a major impact on battery life, and should leave the end user unaware that it is actually running when it is!
I am re-installing Visual Studio because it has been acting up, but once that is done, I should be able to pump out an ALPHA VERSION.
EDIT: Computer Issues ... Expect a release in the coming days. Sorry for the inconvenience.
Cyclonezephyrxz7 said:
So I finished my work
But that isn't pertinent to this forum. What it does mean is that I can work on my developing for today!
Counter-to-my-prior-plan, I am going to release a pretty flawed version of the program ... errr ... rather an Alpha that will run much less efficiently than the final product.
I hate announcing a project, thinking it will be easy, then taking forever with it ... so this is what I am going to do:
I will use the same timer-based approach that iManager 3D uses, but I might make it update more often [3 second intervals maybe] ... it won't be AT ALL battery efficient, but it should be pretty memory efficient. It will serve as NO MORE THAN A PROOF OF CONCEPT OF WHAT THE FINAL PRODUCT WILL BE. The final product should not have a major impact on battery life, and should leave the end user unaware that it is actually running when it is!
I am re-installing Visual Studio because it has been acting up, but once that is done, I should be able to pump out an ALPHA VERSION.
EDIT: Computer Issues ... Expect a release in the coming days. Sorry for the inconvenience.
Click to expand...
Click to collapse
Great! This sounds awesome! And yeah, we finally get more interests and development in non-touch devices! Good luck with building the program and don't forget to contact the News-Writers when it's ready!
This is actually quite upsetting ... I tried re-installing Visual Studio, because it was no longer giving me the 'code suggestions' for C++ ... [like if I typed in a function, it didn't tell me what the parameters were] ... and now it isnt set up for Windows Mobile 6 Standard/Pro anymore. So i tried reinstalling those SDKs .... no joy....I am going to uninstall EVERYTHING OF IT and start all over [backing up my projects of course ].
Hopefully I will get my computer in working condition by tonight.
I got my new HD2 [TMOUS] today I am very happy with it already. BUT I WILL NOT GIVE UP ON MAKING THINGS FOR THE DASH. Non-TouchScreen phones are highly under-appreciated, and I hate that so much [let alone the fact that WinMo is underappreciated] .... I NEED YOUR IDEAS TO MAKE THIS PHONE [Exca] BETTER! So toss me a PM with even the wildest Ideas, and I will try to figure something out
Cyclonezephyrxz7 said:
This is actually quite upsetting ... I tried re-installing Visual Studio, because it was no longer giving me the 'code suggestions' for C++ ... [like if I typed in a function, it didn't tell me what the parameters were] ... and now it isnt set up for Windows Mobile 6 Standard/Pro anymore. So i tried reinstalling those SDKs .... no joy....I am going to uninstall EVERYTHING OF IT and start all over [backing up my projects of course ].
Hopefully I will get my computer in working condition by tonight.
I got my new HD2 [TMOUS] today I am very happy with it already. BUT I WILL NOT GIVE UP ON MAKING THINGS FOR THE DASH. Non-TouchScreen phones are highly under-appreciated, and I hate that so much [let alone the fact that WinMo is underappreciated] .... I NEED YOUR IDEAS TO MAKE THIS PHONE [Exca] BETTER! So toss me a PM with even the wildest Ideas, and I will try to figure something out
Click to expand...
Click to collapse
congrats with your new phone!
"Non-TouchScreen phones are highly under-appreciated, and I hate that so much [let alone the fact that WinMo is underappreciated]!" Yeah that sucks, that's also why I keep developing Apps and ROMs!
Hope you can get VS working again!

[SDK] LiveLibs ~ auto-updating code in your apps!

LiveLibs is an SDK that you can use in your apps. It allows you to have automatically updating code written in JavaScript. And yes, it'll even pass Marketplace approval. For more info, go here:
LiveLibs.com
Alpha 2 changes:
- Completely changed over from IronRuby to Jurassic (JavaScript) engine
- Improved security (hints and libraries are signed; lib.xml contains more verification data)
(Reserved)
Even though I do respect all the effort you may have put in this project, I'm still not too sure about it. As we've already seen and learned from Android and even iOS there's always the risk of a misuse of such an updating method as unauthorized code can be injected. I rather wait for updates to pass the official certification ways than let my apps update on their own and not knowing what exactly was downloaded.
You are right. With alpha 1 there is a risk of a MitM attack causing apps to download something they shouldn't. However, the framework is already in place to mitigate that - I just haven't had time to implement it fully.
All library ZIP files are signed on the server side with the LiveLibs private key, and the signature is checked by the SDK upon download. Starting with alpha 2, hints will also be signed, which will ensure that erroneous updates are never downloaded.
Also, you don't have to trust the LiveLibs.com site to do the updating. The SDK lets you specify alternate URLs for hints and for libraries.
Just stumbled across this link from your sig. Very cool idea. However, I want to know: have you tested it on a developer-locked phone? Dev-unlock allows the phone to execute code that doesn't have a Microsoft signature (Marketplace apps receive this on all DLLs) but user-replaced or self-compiled binaries won't have that signature. I don't know exactly how your libs worked, but from the look of things (based on your choice of languages) you're looking at monkey-patching the code in place. That's a cool idea, and may well get through Marketplace ingestion, but as soon as the patching is used, you'll have a file without a valid Marketplace signature, and the app won't run anymore...
At least, that's my guess on what would happen. If you can get around that, it would be incredible. That would provide a way to run homebrew code on dev-locked Windows Phones...
The way it worked with IronRuby is the Ruby code was interpreted on the fly. With Jurassic, the JavaScript is compiled into anonymous classes (IIRC from docs/forums on Jurassic.codeplex.com) and executed w/o ever creating separate assemblies. In other words, there's no monkey patching - just live emitted code via Reflection.Emit and similar methods. I'm in the process of getting alpha 2 ready for release now, actually.
Hmm, it's sounds quite interesting! However it's not a way to get an interop-unlock. Also (from the marketing side) it has another cons: an official updates via marketplace for some reasons are increasing number of app customers/downloads (so, good idea - if you have ads-based app - to publish updates at least monthly) but silent, "self-update" I afraid will not.
There's no reason to stop doing proper Marketplace-based updates. The biggest benefit of LiveLibs is the ability to quickly crush bugs instead of having to wait for Marketplace approval while your users complain and give your app bad ratings because of some simple bug.
Arktronic said:
There's no reason to stop doing proper Marketplace-based updates. The biggest benefit of LiveLibs is the ability to quickly crush bugs instead of having to wait for Marketplace approval while your users complain and give your app bad ratings because of some simple bug.
Click to expand...
Click to collapse
Agree. But your code also may have a bugs so it's still not an easy decision: should I add that app's overhead or better to spend more time/money for beta-testing
That, my friend, is entirely up to you
LiveLibs alpha 2 is out. Also, here's a little demo app I wrote using LiveLibs: Rando!

HTCutility.dll used for direct access to TCB chamber

As it is known that HTCUtility.dll will provide complete, unrestricted access to the TCB chamber on HTC devices, can this be used to unlock (at any level) the OS?
I have not heard anyone speaking of it and exists on my HTC Arrive. Seems to be a bypass for unrestricted access to anything within HTC devices.
I am looking at it myself, but thought I would share.
See details here...
http://labs.mwrinfosecurity.com/files/Advisories/mwri_htc-htcutility-kernmem_2011-11-10.pdf
Your link is down
very interesting but you link is down so please fix it so I can take a look. I too have a HTC arrive and have been working on an unlock.
Don't know what happened to the link.
Here is the link to the google docs version.
https://docs.google.com/viewer?a=v&...1C1HkN&sig=AHIEtbTwK-r8RyAyFmt1ai119m7EVAqsNA
-Paul
This looks promising, I'd like to know if what's written there is true ...
The paper is a couple months old, so it *could* have been patched by HTC... but hey, it also might not have been! This bears investigation post-haste.
It's easy enough to use this to execute some arbitrary code at high permissions, which is certainly useful as-is (do things like unrestricted registry and filesystem access). The real potential of it, though, is to turn off the security restrictions for specific apps. Essentially, get the benefits of a "fully unlocked" ROM but on a stock ROM, and only for the apps you specify.
One thing to note here: this is still going to require an interop-unlocked phone. It's opening a handle to a driver, and just like everything else that does so, it needs ID_CAP_INTEROPSERVICES. This is great news for owners of interop-unlocked/unlockabe phones (since this makes interop-unlock useful again) but probably doesn't help on 2nd-gen phones or on the Arrive (unless you want to roll back to NoDo, in which case this can probably be used to make an interop-unlock that works on Mango, though it wouldn't be easy).
I hope some one gets this working for the Arrive ASAP
Oh this was talked about a while back. It was patched back in NODO
Really? The paper is from only 3 months ago (assuming USA numeric date style, 2 months otherwise). You don't typically publish security advisories for things that were patched more than 6 months prior.
In any case, HTCUtility.dll still exists on my phone. No idea yet if that IOCTL still works, though. I'll try it out in any case, and report back.
For those asking about it for the Arrive though, you're likely out of luck even if this works. It is *not* a way to interop-unlock a phone, and it is *not* a way around interop-unlock. It's a way to do more things on an interop-unlocked phone. You can't even reach a driver (which is what HTCUtility.dll is) unless your app has ID_CAP_INTEROPSERVICES - that's what the capability is actually for, accessing drivers - and you can't install a homebrew app with that capability unless interop-unlocked (or on pre-Mango).
GoodDayToDie said:
I'll try it out in any case, and report back.
Click to expand...
Click to collapse
Thank you
GoodDayToDie said:
Really? The paper is from only 3 months ago (assuming USA numeric date style, 2 months otherwise). You don't typically publish security advisories for things that were patched more than 6 months prior.
In any case, HTCUtility.dll still exists on my phone. No idea yet if that IOCTL still works, though. I'll try it out in any case, and report back.
For those asking about it for the Arrive though, you're likely out of luck even if this works. It is *not* a way to interop-unlock a phone, and it is *not* a way around interop-unlock. It's a way to do more things on an interop-unlocked phone. You can't even reach a driver (which is what HTCUtility.dll is) unless your app has ID_CAP_INTEROPSERVICES - that's what the capability is actually for, accessing drivers - and you can't install a homebrew app with that capability unless interop-unlocked (or on pre-Mango).
Click to expand...
Click to collapse
Yeah I think it was mentioned here on XDA and it was believed to already have been patched.
I think by "patch" they mean that Interop was restricted as of Mango, thereby securing this exploit, in Mango. But for those that are Interop unlocked, this should still grant full access to everything else.
Just my observations. I have an Arrive and am not Interop unlocked yet, so I can't test it.
Looking at the hand-free provisioning to see if I can find a way to leverage that....
-Paul
It works. I successfully opened a handle, read a kernel-mode memory address, modified it, confirmed the modified value, and restored it.
Next trick: finding something really useful to change. Ideally, probably the process security info - if I can simply elevate a given process to full permissions, then I'm golden.
Will share code soon. If somebody knows where I can find the important part of the process info, let me know - I have a little familiarity with NT process contet blocks, but none with CE ones (if it even uses such a structure).
GoodDayToDie said:
It works. I successfully opened a handle, read a kernel-mode memory address, modified it, confirmed the modified value, and restored it.
Next trick: finding something really useful to change. Ideally, probably the process security info - if I can simply elevate a given process to full permissions, then I'm golden.
Will share code soon. If somebody knows where I can find the important part of the process info, let me know - I have a little familiarity with NT process contet blocks, but none with CE ones (if it even uses such a structure).
Click to expand...
Click to collapse
All the information looks like it is in the advisory. KDataStruct is what you want. That is equivalent to the PEB in Windows CE.
GoodDayToDie said:
It works. I successfully opened a handle, read a kernel-mode memory address, modified it, confirmed the modified value, and restored it.
Next trick: finding something really useful to change. Ideally, probably the process security info - if I can simply elevate a given process to full permissions, then I'm golden.
Will share code soon. If somebody knows where I can find the important part of the process info, let me know - I have a little familiarity with NT process contet blocks, but none with CE ones (if it even uses such a structure).
Click to expand...
Click to collapse
Can you confirm this works only on already Interop Unlocked device ?
Thx for your efforts.
Could htclv.dll be helpful in setting security on an app? It supports the following functions:
LVModInitialize LVModUninitialize LVModAuthenticateFile LVModRouting LVModAuthorize LVModGetPageHashData LVModCloseAuthenticationHandle LVModGetHash LVModProvisionSecurityForApplication LVModDeprovisionSecurityForApplication LVModGetSignerCertificateThumbprint LVModSetDeveloperUnlockState LVModAuthorizeVolatileCertificate LVModGetDeveloperUnlockState
In particular the "Deprovision Security for App" and "Get/set DeveloperUnlock" or maybe "Authorize Volatile Certificate"....
Or maybe htcpl.dll which seems to be the HTC policy engine interface. Supports:
GetFunctionTable PolicyCloseHandle PolicyEngineInit PolicyRuleAbortTransaction PolicyRuleAddRawData PolicyRuleBeginTransaction PolicyRuleBuildRawData PolicyRuleCommit PolicyRuleCommitTransaction PolicyRuleCreate PolicyRuleDelete PolicyRuleFindFirst PolicyRuleFindNext PolicyRuleGetInfo PolicyRuleOpen PolicyRuleParseRawData PolicyRuleReadRawData
These all look good to modify the security policies on HTC, assuming Interop-Unlocked.
-Paul
@dragonide: Confirmed, this requires interop-unlock since the very first step is opening a handle to a driver.
@Paul_Hammons: The LVMod functions look quite interesting indeed. Where are you getting these functions from (straight out of the DLLs, or some doc somewhere, or decompiled code, or...?), are they user or kernel entry points, and what permissions do they require? The ability to modify app security doesn't do as much good if you already have to be high-privileged to call it, though it might simplify my current goal.
@n0psl3d: Cool, I'll get to work on it.
@n0psl3d: KDataStruct contains kernel information, but I'm pretty sure what I need is in a PROCESS struct (such as is pointed to by pCurPrc). The problem is, I can't find any documentation for that struct. I'm searching online but so far coming up empty. CE doesn't seem to use PEBs or TEBs as I've seen them on NT (not terribly surprising, but annoying).
EDIT: I'm downloading the Embedded CE toolkit, which comes with source code. It'll take a while but hopefully that will have what I need.
OK, digging through the CE source I've found some interesting things. No idea if this will work yet; it'll be exciting just to make it compile.
PROCESS struct -> hTok (handle to a Token) -> phd (PHDATA, pointer to the handle data) -> pvObj (PVOID to the actual object, which is probably a TOKENINFO) -> psi (pointer to ADBI_SECURITY_INFO) -> contains the actual ACLs and privileges, and can be created from an account ID.
Probably the easiest option is to find a relatively high-privilege process and clone its token or some such. Token re-use (if I increment the reference count, this should work) may be easier. Modifying an existing token might also be doable.
Anyhow, I'm not going to have this finished tonight, but it'll get there. For those wondering wht you can do with this, it basically breaks you out of the sandbox entirely. You can call any function, access any resource, etc. that is available to a userland process (executing in kernel mode is also possible but trickier). Practically speaking, this makes all the other high-privilege COM DLLs useless - instead of ComFileRW, just use the file IO methods (anywhere you want), instead of DMXMLCOM just call ConfigProvXml directly. Even things like launching native EXEs directly should become possible (run those Opera ports on a stock ROM, for example).
I'm sorry, I still don't know what any of that means. But it sounds good! I wish I knew how to do this kind of stuff. Thanks for all of your work!

Hidden Google Account + Hidden Systemadminapp in LineageOS | Privacy infiltrated?...

Is the builtin app named "Storagemanager" a hidden system administrator in LineageOS 19.1?
I ask this because in LineageOS 14.1 Storagemanager is a systemadministrator app.
In LineageOS 14.1 under > settings > apps > special app access > deviceadministrators, nothing showed up by default, but then i pressed the three dots on the top right and selected "show system", then storage manager was shown as active system administrator app.
I had the option to disable it, which i did, as i dont want ANY app to be administrator as i consider myself as the device owner being the administrator in place, no need for an app to have any such administrative permissions.
Now in LineageOS 19.1 when you navigate to > settings > apps > special app access > deviceadministrators > the three dots on the top right corner to show system apps ARE GONE.
This makes me think storage manager is a secret/hidden system administrator that cannot be disabled in lineageOS 19.1 because the three dots at the top right have been removed in 19.1 basically making it IMPOSSIBLE to the device owner to remove unwanted systemadministrator apps.
If infact storagemanager is a secret systemadministrator app, why is that so, why was the option to disable this app from being a system administrator removed??
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Another question, in LineageOS 14.1 when i tried to open the calendar app, there was a prompt/popup saying "to use the calendar app you must add atleast one google account to your phone".
To be honest that scared me... considering that i use LineageOS purely for privacy and Google is the opposite of privacy.
That being said please keep in mind (this is very important), in LineageOS 14.1 when i opened the calendar app i was asked to add a Google account...
Here comes the things, in LineageOS 19.1 when i open the calendar app the prompt/popup says this: "before you can use the calendar app you must add atleast one calendar account".
That sounds very suspicious to me, because in 14.1 it was called google account and now in 19.1 its called callendar account, obviously my question is now... is the callendar account a google account just being called out in another way...?? If yes this is obviously a major manipulation because not naming google here will trick most likely any LineageOS user to creating a callendar account without even knowing that in reality what they just did was to create a goolge account on their privacy phone...... what sort of manipulative person would make such a nightmare come true? At this point i must ask if LineageOS even is a privacy option anymore... or has it been inflitrated by google already...
Another suspicous change i detected after switching from LineageOS 14.1 to 19.1 is that under > settings > apps > special app access > useage access, zero apps are listed, but once i pressed the three dots in the top right corner, bluetooth, media storage, nfc service, package installer, permissions controller, phone services, shell, storage manager, and systemui where ALL shown as "access to useage data = allowed". This really makes me woonder what is going on with LineageOS, what reason is there to grant all these apps access to useage data by default?? In LineageOS 14.1 there was not a single app even the system ones, that had useage data access set to allowed, infact in 14.1 all apps where set to be not allowed to access useage data. What is going on here and why??
Another change i noticed from LineageOS 14.1 to 19.1 is that under > settings > privacy, in 14.1 i was able to edit individual app permissions and enable or disable the privacy mode, in 19.1 there seems to be a new service so called "trust" which is responsible for privacy, im fine with that, however i am missing a very important privacy setting that was present in 14.1 but is not in 19.1 and that is "start on boot". On 14.1 i was able to select any specific app and deny or allow it's access to start itself on boot. Why is this important setting not present in 19.1?
In 19.1 under > settings > privacy > permissions manager, there is no option to deny apps to "start on boot".
My guess is, either 19.1 blocks all apps from starting on boot by default, or it allows it by default for all apps and there is simply no option to stop that which would be a major privacy downgrade compared to older versions...
thank you for posting this, my eyes have been opened.
Already 100+ views but only 1 comment, hmm...
Nobody knows anything?
I seriously want to get ansers to the above questions... these are real concerns to me.
My questions don't seem to get to much attention here, not even to mention a reply.
Does anyone know a forum or another place where i can ask what is written above?
I wan't answers, these are real privacy concerns!
Hmmm. I don't have answers to your specific questions. In another thread, you posted, generally, that most people don't care about your concerns. Very true. I wholeheartedly support you advocating your views; however encourage you to tread lightly if you want people to reply to you.
The only sure answer to your situation, and for me, also, is to grab the source of the rom which suits you, one without gapps, and then hire a dev to help go through the source to answer your questions. Then edit as needed and re-compile.
I am familiar enough with the process in general however don't have the skills to do it myself. LOS and its variants are probably a good place to start. I am using a vanilla build of RROS on A10 on a Oneplus8 pro. Since we have tools for A11 that is good but the tools generally aren't available for some time after a new Android release.
Your question might be asked of the Lineage devs, though I am sure they are busy and they are not forcing you to use their (free) product. There are also Linux phones available, although so far the hardware I have seen is not great.
What phone are you using? If you are serious about this, and are willing to support a dev project as above, we would have to settle on one or two similar OSes on the same Android version, and hire someone for a few days. This would be expensive. I, for one, would contribute. If we found 10 or 20 like minded people a crowdfunding page could be set up. If we did not reach the necessary amount then the money could be refunded.
To tell the truth, G keeps putting more obstacles in the way of modders and I am getting to the point where its not worth the trouble. Hopefully the hardware for Linux phones will improve.
Thoughts??
gregpilot said:
Hmmm. I don't have answers to your specific questions. In another thread, you posted, generally, that most people don't care about your concerns. Very true. I wholeheartedly support you advocating your views; however encourage you to tread lightly if you want people to reply to you.
The only sure answer to your situation, and for me, also, is to grab the source of the rom which suits you, one without gapps, and then hire a dev to help go through the source to answer your questions. Then edit as needed and re-compile.
I am familiar enough with the process in general however don't have the skills to do it myself. LOS and its variants are probably a good place to start. I am using a vanilla build of RROS on A10 on a Oneplus8 pro. Since we have tools for A11 that is good but the tools generally aren't available for some time after a new Android release.
Your question might be asked of the Lineage devs, though I am sure they are busy and they are not forcing you to use their (free) product. There are also Linux phones available, although so far the hardware I have seen is not great.
What phone are you using? If you are serious about this, and are willing to support a dev project as above, we would have to settle on one or two similar OSes on the same Android version, and hire someone for a few days. This would be expensive. I, for one, would contribute. If we found 10 or 20 like minded people a crowdfunding page could be set up. If we did not reach the necessary amount then the money could be refunded.
To tell the truth, G keeps putting more obstacles in the way of modders and I am getting to the point where its not worth the trouble. Hopefully the hardware for Linux phones will improve.
Thoughts??
Click to expand...
Click to collapse
My knownledge on programming is very limited, i would not be able to contribute to any meaningful software really. Indeed my language can quickly become not so nice when it comes to privacy, i don't like how the masses throw away their freedom.
Think about it, google chrome holds around 60% market share, then combine all chromium browsers and we are at around 90% while Firefox is at around 4%. Then think about how many people use Gmail and how many use privacy alternatives like Protonmail. Think about how many people use the standard google android os on their phone and how many have iphones and compare that to how many people use a linux phone or a custom os like lineage or graphene...
Anyone can protect their privacy, there are many great videos on youtube.
Here are some examples:
The Hated One
Creating deeply researched and well-sourced essays critiquing some of the most important issues of our time in a non-partisan, non-sectarian way. Mass surveillance is a backdoor into freedom of speech. Knowledge is power. And power corrupts. https://twitter.com/The_HatedOne_...
yewtu.be
Rob Braxman Tech
I'm the Internet Privacy Guy. I'm a public interest hacker and technologist. I use my extensive knowledge of cybersecurity and tech to serve the public good. I care about privacy. I warn you of digital manipulation, disinformation, mass surveillance. I also discuss alternative communication...
yewtu.be
Techlore
Techlore was built to prove privacy & security are not just achievable - but simple and accessible. We manage several projects, communities, and content to spread privacy & security to the masses. Visit our Website: https://techlore.tech
yewtu.be
Mental Outlaw
Only cool people visit https://based.win/
yewtu.be
Naomi Brockwell: NBTV
www.nbtv.media NBTV teaches people how to reclaim control of their lives in the digital age. We give people the tools they need to take back their data, money, and free online expression. - Your Money - Your Data - Your Life Empower Yourself. Created and hosted by Naomi Brockwell Our...
yewtu.be
Louis Rossmann
I discuss random things of interest to me. This is, and always will be, my personal variety show. I teach Macbook component level logic board repair from a common sense, everyman's perspective. I try to make it seem viable, and entertaining. I also go over business concepts & philosophy that...
yewtu.be
The Linux Experiment
Making Linux accessible: no techno lingo, no super technical content. Just Linux desktop news, simple tutorials, application spotlights, and opinion pieces trying to stay positive, without gatekeeping. 👏 SUPPORT THE CHANNEL: Get access to a weekly podcast, vote on the next topics I cover, and...
yewtu.be
I use yewtu.be over youtube.com to avoid google.
See, google chrome and google search know all of your browsing history, there is no privacy, they make a profile of everyone who uses any of their services. Even if you use google without an account chances are they can identify you and your device. Same with gmail... it reads (scans) all of your emails and sell the content to adverstisers. I don't know how people can be ****** enough to use these services when you can simply switch to alternatives that are working perfectly flawless and don't spy on you.
Privacy can be easy.
Instead of google chrome > Firefox or even better Librewolf
Instead of google search > brave search or duckduckgo
Instead of gmail > protonmail
Instead of google android > lineage or graphene
It's not that hard...
Nobody forced me to use lineageos obviously i installed it on my own, i don't like the changes from 14.1 to 19.1 as they seem very suspicious to me, but i will still preffer LOS at any time over the standard google crap.
Before using a google phone id rather not use a phone at all.
Speaking about phones, people who buy iphones have lost their mind, i mean it.
My phone is a samsung S7, as long as it is functional i will not buy a new phone, besides i don't have the money now... your suggestion sounds interesting but i'm not into that really.
In the mean time i will repeat what you said, we can only wait for linux phones to support modern hardware and get one of those in the future.
GrapheneOS seems like the best choice as of now but it's really ironic that it works only on google pixel phones...
Most people don't care that they are been spied on. They are after the they easy life. Want all the mod cons to make things easier. Unfortunately you can't change peoples habits. Have started seen a lot of custom rooms with suspicious files, that makes a person wonder if google is paying the devs to include their software.
ShaunSmit said:
Most people don't care that they are been spied on
Click to expand...
Click to collapse
Well, plenty of people do. For example, just see XDA's thread for FairEmail:
https://forum.xda-developers.com/t/...en-source-privacy-oriented-email-app.3824168/
Privacydroid said:
builtin app named "Storagemanager" a hidden system administrator in LineageOS 19.1?
Click to expand...
Click to collapse
Privacydroid said:
My questions don't seem to get to much attention here
Click to expand...
Click to collapse
Well, I am interested in and have subscribed to this topic... it's just that LOS19 is still not really a hot topic for me yet (still fighting with LOS18, lol).
SigmundDroid said:
Well, plenty of people do. For example, just see XDA's thread for FairEmail:
https://forum.xda-developers.com/t/...en-source-privacy-oriented-email-app.3824168/
Well, I am interested in and have subscribed to this topic... it's just that LOS19 is still not really a hot topic for me yet (still fighting with LOS18, lol).
Click to expand...
Click to collapse
My bet lineage 1.18 is also affected by what i described above.
there might be some privacy oriented custom roms. have you checked ?
e Foundation - deGoogled unGoogled smartphone operating systems and online services - your data is your data
your data is YOUR data
e.foundation
or
Purism– Librem 5
Introducing the – Librem 5 by Purism
puri.sm
Fytdyh said:
there might be some privacy oriented custom roms. have you checked ?
e Foundation - deGoogled unGoogled smartphone operating systems and online services - your data is your data
your data is YOUR data
e.foundation
or
Purism– Librem 5
Introducing the – Librem 5 by Purism
puri.sm
Click to expand...
Click to collapse
Never heared about https://e.foundation/ will have a look at that one.
The librem 5 has outdated hardware and is expensive, but that's not the problem... the shipping times are totally ******. Can take years for you to ever recive that phone.
Besides, that doesn't anser any of my above questions about LOS, guess that wasn't your intention anyways.
Privacydroid said:
Never heared about https://e.foundation/ will have a look at that one.
The librem 5 has outdated hardware and is expensive, but that's not the problem... the shipping times are totally ******. Can take years for you to ever recive that phone.
Besides, that doesn't anser any of my above questions about LOS, guess that wasn't your intention anyways.
Click to expand...
Click to collapse
about your privacy related inquiries, i recon that Lineage, while it used to stand for privacy in the first years, it started to be seen more as a way to get updates on no longer supported devices. and given that almost every user that uses lineage also had flashed gapps, makes sense for them to add gapps in their everyday custom rom as well. Google has its sets of downsides and upsides. Privacy is good, but functionality is more important. a lot of good apps rely on google implemented functionality. Say that i would need to drive around the country. Privacy is my preference, but i need a fully functional bugless waze. Waze without google play services is a mess, if you get it working. Android Auto without gapps isnt possible.
For my devices, at least, Lineage did not have gapps baked in. For me, a good thing. There are a few vanilla roms left out there. Even without gapps, there are still leaks to google (the captive portal connectivity check, for one) but the footprint is much smaller.
For me, I have found open source alternatives to ALL of googles bloat and spyware. Not as convienient, sure. Pain in the a** sometimes, yes. Wayze? Host your own cameras, use openstreetmap (osmand) instead. google has made it very convienient with their ecosystem. I, for one, do not wish to share my life with them.
Fytdyh said:
about your privacy related inquiries, i recon that Lineage, while it used to stand for privacy in the first years, it started to be seen more as a way to get updates on no longer supported devices. and given that almost every user that uses lineage also had flashed gapps, makes sense for them to add gapps in their everyday custom rom as well. Google has its sets of downsides and upsides. Privacy is good, but functionality is more important. a lot of good apps rely on google implemented functionality. Say that i would need to drive around the country. Privacy is my preference, but i need a fully functional bugless waze. Waze without google play services is a mess, if you get it working. Android Auto without gapps isnt possible.
Click to expand...
Click to collapse
No idea why people use gapps or microg, it's anti privacy so i do not ever use any of that.
I do not use any google services in my life and i don't miss them or need them for anything, i have alternatives.
I have to disagree on this phrase "Privacy is good, but functionality is more important".
If you are forced to give up privacy to use a service or product then the service or product is not worth being used.
Privacy is way more important than functionality, besides 90% of the time you can find perfectly working privacy friendly alternatives for almost anything.
Instead of google maps for example i use these:
Map at DuckDuckGo
DuckDuckGo. Privacy, Simplified.
duckduckgo.com
OpenStreetMap
OpenStreetMap is a map of the world, created by people like you and free to use under an open license.
www.openstreetmap.org
Not sure if that is helpful while driving, would be fine for me, never heared about waze.
I banned Google of my life and im happy with that, wasn't that hard after all.
gregpilot said:
For my devices, at least, Lineage did not have gapps baked in. For me, a good thing. There are a few vanilla roms left out there. Even without gapps, there are still leaks to google (the captive portal connectivity check, for one) but the footprint is much smaller.
For me, I have found open source alternatives to ALL of googles bloat and spyware. Not as convienient, sure. Pain in the a** sometimes, yes. Wayze? Host your own cameras, use openstreetmap (osmand) instead. google has made it very convienient with their ecosystem. I, for one, do not wish to share my life with them.
Click to expand...
Click to collapse
My lineage version also doesn't have gapps in it, atleast nothing that is visible or accessable to me..
Not sure about the calendar thing described above..
What do you mean by captive portal connectivity check, what's that?
I beleve LOS uses Googls SUPL Server's too.
Great to meet someone with the same mindset, way to many people throw away their privacy which is equal to freedom, for "convienience"... It's crazy.
What do you mean by captive portal connectivity check, what's that?
I beleve LOS uses Googls SUPL Server's too.
Click to expand...
Click to collapse
Every time your device makes a network connection (wifi or cellular) it pings "connectivitycheck.gstatic.com". Not really a ping, its a http request to check for internet connectivity. Successful completion will remove the "x" by the wifi and/or cell data icon. Although if the address is blocked on your router the "x" will remain, and your device will complain about not having internet access....but it does! (so long as your wifi router/cell net has access). But wifi calling won't work.
For more, go here:
https://forum.xda-developers.com/t/guide-how-to-avoid-the-captive-portal-checkin-to-google.3927561/
You can host your own check server, or....just disable the check.
I have confirmed this works on A9 and A10 AOSP roms. There are different variants of this command for different roms. You may have to try several of them.
From an adb shell: (needs root)
Code:
:/ # settings put global captive_portal_mode 0
***********THIS DISABLES GOOGLE CONN CHECK***** A9 and 10
To verify it is disabled:
Code:
:/ # settings list global | grep portal
Should return "captive_portal_mode=0"
If you do connect to a captive portal page (public wifi, open connection) where the owner wants a login cred then the side effect of this is that it won't work.
The issue is that everytime the check is run, google will get your IP address and browser/OS and can infer your coarse location even if location services are turned off. I have all google domains blocked on my wifi so to keep my wife happy I disable the check on her phone also so she does not get the "no internet" notification.
Another hole is the agps (assisted gps) database downloaded from google or your phone carrier regardless of enabled location. I believe you can edit the server which is contacted, again, will require root.
This post says you can edit the gps.conf file:
https://forum.xda-developers.com/t/a-gps-supl-protocol-and-privacy-breaching.3602863/
Anyone try that? What abour removing "supl" from the apn type?
But I'm not there, yet, I usually have location selected off. Rob Braxman has a good vid here, use freetube:
https://github.com/FreeTubeApp/FreeTube
https://www.youtube.com/watch?v=vbBkZ-MROEk?
Again as stated earlier the best fix is to find a AOSP source of a rom you like, edit (or hire a dev) to edit out all of the bloat and google tracking which may remain, and re-compile.
gregpilot said:
Every time your device makes a network connection (wifi or cellular) it pings "connectivitycheck.gstatic.com". Not really a ping, its a http request to check for internet connectivity. Successful completion will remove the "x" by the wifi and/or cell data icon. Although if the address is blocked on your router the "x" will remain, and your device will complain about not having internet access....but it does! (so long as your wifi router/cell net has access). But wifi calling won't work.
For more, go here:
https://forum.xda-developers.com/t/guide-how-to-avoid-the-captive-portal-checkin-to-google.3927561/
You can host your own check server, or....just disable the check.
I have confirmed this works on A9 and A10 AOSP roms. There are different variants of this command for different roms. You may have to try several of them.
From an adb shell: (needs root)
Code:
:/ # settings put global captive_portal_mode 0
***********THIS DISABLES GOOGLE CONN CHECK***** A9 and 10
To verify it is disabled:
Code:
:/ # settings list global | grep portal
Should return "captive_portal_mode=0"
If you do connect to a captive portal page (public wifi, open connection) where the owner wants a login cred then the side effect of this is that it won't work.
The issue is that everytime the check is run, google will get your IP address and browser/OS and can infer your coarse location even if location services are turned off. I have all google domains blocked on my wifi so to keep my wife happy I disable the check on her phone also so she does not get the "no internet" notification.
Another hole is the agps (assisted gps) database downloaded from google or your phone carrier regardless of enabled location. I believe you can edit the server which is contacted, again, will require root.
This post says you can edit the gps.conf file:
https://forum.xda-developers.com/t/a-gps-supl-protocol-and-privacy-breaching.3602863/
Anyone try that? What abour removing "supl" from the apn type?
But I'm not there, yet, I usually have location selected off. Rob Braxman has a good vid here, use freetube:
https://github.com/FreeTubeApp/FreeTube
https://www.youtube.com/watch?v=vbBkZ-MROEk?
Again as stated earlier the best fix is to find a AOSP source of a rom you like, edit (or hire a dev) to edit out all of the bloat and google tracking which may remain, and re-compile.
Click to expand...
Click to collapse
Thank you for this interesting reply, i will attempt to remove captive portal connectivity check / connectivitycheck.gstatic.com with adb by following your provided command
settings put global captive_portal_mode 0
settings list global | grep portal
However you mentioned this needs root, my device is not root so this basically wont work without root?
I could use magisk for rooting.
Rob Braxman is great, watching all of his content. But i couldn't find any instructions to disable googles SUPL.
I also don't think rob has a video for captive portal connectivity check, or does he?
From my experience with his videos he acts as if degoogled phones with lineage are 90% better than normal phones, so i guess the other 10% are things like SUPL and captive portal connectivity check which are not that easy to disable..? If google knows my locations on a degoogled device with lineageos by using captive portal connectivity check then hell, that#äs really disturbing i had no idea that they still know where my phone is / where i am, very scary...
However you mentioned this needs root, my device is not root so this basically wont work without root?
Click to expand...
Click to collapse
Yes, the command needs root. Also there are some differences based on your version of Android.
The following is old, but has some good stuff:
https://www.reddit.com/r/privacy/comments/cldrym
The biggest help for this is to not install google services, and use a vanilla rom without it.
As far as captive portal, that is fixable.
The DNS servers can be changed from googles, but it is less straightforward.
NLP is not present without gapps, from what I have read
The SUPL issue, for me, is a WIP. I will happily deal with slow GPS TTFF. What I don't know:
1. Editing (removing) the supl entry in the APN file, what affect, if any;
2. Editing /vendor/etc/gps.conf (newer roms have the file in /vendor) to show a non g server;
3. the big question, which GPS radio chips may or may not have SUPL on the hardware level and therefore, if so, we are unable to fix.
gregpilot said:
Yes, the command needs root. Also there are some differences based on your version of Android.
The following is old, but has some good stuff:
https://www.reddit.com/r/privacy/comments/cldrym
The biggest help for this is to not install google services, and use a vanilla rom without it.
As far as captive portal, that is fixable.
The DNS servers can be changed from googles, but it is less straightforward.
NLP is not present without gapps, from what I have read
The SUPL issue, for me, is a WIP. I will happily deal with slow GPS TTFF. What I don't know:
1. Editing (removing) the supl entry in the APN file, what affect, if any;
2. Editing /vendor/etc/gps.conf (newer roms have the file in /vendor) to show a non g server;
3. the big question, which GPS radio chips may or may not have SUPL on the hardware level and therefore, if so, we are unable to fix.
Click to expand...
Click to collapse
I just tried using your solution for the onnectivitycheck.gstatic.com issue by using the provided command
:/ # settings put global captive_portal_mode 0
Before i that i rooted the phone with magisk, the command did not work (i attempted executing the command on cmd in windows inside the adb/fastboot folder, usb drivers are also installed.
I was able to start the daemon by using adb devices but the command you provided didn't work.
The phone was booted normally during the test, maybe i should instead go to downloadmode or recovery mode? The link you send for more instructions says we should use a cmd app on the phone to exectue this command (a pc is not mentioned), however i don't find any cmd app on the phone (lineageos 19.1).
Privacydroid said:
I just tried using your solution for the onnectivitycheck.gstatic.com issue by using the provided command
:/ # settings put global captive_portal_mode 0
Before i that i rooted the phone with magisk, the command did not work (i attempted executing the command on cmd in windows inside the adb/fastboot folder, usb drivers are also installed.
I was able to start the daemon by using adb devices but the command you provided didn't work.
The phone was booted normally during the test, maybe i should instead go to downloadmode or recovery mode? The link you send for more instructions says we should use a cmd app on the phone to exectue this command (a pc is not mentioned), however i don't find any cmd app on the phone (lineageos 19.1).
Click to expand...
Click to collapse
No, the command is made from a root shell on the phone directly, or through an adb shell.
First:
open a cmd window on your pc, cd to your adb folder. Do you have "minimal adb and fastboot" installed on your pc? Its on the forums here.
Plug in your phone to USB, do not boot to recovery or download mode. Just the normal system.
From the open cmd window, issue "adb devices". What appears?
If "unauthorized", you have to enable adb debugging in developer options. You have that enabled, right? If you do you will get a prompt on the phone to allow adb debugging access when you connect over USB.
If you get "device XXXXX", I do not recall the number of characters, then you can proceed.
issue "adb shell"
you should get a shell prompt (your phone cmd shell)
Issue "su"
If you are rooted magisk may prompt you to allow root
issue "whoami", this has to return "root".
Then issue the command I gave you. " settings put global captive_portal_mode 0"
The second string "settings list global | grep portal" is only to verify the success of the first command.
You don't need adb for this, you can also enable the "local terminal" in developer options. Or use your favorite terminal. I like Termux.
Open the terminal from your app drawer
issue "su"
Again, you should get a magisk prompt requesting permissions, allow it
issue "whoami" , verify root
then issue the same two commands.
What version of Android are you on?

Categories

Resources