[Q] hack aapt to create max id for each layout - Android Q&A, Help & Troubleshooting

Hi.
I'm trying to hack aapt to generate for each layout named xxx_layout.xml an extra num in R named R.id.xxx_layout_max_id which will contain the max id for that layout (since each id is an in num and each layout has several id's in it i assume one of them is the biggest).
I need it for adding custom components dynamically in runtime but for layouts like RelativeLayout which requires ID's.
Did anyone hacked appt before to know which file in aapt directory contains the code to genereate ids ?
10x.

Please use the Q&A Forum for questions Thanks
Moving to Q&A

Related

how to make a mui file for application

I want to make a chinese mui file for application,how to do it?
you can do it with a resource editor like resource hacker but you must have the mui in english
i think it's th e good answer but i'm a newbee on the subject
I have the english mui,and I use the resource editor edit the language option,but the mui file cannot work.
then i think it's necessary to sign your new mui but i never do this so i can't explain
if somone can confirm please
sam
I have tried to get someone to answer this question but it seems to me like no one can do this on XDA forum Because me to want to translate the mui file for TouchFlo2D.
Have tried a couple of things but nothing works when using the mui file on the device.
So if there's anyone who can do this, please explain where to start...
ToddeSwe
Hi i had a similar problem with the dll i was trying to modify but i cracked it in the end with a few tools lucky for you schreda has brought them all to one place so i hope this will help your situation
Now I found a way to Edit DLL, EXE, MUI and all other files for WM5 and WM6!
I ever had problems with the Signature in the Files bur now i have the Solution!
Click to expand...
Click to collapse
here:
http://forum.xda-developers.com/showthread.php?t=432041
Also some languages already done here:
http://forum.xda-developers.com/showthread.php?t=432965
when yu want to make one at youre own,, take a look at http://msdn.microsoft.com/en-us/library/ms776216(VS.85).aspx
Using MUIRCT to Build Resources
MUIRCT (Muirct.exe) is a command-line utility for splitting a standard Win32 portable executable file into a language-neutral (LN) file and a .mui file containing language-specific Win32 resources. Each of the resulting files contains resource configuration data that associates the files. MUIRCT is included in the Microsoft Windows SDK for Windows Vista.
Placing Win32 MUI Resource Files
A typical MUI application that uses Win32 MUI resource configuration consists of an LN file and language-specific resource (.mui) files . This topic discusses the placing of resource files on the target computer for optimal use by the application loading logic and the resource loader.
Loading Win32 MUI Resource Files
This topic discusses the loading of user interface resources on Windows Vista and on pre-Windows Vista operating systems. For an MUI application targeted at Windows Vista, the Windows Vista resource loading functions contain the proper logic to retrieve the correct language resources in the language-specific resource (.mui) files at runtime. However, the Windows Vista resource loading technology does not exist on pre-Windows Vista operating systems. Therefore, you must modify your MUI application code to load the appropriate resources on such an operating system.
The MUILoad library furnished by the Microsoft Windows SDK for Windows Vista includes the LoadMUILibrary and FreeMUILibrary functions. These functions can be used by your MUI applications targeted at either Windows Vista or a pre-Windows Vista operating system to load and unload resources based on operating system user interface settings. The LoadMUILibrary function returns a handle to the appropriate language-specific files based on operating system user interface language settings, and the FreeMUILibrary function closes the handle. The fallback priority used in LoadMUILibrary is user UI language, followed by system UI language and system default UI language. If the function cannot find an LN file in these languages, it returns the handle of the .mui file located in the same folder as the code .dll. If the .mui file does not exist either, the function returns a handle to the binary file that contains the code.
Note: MUILoad library functions are based on the assumption that the MUI application uses Win32 MUI resource configuration. If your application uses another resource technology, it must implement its own approach to loading resources.
Note: Because a particular user's language preferences might include languages that are not supported by your MUI application, the application should always handle these languages by loading the appropriate fallback resources.
Loading Win32 MUI Resources on Windows Vista Only
Using RC Compiler to Build Resources
RC Compiler (Rc.exe) is a command-line utility for compiling a resource definition script file (.rc extension) into resource files (.res extension). RC Compiler is included in the Windows SDK. This document explains the use of RC Compiler with MUI-related capabilities of the resource loader introduced in Windows Vista. For complete information about the compiler, see About Resource Files .
RC Compiler allows you to build, from a single set of sources, an LN file and a separate .mui file containing language-specific Win32 resources. The resulting LN file and .mui file each contain resource configuration data, which associates the two files with each other.
Windows Vista supports two ways to build an LN file-.mui file pair. One technique, described here, is to use the RC compiler. The other technique is to use MUIRCT.
Preparing a Resource Configuration File
This topic describes the preparation of a resource configuration file, used in Win32 MUI resource configuration to associate resource configuration data in an LN file with that in the associated .mui files. The resource configuration file is a public, human-readable XML file.
The RC Compiler and the MUIRCT utility both provide mechanisms for building an LN file and associated .mui file. Each utility has an optional command line switch that allows you to specify a resource configuration file. Use of the file allows more control over the splitting of resources than can be obtained using the regular command line switches of these utilities. However, even if you do not provide a resource configuration file as an input, the LN and .mui files contain resource configuration data.
This topic focuses on the aspects of the XML schema that are useful in building Win32 unmanaged code using Windows Vista. In particular, it is only concerned with the behavior of the win32Resources element. All resource configuration files for Win32 applications begin and end identically:
<?xml version="1.0" encoding="utf-8"?>
<localization>
<resources>
<!-- a single win32Resources element goes here -->
</resources>
</localization>
so take a look on http://msdn.microsoft.com/en-us/library/aa365064(VS.85).aspx
good luck

