Geo-Encryption - General Questions and Answers

Do you guys think that a geo-encryption app would be possible on Android?
I am talking about creating a simple app that encrypts data based on your location.
I am thinking about doing this as my University project, I have some java knowledge but its basic so Im wondering if I am biting off more then I can chew with this idea.

no one that can help?

What do you mean by geo-encryption? I can't figure out what it is you intend to do?

Geo-encryption
You might want to check out the white paper at the geocodex website. Its url is the traditional www dot geocodex dot com. (As a new registrant, I can't type in the link myself.)
We haven't looked at Android but we do have a geo-encryption application up and running in the Windoes Mobile environment.
Mark

@Gene Poole
geo-encryption is when data is encrypted or decrypted based on your location using GPS.
@markseiler
thanks I will check that out.
In your opinion, is it possible to do this by 1 person with moderate to basic java knowledge?
Im not looking to make it overly complex, just need it to decrypt/encrypt a basic text file using location.
Also it only needs to work while the app is running so no need to have it part of the operating system.

so what's the problem now?

RAMMANN said:
so what's the problem now?
Click to expand...
Click to collapse
i dont have a problem. I just want to find out the experts opinion on here if its doable or not. Like if it would take a long time and need a lot of knowledge. I only have till March.

What should be so hard about it?
Can you code in Java?
If so, just create your java app for android, get the GPS informations (use already written libraries), think about an algorithm to decrypt with some tolerance (I mean GPS in the consumer market isn't that precise, and you should be able to decrypt it in a specific radius), and then you've done it already.
If you know Java and if you've written your own code, too, you should have a working app in a week.

UpSpin said:
What should be so hard about it?
Can you code in Java?
If so, just create your java app for android, get the GPS informations (use already written libraries), think about an algorithm to decrypt with some tolerance (I mean GPS in the consumer market isn't that precise, and you should be able to decrypt it in a specific radius), and then you've done it already.
If you know Java and if you've written your own code, too, you should have a working app in a week.
Click to expand...
Click to collapse
I have done Java yes but I am no expert.
I am asking as I have seen already working implementations and they all use time data too so that over complicates things.
So you think it would not be too hard to implement getting coordinates from GPS into the DES algorithm without much problems?

I would imagine that Android / java already have APIs for doing encryption and pulling GPS coordinates. You just need to string those together and you have your app.

ivolol said:
I would imagine that Android / java already have APIs for doing encryption and pulling GPS coordinates. You just need to string those together and you have your app.
Click to expand...
Click to collapse
I haven't read the white paper, but there has to be more to it than that. It would be impossible to enforce a simple cipher as you could always fake the GPS coordinates. There must be some kind of handshaking going on.

Gene Poole said:
I haven't read the white paper, but there has to be more to it than that. It would be impossible to enforce a simple cipher as you could always fake the GPS coordinates. There must be some kind of handshaking going on.
Click to expand...
Click to collapse
yeah thats true.
I have not been told that it NEEDS to be secure as its a idea im researching so if I can make it complex then I so be it. I just need to find out from supervisor if a simple method will suffice.

Hi Nekromantik, I'm wondering if you could do it or not ?! because I have the same project now ... if you have anything that can help me it's will be kind of you to share it with me.
Thank you in advance

Related

programming on g tab

First of all, when I searched for doing programming on an android device, I got a kazillion results on programming an android app. I don't want that. Currently, what are the languages that I can write and compile on an android device? Is java one of these?
I've always wondered why noone has posted a static gcc build for android. gcc g++ gcj, they all should cross compile. You might have to enable swap to use them though.
Android basically runs Java. That's the simple answer.
You might find some interesting reading on Eclipse with the google plugins.
If WYSIWYG/RAD environments are more to your liking, check out the "google app inventor."
goodintentions said:
First of all, when I searched for doing programming on an android device, I got a kazillion results on programming an android app. I don't want that. Currently, what are the languages that I can write and compile on an android device? Is java one of these?
Click to expand...
Click to collapse
http://forum.xda-developers.com/forumdisplay.php?f=613
Um, guys, I said I don't care about building apps. I wanted to know if I could write and compile java on an android tablet.
Not quite java...
First, Android doesn't *quite* run Java. It runs Dalvik. That's a tweaked version of Java to help google not use the lawsuit with Sun/Oracle. There's a preprocessor you have to run over he Java bytecodes to get Dalvik code. This is why you can't simply port (or rather, build, given that there's a Linux under there) gcj and use it as is - you need the jvm->Dalvik translator.
The good news is - that runs on Android. There's a Clojure (a JVM/.net language) port for android that uses that translator to run code. While it's not up to building production code, it's fine for writing/testing code on android. I assume the JRuby port also uses it.
If all you're interested in is programming on a g tab, there's lots of options, most notably Google SL4A package (python, ruby, beanshell, sh - I think). But you can find Scheme, BrainF*ck, Pascal, Basic, etc. No Java, but I found at least three languages that run on the Dalvik VM (Clojure, JRuby, and Frink) that let you access some or all of the Android APIs. If you want to explore the Android APIs, one of these will probably work.
Finally, there's IDEDroid. That runs locally, but looks like it exports the compile and execution to their web server. It has support for lots (and lots and lots) of languages - including Java. If you just want edit/run small programs to play with the language, this might be just the ticket. I think I'm going to install it so I can play with haskell....
I wonder. Why in the world hasn't anyone developed a way to write and compile java code on android?
GNU has gcj, I'm fairly certain the same tools you use to compile a kernel would work to make an ARM/Android version.
muqali said:
GNU has gcj, I'm fairly certain the same tools you use to compile a kernel would work to make an ARM/Android version.
Click to expand...
Click to collapse
Could you please clarify? I guess I'm seeing the potential to incorporate the gtab into my work at the lab. Let just say we're a bunch of engineers trying to act like IT programmers. Why hire an honest to god programmer when you could have your engineers lose sleep over trying to program the machines?
So, please could you stop giving me single sentence answers? If I get the gtab will I be able to use it to write, debug, compile, etc. java codes? We've been doing our own things with java and it's too late to switch to something else. I'm sure it's possible, I'm just having trouble finding the answer in search as it seems noone has ever brought this up before. Ever.
Would the following be what I'm looking for?
http://www.getjar.com/mobile/38541/java-programming-for-android-os-all/
So, I take it that it is not possible to write, debug, and compile java code on an android tablet?
goodintentions said:
So, I take it that it is not possible to write, debug, and compile java code on an android tablet?
Click to expand...
Click to collapse
I did mis-understand you initial post on my first reply.
Now that I understand you question, I'm a bit baffled as to 'Why?'
A tablet just doesn't seem to be a very conducive platform to entering and compiling code.
I don't know about any development tools meant to run on android directly. But there are people running ubuntu on their tablets.
Zaphod-Beeblebrox said:
I did mis-understand you initial post on my first reply.
Click to expand...
Click to collapse
I don't understand how you could have misunderstood my original post. Here it is.
I said, and I quote:
First of all, when I searched for doing programming on an android device, I got a kazillion results on programming an android app. I don't want that. Currently, what are the languages that I can write and compile on an android device? Is java one of these?
Click to expand...
Click to collapse
I don't how else I can make it clearer. I'm an engineer, not an idiot. A simple google search turned up millions of links to how to manage android projects on a pc. Why in the world would I be asking this? And I even said I google searched and it turned up nothing.
Now that I understand you question, I'm a bit baffled as to 'Why?'
Click to expand...
Click to collapse
For the sake of convienience... and to baffle my colleagues.
I don't know about any development tools meant to run on android directly. But there are people running ubuntu on their tablets.
Click to expand...
Click to collapse
The whole point of having a tablet is its light weight and the touch screen. I'd like to be able to take it to meetings, take notes with a stylus, show colleagues basic autocad drawings, write and debug java codes for some of our projects, etc. This is not to say I want to use it as my main device. I will still be using either my laptop or my desktop for my projects, but having something like the viewsonic gtab to carry around and do these things seem cool to me.
I'm just baffled why there hasn't been an app development to run/compile java code on the android OS.
Here is a Online IDE that works pretty good (not for java): http://www.coderun.com/ide/
Or
This one will let you compile and run just about anything including java: http://ideone.com/
Sure glad I tried to help.
Prick.
Zaphod-Beeblebrox said:
Sure glad I tried to help.
Prick.
Click to expand...
Click to collapse
Yes, I'm a prick. I fully admit this. This attitude came from years of experience with 1337s online. When I first started getting into linux, and this was back in the days when there was no visual interface for installation and you had to type in a dozen commands for every step of the way while it asks you for the specific models of your peripherals, I searched for several days on solutions pertaining to a problem I ran into. After being fairly confident that there was no answer to it, I signed into a linux forum and asked about it. I got a couple one-liner answers that made no sense, a couple answers that assumed I was an idiot so they answered the wrong thing, and half a dozen "you're an idiot, go away" answers.
My first rule of thumb is if you could interpret a person's question at least 2 ways, then without further info assume the interpretation that doesn't include assuming the other person is an idiot. And this is for an obscure question. My original post clearly stated I was talking about debuging and compiling java on the android tablet itself. I specifically worded my question like that because I knew people were going to assume I was talking about the thing you assumed.
This 1337 attitude online is getting old.
the3dman said:
Here is a Online IDE that works pretty good (not for java): http://www.coderun.com/ide/
Or
This one will let you compile and run just about anything including java: http://ideone.com/
Click to expand...
Click to collapse
Thanks. I guess this is what I will have to go with for now. I'm sure I'm not the only one who has thought of this before. Surely, if you could run it on a linux distro such as ubuntu, then I'm sure it's possible to do the same thing on a different OS that runs on the same processor. Why in the world hasn't anyone come up with this yet?
goodintentions said:
Why in the world hasn't anyone come up with this yet?
Click to expand...
Click to collapse
Sounds like its up to you to save the day!
adampdx said:
Sounds like its up to you to save the day!
Click to expand...
Click to collapse
I'm a materials/structural engineer who's an amateur programmer. I practically live in my lab. Sure, the other engineers often look at my programming work with oohs and aahs, but I assure you they look like something put together by an idiot if you're a software engineer. Something like this is several miles above my head. Most of my work look like spaghetti code anyway.
goodintentions said:
I'm just baffled why there hasn't been an app development to run/compile java code on the android OS.
Click to expand...
Click to collapse
B/c any real programmer would probably blow a hole in his head trying to write/debug code on a tablet.
HKChad said:
B/c any real programmer would probably blow a hole in his head trying to write/debug code on a tablet.
Click to expand...
Click to collapse
The same could be said about autocad, and yet there is an autocad app for it, given that the capabilities are limited.

How do I begin developing an app that controls my computer?

Hi guys,
I am new to app development and I have seen a lot of articles about apps that control the computer, but how would I actually go about making one? It doesn't need to be over Wifi either; it just has to be able to do basic keyboard actions over USB.
- Adam
Bump. Anyone know where I could start?
Start with c+ and toss in a little Java coding.
amarcott11 said:
Bump. Anyone know where I could start?
Click to expand...
Click to collapse
You haven't even described what platform you're writing said app for.
Android apps are mostly Java... The rest, I dunno. MS is probably dotNET, apple is... objective C I think?
Sorry for the lack of information. All I know so far is I have Eclipse and ADT (I am developing an Android app). I understand XML and how to develop the GUI, but when it comes to making the app communicate with a computer, I don't have a clue where to begin or how to do it.
Any tips or guidelines on tools to use or how to start are appreciated.
amarcott11 said:
Sorry for the lack of information. All I know so far is I have Eclipse and ADT (I am developing an Android app). I understand XML and how to develop the GUI, but when it comes to making the app communicate with a computer, I don't have a clue where to begin or how to do it.
Any tips or guidelines on tools to use or how to start are appreciated.
Click to expand...
Click to collapse
By having a server program running on your computer which accepts data you send from your android.
If you want it to be difficult, do it over usb, the easy way would be wifi.
Check up on "sockets".
Thanks for the reply. The only problem is, I need it to have very fast response time. I would like it to be as similar to a USB keyboard as possible, so I don't think WiFi would work. What makes doing it over USB difficult?
Do you have the server side app already? what exactly are you trying to control on your computer?
It doesn't matter what I'm controlling, I just want to be able to get my app to send information that a server side program can take and be able to keyboard map.
So I'll need to code with C++ for the server side and java for the app itself?
Plus, from what I've read, I've learned that the Android platform doesn't support USB hosting. Is this true? I've seen ways around it but it seems pretty cryptic.
Sent from my Galaxy Nexus using XDA App
There already is one that is apart of the android market and you can even use it on another computer It's called Team viewer not sure if this would help you or not, but I liked it when I needed to use it.
You can do app development on a pc emeulator instead of your phone (if thats what your asking) and Google App Inventor is great, but servers are closing soon. So goodluck!
Yeah I would start looking up about c+, c++, and java coding.... goodluck
I appreciate the help. Ryan1918, I have used Teamviewer myself, but I am looking to develop more of a controller, as opposed to a remote desktop app.
amarcott11 said:
Thanks for the reply. The only problem is, I need it to have very fast response time. I would like it to be as similar to a USB keyboard as possible, so I don't think WiFi would work. What makes doing it over USB difficult?
Click to expand...
Click to collapse
Both can be done with java and if you program it right and the wifi signal is good you shouldnt have much of a delay.
It will be difficult to use the USB as a network interface for your application.
Using TCP/IP or UDP over Wifi will be much much easier.
I don't mean to ignore what you're saying about WiFi, but I strongly believe that for the market this app will be directed toward, USB will be necessary. I don't feel comfortable giving away my idea, but just know that my goal is to make the responsiveness virtually seamless if it is at all possible.
I will test it out with WiFi first, but in case I don't get the results I'm looking for, can you expand a little more on USB?
Will it only be hard for me on the developing side, or will the consumer have to also put in extra effort to get it to work over USB (installing other apps, rooting, etc.)? If I was to develop the app around USB, I would want it to be easy to set up if I did all the coding right.
From my continued research, I have found a few articles in the following links that might be leading me in the right direction:
http://developer.android.com/guide/topics/usb/accessory.html
http://developer.android.com/reference/android/hardware/usb/UsbManager.html
http://stackoverflow.com/questions/5848876/java-sockets-transmission-in-real-time
http://stackoverflow.com/questions/4762620/sending-simple-commands-from-android-through-usb
I don't have much expertise in the area, i just took a quick google shot at it and it showed from some forum posts and questions, that doing it through usb is not the easiest way.

[Q] computer programs to android

Basically the company I work for has a computer program that one of our old IT guys wrote, now I am wondering if there is a easy way to just transfer the code over to an Android app so that it works on Android phones. or will it just be easier to rewrite the code? Thank you.
Depends on the Code it is written in, what it does, the scale of it and its documentation.
Dark3n said:
Depends on the Code it is written in, what it does, the scale of it and its documentation.
Click to expand...
Click to collapse
Thank you for that. the company I work for has actually decided just to remote into our windows servers using a RDP client on android. We have explored our other options but this seems to be the best way to move forward without redoing all our systems due to how they are all interlinked.
Thank you for your help

Bypassing PatchGuard...?

So I know pretty much how my jailbreak is going to work from end to end, except with regard to PatchGuard. I don't need to burn my "Holy Grail" exploit in order to release a jailbreak, but it means that I have to deal with PatchGuard.
In Windows 8.1, Microsoft modified the kernel and ci.dll so that PatchGuard protects the signing enforcement mode variables. This means that if you modify the variables that were modified by 8.0's jailbreak, some random time in the next hour from that point, your system will bugcheck (bluescreen) because PatchGuard detected something tampering with the kernel. It is very obvious that the addition of these variables to PatchGuard's protected list was a deliberate attack against the RT jailbreak, because there is little other reason to care about enforcing these variables' integrity after startup.
I need to get around PatchGuard somehow. PatchGuard itself is designed to be an obfuscated mess, deliberately difficult to modify in a stable manner. It does a lot of nasty tricks, things that you would typically find in copy protection systems. Obviously, disabling it would be nice, but quite difficult. So is stopping it from bugchecking.
I can load kernel drivers, so I know of a way in which I can hook parts of the system that would not anger PatchGuard such that arbitrary unsigned DLLs and drivers could be loaded without hassle. For things like the lockdown in WinDbg, VBScript and PowerShell, I can hook NtQuerySystemInformation in the user-mode ntdll.dll and intercept the request to check the lockdown setting. Even though the system lockdown state would still be active, as long as user mode programs don't know about it, it won't be enforced. (The kernel doesn't care at all.)
However, this leaves one thing to be desired: executing ARM code. I already know how we can patch the kernel so that ARM code can execute without the CPU being switched back to Thumb2 all the time. However, patching the kernel definitely will get PatchGuard's attention, so there's no way to pull that off without defeating PatchGuard.
The optimal solution is definitely to defeat PatchGuard, but I don't know how. I'm not an expert in the field of low-level NT kernel stuff.
please release your jailbreak so that other people can help you.
If i got it correctly, it will BSOD in a hour of running, so releasing it to public is not a good idea. Maybe via PM to other devs, but that depends on OP.
why not change the variables back after you launch your unsigned exe?
windowsrtc said:
why not change the variables back after you launch your unsigned exe?
Click to expand...
Click to collapse
I think about doing this too. Can we discard hacked? If it can done. Will it have problem with running unsigned exe? And did we know exactly when did PatchGuard notice about hack?
Myriachan said:
However, this leaves one thing to be desired: executing ARM code.
Click to expand...
Click to collapse
Perhaps I'm missing something, ... why do you want to do this? The reason I ask is because this seems to be your motivation for wanting to "defeat" patch guard.
WRT simply running native applications/driver - If you can successfully load a driver, even once, then there are a few easy ways to support this without a patch guard defeat.
Cheers!
bfosterjr said:
Perhaps I'm missing something, ... why do you want to do this? The reason I ask is because this seems to be your motivation for wanting to "defeat" patch guard.
WRT simply running native applications/driver - If you can successfully load a driver, even once, then there are a few easy ways to support this without a patch guard defeat.
Click to expand...
Click to collapse
That it's currently impossible to execute ARM code reliably on Windows RT is a major reason that Firefox hasn't been ported. Fixing that would require patching two context-switch routines in ntoskrnl.exe.
You're right that there are various ways of loading unsigned executables and drivers once the initial driver is bootstrapped. ci.dll and ntoskrnl.exe have so many variables that aren't protected by PatchGuard that this is pretty much inevitable. Ironically, removing the lockdown from WinDbg, PowerShell and VBScript is actually harder than running unsigned code when using this attack.
Defeating PatchGuard would be the optimal experience for users.
...
...
Myriachan said:
That it's currently impossible to execute ARM code reliably on Windows RT is a major reason that Firefox hasn't been ported.
Click to expand...
Click to collapse
Actually, I don't agree. There is no hard requirement for ARM code that I can see. The major reason for a lack of FF port is that the native RT community is too small to get behind the port to sort out re-writing parts of the code base. There is also the large build system/process that needs to be shifted to VS. Throw in the lack of a public RT 8.1 JB.. and there is little motivation for this community to invest the time/effort in making FF work.
Don't get me wrong, FF will likely come to RT (even 8.1) eventually.. but I don't see the lack of ARM code being the roadblock. Its time and effort along with a new JB.
bfosterjr said:
Actually, I don't agree. There is no hard requirement for ARM code that I can see. The major reason for a lack of FF port is that the native RT community is too small to get behind the port to sort out re-writing parts of the code base. There is also the large build system/process that needs to be shifted to VS. Throw in the lack of a public RT 8.1 JB.. and there is little motivation for this community to invest the time/effort in making FF work.
Don't get me wrong, FF will likely come to RT (even 8.1) eventually.. but I don't see the lack of ARM code being the roadblock. Its time and effort along with a new JB.
Click to expand...
Click to collapse
The javascript JIT engine is to ARMv7 not THUMB_2 though.
SixSixSevenSeven said:
The javascript JIT engine is to ARMv7 not THUMB_2 though.
Click to expand...
Click to collapse
I gathered as much. I'm suggesting a re-write of that as part of the port.
Cheers!
Possible, but not easy. The result would likely be significantly less efficient... but better than no JIT at all. It substantially increases the effort required for porting, though.
As for PatchGuard... I don't know as much about it as I'd like, but the fact that it only checks periodically suggests something that we can anticipate and head off, assuming we can get our own drivers loaded... hmm. This is a pretty "out there" solution, but is there any chance that the version of PG from RT8.0 could be substituted in? That may assume a greater degree of encapsulation of PG functionality than is actually warranted, but it does seem to me that, if we can't modify it, we might be able to just replace (or possibly remove) it. Another option: rather than modifying the value itself, modify the code that checks it? I mean, if they were smart, that's under PG as well, but it *might* not be. Either bypassing the check for the values, or the signature check, or just spoofing the signature check, or taking it a level even further and replacing the whole loader function with a clone that lacks the check (which allows the original to remain intact, aside from however the shim is injected).
Any which way, a lot of binary RE... ick, but that's life.
A few ideas:
1) Put a memory read breakpoint on the memory addresses you wish to change, check the context reading it and change it to what it should be if it's PatchGuard, and what you want if it's not.
2) Hook BugCheck to make it just return if PatchGuard calls it (I seem to recall reading something about PG wiping the stack/any context before calling BugCheck, so this may not work)
3) Forcibly enable Debug mode VIA setting the required kernel flag/calling the proper function (kdStartDebugger? something like that; I had found it at one point) to enable the debugger. I have no idea if PG will sense this on pre-existing threads or not, but if it does then it should shut itself down.
4) Check if THIS approach works in 8.1 (I suspect not, since it was published for 8.0 previews)
5) (This would work for g_ciOptions, but not patching the interrupt handlers), hook the usermode function that queries the state of the signing, make it call a driver that changes the bit back, check, then call the driver to set it to default again. You would only get a BSoD if you were really unlucky and PatchGuard happened to run during the 30ms that the flag was changed.
I'd like to play with some of these ideas, but without access to the current prototype (hint hint), and not having a PC I want to upgrade to 8.1 right now, it's difficult.
netham45 said:
A few ideas:
1) Put a memory read breakpoint on the memory addresses you wish to change, check the context reading it and change it to what it should be if it's PatchGuard, and what you want if it's not.
2) Hook BugCheck to make it just return if PatchGuard calls it (I seem to recall reading something about PG wiping the stack/any context before calling BugCheck, so this may not work)
3) Forcibly enable Debug mode VIA setting the required kernel flag/calling the proper function (kdStartDebugger? something like that; I had found it at one point) to enable the debugger. I have no idea if PG will sense this on pre-existing threads or not, but if it does then it should shut itself down.
4) Check if THIS approach works in 8.1 (I suspect not, since it was published for 8.0 previews)
5) (This would work for g_ciOptions, but not patching the interrupt handlers), hook the usermode function that queries the state of the signing, make it call a driver that changes the bit back, check, then call the driver to set it to default again. You would only get a BSoD if you were really unlucky and PatchGuard happened to run during the 30ms that the flag was changed.
I'd like to play with some of these ideas, but without access to the current prototype (hint hint), and not having a PC I want to upgrade to 8.1 right now, it's difficult.
Click to expand...
Click to collapse
1. You can't set a read breakpoint because PatchGuard is also checking the contents of the interrupt vectors/registers. It would notice that someone is using the hardware breakpoints before it tried to read kernel memory.
2. Yes, PatchGuard overwrites KeBugCheckEx with a pristine copy among other tricks.
3. PatchGuard knows that the debugger was not enabled at boot, and will not allow it to be enabled. It will bugcheck if you try to enable it.
4. It's possible that the approach where you look for the self-decryption code at the beginning of the DPC handlers would work.
5. There is a better way, closely related to how I'm writing my installation program, to allow unsigned PEs to load. It would escape PatchGuard's notice. A user-mode hook would be required in order to neuter wldp.dll, though, since ntoskrnl.exe would still tell programs that the current policy was locked down.
I think I can do everything I need to do except execute ARM code reliably without harassing PatchGuard.
Melissa
As a plain user, I have a question:
Why do we have to use ARM Instruction Set? Isn't just Thumb-2 okay? I thought other part of Windows all runs with Thumb-2 fine.
sahack said:
As a plain user, I have a question:
Why do we have to use ARM Instruction Set? Isn't just Thumb-2 okay? I thought other part of Windows all runs with Thumb-2 fine.
Click to expand...
Click to collapse
There is a lot of software that we would like to port over that is written in arm assembly. We would have to rewrite it to THUMB-2 to use it on Windows RT, though. Porting software is (relatively) easy, rewriting it is difficult.
sahack said:
As a plain user, I have a question:
Why do we have to use ARM Instruction Set? Isn't just Thumb-2 okay? I thought other part of Windows all runs with Thumb-2 fine.
Click to expand...
Click to collapse
Common one that needs the ARM instruction set would be a javascript engine. V8 which is the javascript JIT used in chrome only has x86 and ARMv7 versions available, it doesn't have a THUMB_2 version. Although V8 itself can compile for THUMB2, that is only the JIT'er itself, it will only ever JIT to the full instruction set. So to port chrome we wouldnt be able to use V8, there might be a way to get it to compile using the windows javascript engine (which is slower than V8 but perfectly fine) or something but its still a significant obstacle.
The same applies to quite a few other softwares.
Then as netham says, we have software written in arm assembly which people have requested, thats great but it takes alot of effort to rewrite it in thumb2 assembly.
If you have software which can indeed compile for thumb2 and function on thumb2, yeah thats great. But there is some which doesnt.
netham45 said:
There is a lot of software that we would like to port over that is written in arm assembly. We would have to rewrite it to THUMB-2 to use it on Windows RT, though. Porting software is (relatively) easy, rewriting it is difficult.
Click to expand...
Click to collapse
Okay... I used to think that only JIT compilers and media decoders needed that...
But that gives another question.... Were we able to let the CPU stay in ARM mode in Windows RT 8.0?
(And if PatchGuard checks periodically, is it possible to just reset its timer once in a while?)
sahack said:
Okay... I used to think that only JIT compilers and media decoders needed that...
But that gives another question.... Were we able to let the CPU stay in ARM mode in Windows RT 8.0?
(And if PatchGuard checks periodically, is it possible to just reset its timer once in a while?)
Click to expand...
Click to collapse
First question, no.
Second question, thats what the thread is discussing although your suggestion is perhaps worth a look into (if myriachan hasnt already)
SixSixSevenSeven said:
First question, no.
Second question, thats what the thread is discussing although your suggestion is perhaps worth a look into (if myriachan hasnt already)
Click to expand...
Click to collapse
Sure, you could reset the timer on PatchGuard continuously, if you can find all its timers and perfectly distinguish them from those that were created by legitimate drivers. That's the harder part, unfortunately. =/

