Need to access assets folder from within a service - Android Q&A, Help & Troubleshooting

Hi all, I'm at my first app project: I've implemented a NanoHttpd webserver (I can't post the link to the relative website) as a service inside my app and I've set up a www folder inside the assets, so that the webserver could use it as a root and serve the files like a normal webserver.
Problem is that I can't find out how to access the assets resources from within a service as I don't have any context to use. Is there any manual way to access them? Or is there any better approach on where to store those static files?

Related

Android's .so files

OK, So I've gotten to breaking down and recompiling those pesky .dex files, but I've run into a new problem.
This is a noob question, I'm sure, but .so files look like unformatted, binary files. How do I open then, edit them, etc? I need to read whats going on in my libs. :-(
Are these X11? I'm running ubuntu 10.04 x64 - so those could be difficult.
ie - unreliable 64 bit support.
$ sudo ln -s /usr/lib32/libX11.so.6 /usr/lib32/libX11.so
Click to expand...
Click to collapse
They're native library files, so platform specific machine code I imagine. Look for an ARM disassembler. I'm not familiar with linux internals, so don't know how you find the entry points, but it obviously will be widely documented. Is it impossible to obtain the source code? Assuming most are written in C/C++, reverse engineering from the machine code is not something I'd describe as a pleasant experience. If the source was well written assembly language & not too big, it can be almost enjoyable I guess. But then TBH walking through a randomly selected programmer's source, let alone object, files scares me, in a Tim Burton inspired bad trip kinda way. If you can find the source, it will be an order of magnitude less painful.
Try IDA Decompiler, it should disassemble all so files!
Most of the libs are open source in the aosp. Some are proprietary blobs with the only solution to them being reverse engineering.
.so disassembly
i know how to disassemble it
you will need orion's easy apk disassembler and apk manager
i've tested it once and it worked, but there´s a problem, i dont know how to re-assemble
1- rename the file .so to .apk like "libtestlib.so" to "libtestlib.apk"
2- put in the folder "place-apk-here-for-modding" of apk manager
3- open script.bat (or something like this) from Apk manager
4- use extract apk option
in the beggining my images inside the lib was corrupted so i used step 5 to fix
5- use option optimise images inside to fix images
6- go to project folder and copy classes.dex file to the root of easy apk disassembler's folder
7- open EasyApkDisassembler.EN.bat and use the "DISASSEMBLY a classes.dex with smali" option
8- give a name to the folder (like "libtestlib")
9- it will create a folder (like "out_libtestlib") with the disassembled files
Orion's easy apk disassembler http://forum.xda-developers.com/showthread.php?p=5826401
Apk multi tool (almost the same as apk manager) http://forum.xda-developers.com/showthread.php?t=1310151
I've tried to open libsurfaceflinger.so from my device with 7zip, and it worked too
thats it
@gkillershots
not working
i renamed .so to .apk and used extract option but getted error :
Processing archive: C:\APKMultiTools\place-apk-here-for-modding\libnative-lib.apk
Error: Can not open file as archive
"An Error Occurred, Please Check The Log (option 26)"

Create a universal theme for any ROM!

I have flashed it on my Note, it works well.
I in no way created this, just thought it may be worth while.
The operation of this template is based on the VillainTheme System for the ROM VillainROM.
Link: http://www.villainrom.co.uk/forum/sh...inTheme-System
Credits and thanks to all XDA team that collaborated on the original script: Doctorcete, Stericson, Matt and Seshy​
What is Universal Flasher Tool?
is a complete template that is used to create the simplest possible way a subject flashable from recovery without the need to include or edit files. apk.
This new method uses the file system implementation metamorph (just have to put files and folders on their respective routes), with the advantage that the system identifies and injected into their applications without the need for external application. The subjects are flashed directly from recovery.
What are the advantages of this method compared to metamorph or traditional flasheables issues?
Do not include. Apk complete, only the files you want to include in the subject.
A theme created with this template is valid for any rom, even among different phone roms (the tests have been performed with SGS2 and Nexus one).
Optionally, the template can include complete files if desired, can even be used to install applications not system.
Does not depend on external applications like metamorph because it flashes directly from recovery.
Operation of the template
at the end of the post are attached a number of considerations to take into account, but basically works like this:
Identify the applications that want to thematize and checks that exist in the rom. Once the check, the system compares folders that will be introduced as well as files and injects them into the apk as long as the new file exists within the apk. This has been thought well to avoid filling an apk with files that do not belong because they are from another rom or because you made a mistake when typing the name, for example.
Once injected the files takes a zipalign the apk to optimize RAM usage.
Alternatively, if the topic includes external files or copy them to install applications on your path.
At the same time to be using the item, the system will generate a backup of changed files and automatically creates a file. Zip flashable from recovery, in case something goes wrong or do not like changes to previous state.
Finally, it also generates a small log with the outcome of the whole process is recorded in SD to verify that all changes are properly implemented.
How to create and edit your own theme
Download the template from the attachment in this post or the link below.
Recommended Tools: 7zip to include files and browse the file system (you can also use winzip or winrar without problems) and Notepad + + or any other plain text editor to edit the name of the mod.
Once downloaded, open the template double-click will observe and folders inside a file in the root. Here's that are in each folder and how to create the theme.
MOD.config file: (new from version 3.0) is an editable text file (recommend Notepad + +) where in addition to establishing the name of the MOD to set different parameters of the template.
MOD_VERSION= Name (name of the mod to be displayed in the system properties after the name of the rom. Are cautioned not to put a name too long and try to avoid as far as possible in the blanks.
CLEAN_MORPHING = not (compare the new files before injection into the apk, only enter if the file already exists. Turning the option dramatically reduces speed)
V4_MORPHING = yes (support to manage compatibility with existing folders-v4 system in some applications).
DO_BACKUP = yes (enable or disable the creation of the flashable backup from recovery to restore the existing theme).
LOG_ENABLED = yes (enable or disable the creation of a log file with the results of the process).
SCREEN_LOG = yes (shows the process of recovery on the screen or not. important notices are always shown even if the option is disabled).
Optionally, you can set a different path for memory cards (no need to touch these lines in most cases, you should not touch):
default_internal_sdcard = / EMMC
default_external_sdcard = / sdcard
Optionally, you can add special commands to mount partitions (no need to modify these lines in most cases, you should not touch):
mount_system = mount / system
mount_data = mount / data
README.txt:
Includes some additional instructions on the operation and the license. Please read before using the template to create a theme (in English). Carteta / tools: is the folder where you have placed the scripts and binary files necessary to flash the issue and make subsequent restoration. You do not need to touch anything in this folder to edit the theme. From version 3.0 has been deleted because busybox binary is no longer involved in the process. folder / META-INF folder system which includes the signature file and the script to launch from recovery. It is recommended not to touch. Folder / MORPH: This is the template folder where files should be included with the theme. In turn, the folder is divided into two subfolders called / data (for applications theming system NO) and / system (for theming system and applications framework). In the / MORPH / system / app files are included for the applications and / MORPH / system / framework for the framework files. NOTE: NO application theming system in / MORPH / data / app / myapp.apk supposed to change the digital signature, so from that time can not be updated from the market or will you installed in the market (like if it had been installed by 'other means' non-statutory ...). Therefore, we do not recommend any downloaded application thematize the market. You are advised that the complaints do not come then ... For each application you want to thematize must open a new folder called / nombre.apk (eg / Contacts.apk if you want to change the system application Contacts.apk) . It is necessary to respect the use of upper / lower case. Within each of these folders you have to respect that there are logical paths within applications, so that the files would have to place them in folders named / res / drawable, res / drawable-hdpi, etc ... It is the same structure metamorph an issue, so any item is readily convertible metamorph simply dragging folders.
No need to create any control file or anything like . The system is responsible for reviewing the folders to see what applications you want tematitar.
Folder / Xtras / system:
in this folder is where, if desired, can include files or complete applications that you wish to flash in conjunction with the subject. For example, sound files, bootanimation, scripts, complete applications, etc ... Folder / Xtras / data: in this folder is where, if desired, can not add applications to be installed system during flashing. Folder / Xtras / sdcard: in this folder you can add files to make copied to the SD card, as packs of icons, sounds, videos, etc ... to take into account considerations
Always respect the use of uppercase / lowercase letters in the names of files or folders and logical paths located within the apps.
With this system the themes may be universal, although depending on the type of files a user input may cease to be:
If you only include image files theme is compatible with any rom from any phone.
If you also include. xml may only operate in one rom, but can still work on future updates of it.
If resources are included for translations (resources.arsc) the issue would only be valid for a particular rom.
The. Zip with the issue is not necessary for you to sign flashearse, and is valid for CW-Recovery and Recorevy-RA. If you do not have to remember signing off signature checking before flashing.
Original Thread:http://http://www.htcmania.com/showthread.php?t=258333
Also:http://forum.xda-developers.com/showthread.php?t=1474686
On the galaxy s 3 us version most of the recoverys are not reading the external sd so should I changed the mounts on the script?
Sent from my SGH-T999 using Tapatalk 2

C++ and APK files

I am using NDK with the Android 2.2 SDK. I want to use C++ commands to access the file system in my application's APK.
1. Is there a way to access the APK file contents directly with C++? I want to read directories and files just like on a PC.
2. If not, is there a way to distribute apps in Google Play, in a way so that C++ can read our application's files?
Try "getenv( "HOME" );" to get "<installed apk path>/files". Then you can access that with opendir(), readdir(), closedir() and access files with open(), fopen(), close(), fclose(), etc.
Nice, I will try this out today!
getenv("HOME") returns NULL in my application.
Ahh. I was testing with necessitas. It looks like they do "m_activity.getFilesDir().getAbsolutePath()" in their java code and pass that string to the c++ code. And then the c++ uses putenv() to set the path as $HOME. Thats why it worked for me.
It looks like you might have to use some similar magic to pass in the path from your java to your c++. There may be a function in the JNI to get that directory, but I haven't looked for it.
Questions should be posted in Q&A forums, not Development forums.
http://forum.xda-developers.com/announcement.php?a=81
See rule #15
Thread moved.
I found out how to locate the APK file path in Java. Then I pass this to C++ and load the APK file (it's just a ZIP file with a different extension).

how to view edit Smalli codes any android app hacking

hacking or cracking an android app is a easy part with XDA AUTO TOOL ..
search and download and install this tool ..
Process
Step One – Decompiling The APK File
Open the xdaAutoTool folder and run the program. It will prompt you to install a file called “framework-res.apk.” Ignore this. Close the program.
In the xdaAutoTool folder you we see a bunch of folders appear after the program ran. Look for one called “_INPUT_APK.” Put your APK file in the folder and run the program again. Press “Decompile All” located on the left side of the program window.
xdaAutoTool will decompile the APK file and create a new directory in the _INPUT_APK folder.
Step Two – Finding Your Target
Are you ready to be introduced to Smali code? Don’t worry! It isn’t too difficult once you realize what’s going on in the code. Java can’t be decompiled back into the original source code, it can, however, be decompiled into something called Smali code.
Navigate back to the _INPUT_APK directory and open the new folder (it will have the same name as the APK file). Once there, you will see a directory named “smali.” This is your target. Depending on your intentions, you will need to sift through the various files and folders in the smali directory until you locate the code you would like to modify.
For example, if you are trying to increase the firepower of a turret in an Android game, you will need to find the file for that turret. These directories are structured. You will probably see quite a few directories containing files used for advertisements, etc. One you discover the actual game directory, everything you need to alter will be in there.
How to change smalli code
now again open xda auto tool after edit changes and recompile and build your changes
You done ..........

How to perform baksmaling directly in an android device

Hello,
for the purpose of developing an antimalware for android, I need to have a baksamli representation of an APK.
the antimalware is itself an APK, that why I need the baksmaling operation to be performed in the device (i.e by the antimalware).
I asked the author of the baksmali tool (Issue #28)
he suggested me to use the dexlib2 library, but I don't think that I can get the smali representation of method calls (refer to the GitHub Issue).
After that I tried to execute the baksmali jar file directly in the device but I get a class not found error (sorry I can't provide the link to the stack overflow post, according to the policy of the forum I don't have the minimum post count)
Is there any other solution to get the smali of an APK ?(knowing that the solution will be executed in the Andriod device)
Thank you in advance
_Massy_ said:
Hello,
for the purpose of developing an antimalware for android, I need to have a baksamli representation of an APK.
the antimalware is itself an APK, that why I need the baksmaling operation to be performed in the device (i.e by the antimalware).
I asked the author of the baksmali tool (Issue #28)
he suggested me to use the dexlib2 library, but I don't think that I can get the smali representation of method calls (refer to the GitHub Issue).
After that I tried to execute the baksmali jar file directly in the device but I get a class not found error (sorry I can't provide the link to the stack overflow post, according to the policy of the forum I don't have the minimum post count)
Is there any other solution to get the smali of an APK ?(knowing that the solution will be executed in the Andriod device)
Thank you in advance
Click to expand...
Click to collapse
May be APK editor pro version help you..

Categories

Resources