[Q] How can i regenerate public.xml after decompiling apk with apktool?

Hi,
I want to decompile Huawei Ascend Mate's settings.apk file and add some decompiled activities and classes from Samsung I9082 settings.apk (it is about dual sim functionality) and do the same with Mms.apk, Phone.apk and TelephonyProvider.apk. (With APKTOOL)
But the only problem is "public.xml"! because when an apk file is compiling from source, all of string names and plurals and etc. will convert to hexadecimal IDs that they are placed in public.xml and the keys of values in Java source will be replaced with hex IDs.
I need to regenerate "public.xml" to add new values with new IDs, but if I change IDs, I have to open all SMALI files and replace old value with new!
May somebody help me?

[Q] Is APK signature verification extra fields bug patched in older API versions?

Hi guys,
Sorry in advance if I posted this to the wrong place as I am not allowed to post into Android devs-only forum.
I am currently investigating the extra fields flaw in apk signature verification discovered in juli 2013 by trying to replicate it on the AVD.
First of all...this is research only as I am trying to understand my system's internals and especially permissions handling.
What i try to achieve is to root the AVD by using the elevated permissions of a apk signed with the platform key.
1. I have an apk signed with the platform key from my cyanogenmod 10.2 device and a classes.dex with size under 65k that will try to install SuperSU on my AVD
2. When creating a new apk I put the original classes.dex into the extras field of the corresponding ZIP entry and pad it to have a size of 65533
3. The rooting classes.dex goes into the data field of the ZIP entry and extra lengh is set to 65533 or -3 as seen by the buggy verifier. This classes.dex is also padded to have the exact size of the original classes.dex
4. My MainActivity tries to install the just assembled apk
Expected result: As the verifier is validating the original classes by jumping 3 backwards instead of 65533 forward the apk should be installed having elevated system privileges.
Actual result: AVD refuses installation of the apk with error code -103 as the "digest of classes.dex does not match those in the apk".
My thoughts on what may cause this:
A) I know that google merged the fix for this bug into HEAD but it still should work on AVD 2.3 and 4.1.
Or are all versions of AVD patched agains extras field expliotation? As I update my APIs everyday the fix is likely to be in my AVD.
Correct me if i am wrong.
B) As I use a cyanogenmod 10.2 apk as the base the platform keys may not match those of the AVD.
If so the error should be different to -103 but something like "system user signature does not match"
Please would someone point me into the right direction?

[Q] Need help on rename dynamic symbol in android .so

These days I am working on a project that I need to modify some other android apk's arm elf .so file.
Because I changed the code namespace in android Java, so I have to change the corresponding native code's namespace in .so file.
For example change the symbol Java_com_example1_Method to Java_com_example2_method (dynamic symbol). But I don't have the source code of the native code.The change only replace 1 or 2 chars, so we don't need extra memory allocation.
I have been struggled for 3 days with no results.
Hope you can teach me how to rename the dynamic symbols in elf .so file, and recaculate the .hash section.
Or am i heading the wrong direction?
:fingers-crossed::fingers-crossed::fingers-crossed:
:fingers-crossed::fingers-crossed::fingers-crossed:

[Q] Better understanding Zooper Zip files

Hi all,
So I was looking into starting a project to build a desktop web app to help build Zooper widgets. I was able to save a basic widget, export it as ZIP, and I see all the JSON files. My only question is what is generating the hash name for the json file. What is its significance? I would like for the web app to be able to create new shapes and set its properties, but I don't know what I should do to generate the JSON file names.
Thanks
It is UUID https://en.wikipedia.org/wiki/Universally_unique_identifier
There are no important rules except unique. You can even use 001, 002, 003
Important is order of files in zip.

Categories

Resources