Security of proprietary formula in apk

I am a software developer with very limited experience in Android development. I am considering writing a very simple app to do a simple calculation, but the formula for the calculation is proprietary. Am I correct in assuming that something like Apktool would be able to decompile my apk, thus exposing the formula to prying eyes? If so, is there a way to prevent this?
Thanks!
thesomnambulist said:
I am a software developer with very limited experience in Android development. I am considering writing a very simple app to do a simple calculation, but the formula for the calculation is proprietary. Am I correct in assuming that something like Apktool would be able to decompile my apk, thus exposing the formula to prying eyes? If so, is there a way to prevent this?
Thanks!
Click to expand...
Click to collapse
An apk is pretty much the same as a zip file so anything like 7zip can extract it . as for apktool ,yes it can decompile your apk and enable others to edit/get codes from your app .but whats really happening with apktool is reverse engineering reverse engineering won't give you code as it was written by the original developer.so your formula "appears" to be safe. Know that there isn't a complete way of preventing reverse engineering.
Note:
Whatever you do to your code, a potential attacker is able to change it in any way she or he finds it feasible. You basically can't protect your application from being modified. And any protection you put in there can be disabled/removed by a determined hacker. The best you do is obfuscation(provided its a java code) or make use of progaurd or something like that.
[email protected] said:
An apk is pretty much the same as a zip file so anything like 7zip can extract it . as for apktool ,yes it can decompile your apk and enable others to edit/get codes from your app .but whats really happening with apktool is reverse engineering reverse engineering won't give you code as it was written by the original developer.so your formula "appears" to be safe. Know that there isn't a complete way of preventing reverse engineering.
Note:
Whatever you do to your code, a potential attacker is able to change it in any way she or he finds it feasible. You basically can't protect your application from being modified. And any protection you put in there can be disabled/removed by a determined hacker. The best you do is obfuscation(provided its a java code) or make use of progaurd or something like that.
Click to expand...
Click to collapse
Thanks for the response! I recognize that nothing is entirely secure, but my hope if I tackle this project is to make it more of a hassle to get into than it would be worth. Pointing me in the direction of obfuscators is a huge help. That gives me something specific to research, and may be the solution I'm looking for.
thesomnambulist said:
Thanks for the response! I recognize that nothing is entirely secure, but my hope if I tackle this project is to make it more of a hassle to get into than it would be worth. Pointing me in the direction of obfuscators is a huge help. That gives me something specific to research, and may be the solution I'm looking for.
Click to expand...
Click to collapse
Well good luck :good:

Categories

Resources