update ROM - MDA II, XDA II, 2060 ROM Development

I have Qtek2020 ( O2 , XdaII ) with Rom 1.03.00 USA
I want to upgrade to the version 1.72.181 UK.. is possible?
i try to install various version of ROM but i recieve the same error
ERROR 120 Country ID error
pleaze help me

this thread is about how to get around the country id error
http://forum.xda-developers.com/viewtopic.php?t=12101

yes, i try to do this..
but i don't understand this point
[cut]
To change the operator ID:
1. Click on the Address menu item then click on Goto.
2. In the window that is displayed, ensure decimal and absolute are selected, type 74 into the entry field then click OK. This will position you at the operator string location.
3. Using either character entry on the right or hex entry on the left, enter the operator string device should be (or what you want it to be Smile ). Note that any non-used character positions should be edited to contain null (0x00) which can only be entered in the left hand side of the window.
To change the language ID:
1. Again, click on the Address menu item then click on Goto.
2. In the window that is displayed, ensure decimal and absolute are selected, type 94 into the entry field then click OK. This will position you at the language string location.
3. Using either character entry on the right or hex entry on the left, enter the language string your device should be. Again, any non-used character positions should be edited to contain null (0x00) which can only be entered in the left hand side of the window.
[/cut]
because i don't know what i write in the LanguageID and operator ID
and finally i don't understand the difference from OS version and Extended ROM Version ..

hi,
contact me in pm....i will explain you in Italian.
Ciao

Related

Fix and prevent ROM upgrade/downgrade Country ID errors

Updated 25th September - Summary points added at bottom of post.
Updated 27th September - More detail concerning DeviceData and use of HEX editor added.
IMPORTANT: Updated 28th September - I now know that if you have bootloader v1.06 on your XDA II, you cannot downgrade your ROM (at the moment). We will see if we can find a way round this but cannot promise anything. My thanks to gerald8297 for his patience and help using his device and thus enabling me and him to determine this.
Please read all of this post before attempting any upgrade.
This post is the second of two posts and (hopefully) contains the solution to the Country ID error problem during upgrade/downgrade of the XDA II. The first post contains the background and conclusions to an investigation into the problem and can be found here:
ROM upgrade/downgrade Country ID errors - an investigation
If you haven't already done so, I recommend that you read it so that you are aware of the reasons for the following procedures.
Firstly, something I must say to protect myself .
The procedures described in this post are the ones I used on my own XDA II and they worked for me. Although they should work for anyone else, there can be no guarantee. I cannot be held responsible or liable for any damage to, or malfunction of, your device caused by a failed upgrade. By deciding to upgrade your XDA II, you are taking full responsibility for any consequences arising out of doing so, and you may void your warranty. Flashing the ROM may cause Data Loss or even Device Malfunction.
Secondly, I would like to acknowledge all the posters to this forum for, in one way or another, providing clues to the solution to this problem and also a big thank you to itsme and softworkz for the utilities and information that have proved so helpful. And, of course, thanks to my friend merlin_uk whose input was invaluable.
These procedures require the following tools:
xda2nbftool: A description, explanation of passwords required, examples of usage and a download link for xda2nbftool are here.
A Hex editor: Any Hex Editor will do, but this is the one I used and which I describe the use of here.
IMPORTANT: Make a full backup of your XDA II as all data in main memory will be erased. Storage card and storage data should remain intact (but don't take my word for it!).
NOTE: The passwords specified in the commands and the exact format I used may be different for you depending on the version of HimaUpgradeUt you intend to use. See here for more information. Also, the operator and language strings used by me may be different to those you need to use. Don't just copy the commands listed below verbatim. Check what you need first. In my case my original operator ID was O2, but it got changed to CDL because of the reasons stated in my first post. Therefore, I wanted to get my device back to O2. This meant, for the first upgrade, using CDL as the operator ID in the nbf headers (to get past the verification) and O2 in the extra block of data (to set my device back), and then for the second upgrade, I was able to specify the correct operator for me (O2) in the nbf headers.
Obtain the set of upgrade files you require. If you have an operator-provided .EXE file, you can extract the files using Winzip or Winrar. The set of files will normally consist of:
[list:def15107cd]HimaClearJumpCode.exe
HimaGetDeviceData.exe
HimaUpgradeUt.exe
ms_.nbf
NK.nbf
Radio_.nbf
[*]Copy all these files into a folder of your choice on your PC (it is probably easier to create a new folder), then copy the xda2nbftool.exe program into the same folder.
[*]Copy the HimaGetDeviceData.exe file to any folder on your device.
Warning: DO NOT under any circumstances copy and run HimaClearJumpCode.exe on your device as it will render it unbootable. It is used by the upgrade utility to put you device into bootloader mode prior to upgrading.
[*]Execute HimaGetDeviceData.exe on your device. There will be no visible indication that it has run, but it will produce a file called DeviceData.txt in the Windows folder of the device.
Here is an example of the contents of DeviceData.txt:
Code:
U S B 3 2 1 . 7 2 . 0 0 W W E P H 1 0 C D L W W E 1 . 7 2 . 1 2 6 1 . 1 4 . 0 0
"USB 32 1.72.00WWE " is the OS Version
"PH10" is the Device Type
"CDL" is the Operator ID
"WWE" is the Language ID
"1.72.126" is the Extended ROM Version
"1.14.00" is the Radio Version
Obviously the actual content will depend on your device, but the layout of the information will be the same.
[*]Copy the DeviceData.txt file to your PC and open it using Notepad. Make a note of the current operator ID and language ID specified in this file (see step 4 above), for use later. These values are what your device is currently set to and it may surprise you to find that they are different from what you expected!. I will refer to these noted values as <operator> and <language>, to avoid confusion with specific values.
[*]Start a command prompt session on your PC and set your current directory to the folder used in step 2.
[*]Extract the decrypted versions of the nbf files by entering the following commands at the command prompt (but see note above):
Code:
xda2nbftool -x NK.nbf NK.nba 0x20040304
xda2nbftool -x ms_.nbf ms_.nba 0x20040305
xda2nbftool -x Radio_.nbf Radio_.nba 0x20040306
[*]Now modify the operator and language strings in the nbfs using the values noted from the DeviceData.txt file above by entering the following commands at the command prompt substituting <operator> and <language> with the noted values (but see note above):
Code:
xda2nbftool -sd PH10 -so <operator> -sl <language> NK.nba
xda2nbftool -sd PH10 -so <operator> -sl <language> ms_.nba
xda2nbftool -sd PH10 -so <operator> -sl <language> Radio_.nba
[*]Run the hex editor and in that open the file ms_.nba. If you are using xvi32, it will display the hex contents of the file to the left of the window and the character representation to the right of the window. At offset 74 (0x4A) you will see the operator string your device will be set to and at offset 94 (0x5E) you will see the language string your device will be set to.
NB. Your device will be set to these values irrespective of the values specified in the normal nbf headers.
To change the operator ID:
Click on the Address menu item then click on Goto.
In the window that is displayed, ensure decimal and absolute are selected, type 74 into the entry field then click OK. This will position you at the operator string location.
Using either character entry on the right or hex entry on the left, enter the operator string device should be (or what you want it to be ). Note that any non-used character positions should be edited to contain null (0x00) which can only be entered in the left hand side of the window.
To change the language ID:
Again, click on the Address menu item then click on Goto.
In the window that is displayed, ensure decimal and absolute are selected, type 94 into the entry field then click OK. This will position you at the language string location.
Using either character entry on the right or hex entry on the left, enter the language string your device should be. Again, any non-used character positions should be edited to contain null (0x00) which can only be entered in the left hand side of the window.
[*]Save the ms_.nba file.
[*]Update the crc values for each of the decrypted files by entering the following commands at the command prompt:
Code:
xda2nbftool -c -u NK.nba
xda2nbftool -c -u ms_.nba
xda2nbftool -c -u Radio_.nba
[*]Encrypt the files back into the nbf files by entering the following commands at the command prompt (but see note above):
Code:
xda2nbftool -x NK.nba NK.nbf 0x20040304
xda2nbftool -x ms_.nba ms_.nbf 0x20040305
xda2nbftool -x Radio_.nba Radio_.nbf 0x20040306
[*]Delete the nba files using Windows Explorer or by entering the following command at the command prompt:
Code:
del *.nba
[*]Run the upgrade from Windows Explorer by executing HimaUpGradeUt.exe
The first part of the upgrade is the verification process which is non-destructive, in which it generates the DeviceData.txt file on the device then compares the information in it to the information in your nbf headers (specifically the device type, the operator and the language). If an error is displayed, double check the steps detailed above and try again.
If all is well it will then display the current and new settings and give you the option to proceed with the upgrade. If you cancel at this point, nothing has changed on your device.
[*]Click the upgrade button... ONLY if you want to proceed with the upgrade.
Go make a coffee or even dinner because it takes at least 30 minutes to complete the full upgrade.
As eDsuB has pointed out, it is possible that the upgrade will fail or stop for some other reason and you are left with the bootloader screen (screen is dark and may display 'SERIAL' or 'USB'). If this happens, don't be too alarmed. Just remove your device from the cradle, reset your device, replace it in the cradle and restart the upgrade.
You may even still hit a Country ID error after it has started the upgrade, but I believe that it is some other sort of problem and it just reports it as Country ID error. If you do end up with a bootloader screen, and this was the first of two upgrades, it is OK to restart the upgrade using the second one - that is, the one with the nbf headers and the extra data in ms_.nbf set to the correct language and operator.
[*]Once the 'Congratulations' window appears, the upgrade is complete (even though the device may still indicate that the radio upgrade is in progress).
[*]Remove you device from the cradle and hard reset.[/list:def15107cd]
Hopefully your XDA II is now upgraded/downgraded.
To summarise
If, as was the case with me, you have successfully run a previous upgrade and your device has been unwittingly configured with an incorrect operator ID, you will need to run the steps detailed above twice. The first time, it is purely to set the device's language and operator IDs back to their correct values, with the nbf headers needing to be set to the incorrect values in order to allow the upgrade to proceed. The second time then becomes the 'real' upgrade, because, this time, in step 8, you will be using the desired language and operator IDs which will now match those of your device.
The information specified in the extra block of data in the operators ROM image (ms_.nbf) is used to set the device/operator/language in the device. It doesn't need to match what the device is set to already. It is this information which HimaGetDeviceData will retrieve at the beginning of any subsequent upgrade and return via the DeviceData.txt file.
The information specified in the nbf headers of all the ROM images (NK.nbf, ms_.nbf and Radio_.nbf) is used to set the device/operator/language in the software of the device. It must match the device/operator/language currently specified in the device.
Neither the ER2003Edit tool nor xda2nbftool, by themselves, update the extra block of data in the ROM image.
Anyone upgrading should check and amend (using step 9), if necessary, the information contained in the extra block of data in the operators ROM before performing any upgrade. This should be done even if the nbf headers are already correctly configured. Failure to check could lead to your device being set to an unwanted operator ID or language ID at the end of the upgrade.
Feedback concerning these procedures is most welcome. If any errors or omissions exist, please post a reply to let me know so that I can correct them. Also, please post a reply if you upgrade successfully, stating the original version/operator/language and the new version/operator/language. By doing this it will help others decide whether to upgrade or not.
You are missing a possible step that often occurs during 15.
The upgrade is canceled because of some vague reason and the device is stuck in bootloader (USB or SERIAL on screen).
This is the point when cold sweat starts drippingof your forehead . . .
Remedy: Reset device and restart the upgrade. It will take longer than 30 minutes. I flashed two times now and this happened both times . . .(didnt have any country-id or language issues)
Also: In the posting you should mention the operator you use is CDL (chances are that people take your posting literally wich for sure get a lot in the country-id trouble.)
Thanks to edsub for his comments. His advice has been incorporated into the post.
maybe this post should be sticky so it will not be lost in the mists of time
A new hope is born
Impressive discoery by dcs.
Anyway, can anyone confirm that this method is usable or workable for downgrading imate ver1.72WWE to Asia Rom 1.60 WWE.
One major doubt that, if the xda2 is in 1.72 and presumably it was wrong operator coded CDL, so the changes (suggestion by dcs) should take place on the 1.72 imate rom again or the 1.60 Asia Rom.
I once tried to change the 1.60 Rom using er2000edit to set the operator name to CDL instead of O2. The first upgrade screen was passed successfully but i was blocked in the 2nd screen which left me cold dead xda2 with 1.06 serial.
I guess much research shall be done before pursing this method. Anyhow it was a good finding. :lol:
This method does work…
I too was in a position were I could not upgrade or downgrade my O2 XDAII ROM because the operator code on the device had been changed to CDL…
Following dcs’s method sorts this nasty problem out once and for all – I can now downgrade, upgrade to any version of ROM I want!!!
Nice one dcs!!
I have exactly the same problem like yours. Thanks to dcs for your hard work.
I have updated the post slightly to (hopefully) lessen confusion about operator and language values used.
maybe incorporate this post in wiki.xda-developers.com ?
Answer to gerald8297 post - A new hope is born
Theoretically it shouldn't matter which version of the upgrade you run first.
The first upgrade is done purely to set your device operator and language values back to the values they should be (or the values you want them to be), and the nbf headers will have to match the values currently defined in your device.
The second upgrade is done to actually install the version of software you want onto your device. The nbf headers should be configured to match the (now correct) operator and language values defined in the device. Also the ms_.nbf file should be checked to ensure the extra block of data isn't going to set your device back to an unwanted value.
You say that your previous attempt at a downgrade failed at the second screen. Do you mean that the OS was installed, but it failed at the extended ROM part? If so, did you edit all 3 nbf file with ER2003Edit to set the operator before running the upgrade? If you only edited the NK.nbf file it would explain what happened. If this is the case, and you are stuck on the bootloader screen, you should be able to reset your device and rerun the upgrade.
It looks like you used the same i-mate 1.172.00WWE upgrade as I did in which case your device has been set to operator CDL and language WWE.
Good luck!
I have updated the post by adding some summary points at the end. These, hopefully will provide a better overall understanding.
FINALLY!!!!! IT WORKED!!! Thanks 102035492304923049 million times, dcs. This is the manual to use!
Excellent! I am very pleased.
Updates Made
I have made a few changes to the post to try and make things a little clearer
IMPORTANT
Updated with information about downgrading restriction.
dcs,
I am now at step 13
I edited ms_.nba ONLY using the hex editor. The 74th block is set the CDL so i changed it to O2 and put a null value on the 76th block where L of CDL used to be.
WWE remains as WWE. I am about to proceed but just a few questions.
(1)since this is my first upgrade, i need only run this once right?
(2) is ms_.nba the only file i need to edit or i also need to edit the Radio_.nba and NK.nba files?
So after upgrading... my xda2 should be 1.72 WWE and 1.17 radio right?
Thanks for all the updates on your post. Things are getting a bit clearer.
i3oyi3astos said:
dcs,
I am now at step 13
I edited ms_.nba ONLY using the hex editor. The 74th block is set the CDL so i changed it to O2 and put a null value on the 76th block where L of CDL used to be.
WWE remains as WWE. I am about to proceed but just a few questions.
(1)since this is my first upgrade, i need only run this once right?
(2) is ms_.nba the only file i need to edit or i also need to edit the Radio_.nba and NK.nba files?
So after upgrading... my xda2 should be 1.72 WWE and 1.17 radio right?
Thanks for all the updates on your post. Things are getting a bit clearer.
Click to expand...
Click to collapse
(1) As it is your first upgrade, you should only need to run it once, as long as the your device information (retrieved in DeviceData.txt) is already set to the values you want (in your case, O2 and WWE). Two upgrades are required only if the device information is incorrect to start with.
(2) Only the ms_.nba file requires editing with the hex editor.
You can see what versions of OS, Extended ROM, and Radio you are upgrading to in step 14, before you click the Upgrade button.
Hopefully, all should progress OK now
@dcs: This topic is getting better and better.
I would vote to have your info instead on the wiki pages instead of the info that is there now on upgrading.
Because there is a risk of others still wanting to stick to the old info, for starters you may want to setup a new wiki page that is linked to from the old 'upgrade' wiki page.
Its quite simple to create a wiki page, as I have just experienced for a subject on IIWPO.
I have stumbled upon sumthing last night.....
1. Waxx's Rom would make my XDA2 a CDL Device right? (I upgraded without modification of Waxx's ROM)
2. Waxx's ROM uses O2 headers (verified through ER2003edit) and the extra code on MS_.nbf says its CDL
3. If I loaded Waxx's ROM (which I did) it would turn my unit from an O2 to CDL.... correct? I could not verify since my GETDEVICE Data does not work... I dunno why.
4. Here comes the weird part..... I followed your instructions to modify my operator to become O2 again..... (change headers and offset 74).... If I understand it correctly, I should change Waxx's ROM headers from O2 to CDL ( to pass the operator test..am I correct?) and I should change OFFSET 74 to O2... correct?
5. When I tried upgrading.... (all headers = CDL, Offset = O2).... the upgrade failed.... error 120 (country code error...me thinks)....
6. I tried changing all headers to O2 and offset was still set to O2..... tried a second time..... and it worked.... get device data works now.... and it says I have an O2 machine
7. IMO Radio rom 1.17 is better than 1.14..... thanks for your help mr DCS, Mr Waxx, Mr. Gollum
Z-man said:
I have stumbled upon sumthing last night.....
1. Waxx's Rom would make my XDA2 a CDL Device right? (I upgraded without modification of Waxx's ROM)
2. Waxx's ROM uses O2 headers (verified through ER2003edit) and the extra code on MS_.nbf says its CDL
3. If I loaded Waxx's ROM (which I did) it would turn my unit from an O2 to CDL.... correct? I could not verify since my GETDEVICE Data does not work... I dunno why.
4. Here comes the weird part..... I followed your instructions to modify my operator to become O2 again..... (change headers and offset 74).... If I understand it correctly, I should change Waxx's ROM headers from O2 to CDL ( to pass the operator test..am I correct?) and I should change OFFSET 74 to O2... correct?
5. When I tried upgrading.... (all headers = CDL, Offset = O2).... the upgrade failed.... error 120 (country code error...me thinks)....
6. I tried changing all headers to O2 and offset was still set to O2..... tried a second time..... and it worked.... get device data works now.... and it says I have an O2 machine
7. IMO Radio rom 1.17 is better than 1.14..... thanks for your help mr DCS, Mr Waxx, Mr. Gollum
Click to expand...
Click to collapse
I think the error must have been related to the problem with HimaGetDeviceData, because everything you did was correct and your assumptions were also correct. Perhaps the first attempt failed, but at the same time it sorted out the HimaGetDeviceData, and also got as far as setting your device to O2?
Difficult to say what happened exactly, but main thing is you are up and running - Well Done!

Custon buttons

i installed ae button, wanna get rid of it, but when i do i lose the voice command button. i only have 4 buttons in the settings button manager. any idea how to get the buttons back to the way they started? or add buttons to the phones default button manager?
gbenj said:
i installed ae button, wanna get rid of it, but when i do i lose the voice command button. i only have 4 buttons in the settings button manager. any idea how to get the buttons back to the way they started? or add buttons to the phones default button manager?
Click to expand...
Click to collapse
voice command or the voice dialer? for voice command you need to reg edit and add this
hklm/software/microsoft/shell/keys
add key 40C6
1. add binary data "default" value "\windows\appbuttons\record.lnk" -b (with quotes)
2. add dword flags value 0 (0000000)
3. binary data icon value "location of icon"
4. binary data name value button 5 (press and hold)
5. binary data ResetCmd "\windows\appbuttons\record.lnk" -b (with quotes)
then add key 40C7
1. add dword named BtnWnd value 0 (00000000)
2. add binary data "default" value "\program files\voice command\voicecmd.exe" - ptt
3. add dword flags value 0 (0000000)
4. binary data "icon" value "location of icon"
5. binary data "name" value "button 5"
that should do it...
if you have the OEM voice dialer then point #2 at the file for the voice dial program and then point #5 at that icons location
srtpusher said:
voice command or the voice dialer? for voice command you need to reg edit and add this
hklm/software/microsoft/shell/keys
add key 40C6
1. add binary data "default" value "\windows\appbuttons\record.lnk" -b (with quotes)
2. add dword flags value 0 (0000000)
3. binary data icon value "location of icon"
4. binary data name value button 5 (press and hold)
5. binary data ResetCmd "\windows\appbuttons\record.lnk" -b (with quotes)
then add key 40C7
1. add dword named BtnWnd value 0 (00000000)
2. add binary data "default" value "\program files\voice command\voicecmd.exe" - ptt
3. add dword flags value 0 (0000000)
4. binary data "icon" value "location of icon"
5. binary data "name" value "button 5"
that should do it...
if you have the OEM voice dialer then point #2 at the file for the voice dial program and then point #5 at that icons location
Click to expand...
Click to collapse
thanks alot, but could i just have a little more detail about waht i need to do. im using total commander for reg edits, and used the reg edits before to fix my mms with verizon, but im not sure what to do here. i keep getting "Error in line 1, not a valid hex string!" every time i add binary data default value"..." for either of them
to answer your question, i want to set up button 5 to use a program called voice speed dial. eventually ill want a bluetooth headset to access that program, but for now i just want to get that button working again.
similarly, if its possible to adjust the camera button to run a program(flashlight) when clicked, and open the camera when held.
thanks for the help
gbenj said:
thanks alot, but could i just have a little more detail about waht i need to do. im using total commander for reg edits, and used the reg edits before to fix my mms with verizon, but im not sure what to do here. i keep getting "Error in line 1, not a valid hex string!" every time i add binary data default value"..." for either of them
to answer your question, i want to set up button 5 to use a program called voice speed dial. eventually ill want a bluetooth headset to access that program, but for now i just want to get that button working again.
similarly, if its possible to adjust the camera button to run a program(flashlight) when clicked, and open the camera when held.
thanks for the help
Click to expand...
Click to collapse
OK! was able to get it done, was a little unclear based on the descriptions in your instructions, but once i looked at them, and looked at the existing buttons i had in the other folders it made some sense. you kept saying add binary data etc, but instead i just had to add a string with a vale of wtvr, maybe ur right and i just dont know the terminology, but thats what my registry had for the other buttons so i kinda just copied them.
thanks alot
one more question. any idea how i can add the flashlight program to the camera button(without holding it down)?

Registry Tweaks for Lumia 710&800

Your phone must be Full Unlocked!
Then you should install WP7 Root Tools.
Unlock the hidden options in the settings:
LOCAL MACHINE/System/Accessibility/
Code:
"CompactMode"=dword: 0
"TTY"=dword: 1
"telecoil UI"=dword: 1
"telecoil"=dword: 1
Change Search Engine in Internet Explorer by vova1609
CURRENT USER/Software/Microsoft/Internet Explorer/SearchProviders
Google:
1. Create key "Google"
2. Create value:
value name: URL
value type: string
value data: http://www.google.com/m?hl=en&gl=us&client=ms-hms-tmobile-us&q={searchTerms}
3. Done!
Yahoo!
1. Create key "Yahoo!"
2. Create value:
value name: URL
value type: string
value data: http://search.yahoo.com/search?p={searchTerms}
Yandex
1. Create key "Yandex"
2. Create value:
value name: URL
value type: string
value data: http://yandex.ru/msearch?text={searchTerms}
Remove built-in applications from saintonotole's firmware by vova1609
As you know, if you delete application, like Bazaar, this application will be installed again after reboot. I have found solution:
Local Machine/Software/OEM/FirstBoot/InstallApps
Delete folder InstallApps
Nice. What about local nachine/software/oem/cloaking/appreinstaller
Maybe this reinstalls deleted apps?
Sent from my Lumia 710 using XDA Windows Phone 7 App
Also can we find any battery tweaks, cause battery really sucks.
Sent from my Lumia 710 using XDA Windows Phone 7 App
mariosraptor said:
Nice. What about local nachine/software/oem/cloaking/appreinstaller
Maybe this reinstalls deleted apps?
Sent from my Lumia 710 using XDA Windows Phone 7 App
Click to expand...
Click to collapse
no
For very low brightness(tested on lumia 710)
Current User/Control Panel/Brightness
"LowBrightness"
Value= 1
1 is the lowest I have tried, I don't want to try 0 lol. Value is probably 1-100.
Battery performance FTW now.
Sb know how to change the vibration pattern? I always miss the incoming calls due to poor vibration level!
There's any way to change the boot splash screen? (Not the nokia logo)
I really searched for anything on registry or file system... but can't find anything
My phone is the Lumia 710
vova1609 said:
Your phone must be Full Unlocked!
Then you should install WP7 Root Tools.
Unlock the hidden options in the settings:
LOCAL MACHINE/System/Accessibility/
Code:
"CompactMode"=dword: 0
"TTY"=dword: 1
"telecoil UI"=dword: 1
"telecoil"=dword: 1
Change Search Engine in Internet Explorer by vova1609
CURRENT USER/Software/Microsoft/Internet Explorer/SearchProviders
Google:
1. Create key "Google"
2. Create value:
value name: URL
value type: string
value data: http://www.google.com/m?hl=en&gl=us&client=ms-hms-tmobile-us&q={searchTerms}
3. Done!
Yahoo!
1. Create key "Yahoo!"
2. Create value:
value name: URL
value type: string
value data: http://search.yahoo.com/search?p={searchTerms}
Yandex
1. Create key "Yandex"
2. Create value:
value name: URL
value type: string
value data: http://yandex.ru/msearch?text={searchTerms}
Remove built-in applications from saintonotole's firmware by vova1609
As you know, if you delete application, like Bazaar, this application will be installed again after reboot. I have found solution:
Local Machine/Software/OEM/FirstBoot/InstallApps
Delete folder InstallApps
Click to expand...
Click to collapse
I only try to do the first tweak but i don't see any change... I'm using a custom rom (Rataplan v3)
what about lumia 800 Music enhacement (vol boost or sth like that) has anyone tried to find something?
I'm preparing my phone for testpoint bootloader swap with ATF so I'll help u out soon ,try
to work on that cuz Original setup sucks 4 real
cdbase said:
what about lumia 800 Music enhacement (vol boost or sth like that) has anyone tried to find something?
I'm preparing my phone for testpoint bootloader swap with ATF so I'll help u out soon ,try
to work on that cuz Original setup sucks 4 real
Click to expand...
Click to collapse
yes, i also want to change the standard volume!
In my case, for this huge range of 30, its way too loud on 1, and way to quiet on 30. In between, you can't really hear a difference for example 23 and 24.
It would be awesome to change this.
Have anyone interested in disabling prediction and auto correct?
I just found that tweak today! (Changing some registy values myself)
Go to: Local Machine\System\Input
enter in the folder that corresponds your alnguage id (in my case is lang_0416 for Portuguese Brazilian)
add the string ".disable" in the end of the values of "Dictionary File" and "HTR Dictionary File" and restart your phone.
Next time you type something, you should not be bothered again with the prediction and auto correct.
Hi guys! You problems with the phone vibration ends here!
Access the phone registry and go to "Current User\Control Panel\SoundCategories\Ring"
First go to: RingerOffVibrateOn
and change script value to: av0.1v2.2w2r
Now go to: RingerOnVibrateOn
and change script value to: av0.1v2.1w0.1v1.pr
DONE!
Reboot isn't required. Call your phone and you will see the classic vibration while on silent.
Unfortunately the phone cannot vibrate and ring... Only vibrate, then ring.
---------- Post added at 09:55 AM ---------- Previous post was at 09:07 AM ----------
I don't know if i'm really helping here...
If you found out that your alarm volume is too low... You can go to in registry: "Current User\Control Panel\SoundCategories\Alarm\RingOnVibrateOn"
Change script to: p
yes... just "p" (that means PLAY)
it will not change the volume at all... it will just play in the same volume as your ringtone ^^

AndroModding

Requirements:
1) Have the .apk file you want to hack.
2) Have WinRar installed on your PC. (*Download WinRar 32bit*|*Download WinRar 64bit*)
3) Have .NET Reflector. (*Download .NET Reflector 9.0*)
4) Have "Reflexil", a required Plugin to hack files with .NET Reflector. (*Download Reflexil Plugin for .NET Reflector*)
5) Have an APK SIGNER. I personally use the one-click signer. (*Download one click apk signer*)
Get Ready
Let's prepare our workspace:
1) The first step is to look inside our .apk file, in order to be sure it can be hacked with this method. What we will do is to rename the apk from .apk to .zip;
2) Double click on the .zip file and you should be able to open it with WinRar. If not, make right-click and select "Open With..." and then chose "WinRar";
3) Try to go to the following location: assets/bin/Data/Managed/. If you reached it succesfully, and if you see lots of .dll files inside it then YES, you can hack this game (or you can TRY hacking it) using .NET Reflector!
4) Now, extract the whole "Managed" folder wherever you like (I personally have a folder on my Desktop I exclusively use to hack games, where I put all the softwares I need to hack them).
5) Open ".NET Reflector", move ALL THE .DLL FILES from the "Managed" folder inside it (move them in the LEFT box of Reflector).
6) Press F3, then press Ctrl+M. This will enable the Search box and set it properly for our scopes. Please note this must be done EVERY TIME you open .NET Reflector.
7) Launch Reflector (if you read the "ReadMe.txt" into the Reflexil folder of my download link above, you already know how to launch it. Otherwise, well, click on the Gear icon or go to Tools -> Reflexil and click on it)
Ok, we managed to set up everything properly and we can finally start hacking!
Let's start
So, let's read what I'll write below very carefully, since it's easy to understand if you spend enough time reading, ok?
1) The first step, after you grabbed your .apk file is to open it with WinRar (I personally rename the extension to .zip in order to open it automatically with WinRar, but you can simply do Right Click on the .apk file and select "Open With..." -> WinRar).
2) Browse to the following path, inside the WinRar window: assets/bin/data/Managed/, like the screenshot below:

3) Extract (you can simply drag them) all the .dll files of this archive into your desired folder (or, to be faster, just drag the entire "Managed" folder of the archive out of it.
4) Now, Open NET Reflector, press F3 and Ctrl+M (this must be done every time, to quickly set up NET Reflector for our usage), load the "Reflexil" plugin by clicking on the Gear icon and move all the .dll files inside .NET Reflector's window (at the left, like in the screenshot below):

Now we're ready to search, so input your desired keyword in the Search Box and edit the desired code, like in the Screenshot below. Watch it carefully:

6) To edit the code, you need to right-click on the desired instruction you want to modify and select "Edit". When you're done with edits, click on Update, like in the screenshot below:

7) Now, let's save our code. To do this, in the Left panel of .NET Reflector, scroll up until you find the name of the Assembly you modified, then do Right Click -> Reflexil -> Save, like in the screenshot below:

8) It'll add ".Patched" to the original name the of the .dll file, so you know which one is the modified and which one is the original .dll file. Now, to be sure we modified the right code, let's load again the Assembly into .NET Reflector, to see how it does look now. (this step is optional, but recommended if you're not 100% sure the hack is properly coded:

9) Ok, in my example the codes were right so we can proceed adding the modified .dll file to our original .apk file. So we open the .apk file again with WinRar and replace the original "Assembly-Csharp.dll" (or any other .dll files you modified) with the one containing ".Patched", but of course, you need to rename the file to its original name, or the game will not load. So, in my example, I renamed Assembly-Csharp.Patched.dll to Assembly-Csharp.dll in order to restore its original name.
10) Now it's time to sign it (or you can add*toast*before singning apk if you want, before signing the .apk file). So we move the modified .apk file in the same folder of the "one_click_signer.cmd" file (or, if you use another apk signer, use your method to sign it), then we open it by double-clicking it and a Command Prompt window will appear.
All we need to do is to type:
"name of the apk file.apk"
and press Enter, like in the screenshot below (don't forget the "" symbols, they are part of the code you need to write!):

11) That's it! Our MOD APK file is ready! You'll find a new .apk file in this folder, starting with "signed-". This is the signed .apk file you can finally share! But first, of course, test the game and ensure it does properly work. If yes, it means you're a good hacker and you can finally upload the .apk file to share it with everyone! If the .apk file is not properly working, or if the codes you made aren't showing, well, don't lose hope! Just try again, modifying some other offsets! Good luck!
FAQs:
If you need help, as always, reply below and I'll be glad to add further details or to give you an helping hand!*
Do you have an Int32?
You can return a value this way:
ldc.i4 -> Int32 -> Your_Value (no limits)
ret
or
ldc.i4.s -> SByte -> Your_Value (max 128)
ret
Do you have an Int64?
You can return a value this way:
ldc.i8 -> Int64 -> Your_Value
ret
Do you have a Single?
You can return a value this way:
ldc.r4 -> Single -> Your_Value
ret
Do you have a Double?
You can return a value this way:
ldc.r8 -> Double -> Your_Value
ret
Do you have a "Boolean"?
I'm used to compare "Boolean" with a question. Basically, it "asks" something to the game, and the game will answer with True (yes) or False (no).
For example: get_isVip will "ask" the game if the user is a VIP, and the game will probably answer "No, he's not a VIP!!!", so what can we do here?
We have two ways. The first (easier, but you will not learn much..) is about returning always True (yes), while the second (not alwasy applicable, but it's the "pros" way) is about making the game thing you're a VIP for real.
But first, let's explain how to return "True" or "False" in the game.
True = ldc.i4.1 (or ldc.i4 -> Int32 -> 1)*
False = ldc.i4.0 (or ldc.i4 -> Int32 -> 0)
Beware that you must always use ldc.i4 (and not ldc.r4, ldc.i8 and so on..) or the game will crash.
So, the easiest way to always return True (or False) to a Boolean is to replace the whole function with:
[TRUE]
ldc.i4.1
ret
[FALSE]
ldc.i4.0
ret
Now, let's talk about the pros' method. As we said above, it's all about making the game think you're a VIP for real, so the Boolean will naturally return a true value, even if we both know you're not a VIP for real in the game (of course I talk about VIP to make an example, you can replace the word "VIP" with anything. For example, "get_isUnlocked" or simply "IsUnlocked" is a boolean to unlock stuff in the game and so on.. it's up to you to find the right keyword to hack a value).
Sometimes, there are some "checks" to ensure if you're a VIP or not. For example, the game checks you VIP level and, if it's equal to 0 returns a false, while if it's higher than 0, it returns true.
It should look like this (very basic example) in NET Reflector decompilation window:
get_isVip {
if (this.Player.get_vipLevel) > 0*
{
return true
}
return false
}
And, in Reflexil (the plugin's window you have at the bottom) you should see something like:
0 ldarg.0
1 ldfld Player.get_vipLevel
2 ldc.i4 0
3 bge (6 -> ldc.i4.1)
4 ldc.i4.0
5 br (7 -> ret)
6 ldc.i4.1
7 ret
Now, it's not that hard to understand what Reflexil says. Let's compare the text with the NET Reflector's decompiled code:
ldarg.0 -> "this."
ldfld -> loads the value, in particular, the one about the Player's vip Level
ldc.i4 0 -> it means 0, referring to the player's vip level
bge (6 -> ldc.i4.1) -> it means "branch if greather than". This means, if the Player's vip Level (ldarg.0 + ldfld) is greather than 0 (ldc.i4 0), the function will jump to the sixth function (ldc.i4.1 which means true)
ldc.i4.0 -> which means false. If the function didn't jump to the ldc.i4.1, the game will return this value (false) so the player will not be a VIP
br (7 -> ret) -> this will jump to the 7th function, which is the "ret". Of course, after returning the false, the function needs to close itself, so it'll jump to the "ret" at the end of it.
ldc.i4.1 -> this means true and it's called by the "bge" we've seen above. This is the only way this value is called so, if the player value is higher than 0, this will be the next value returned = the Player IS a VIP.
ret -> You know better than me that "ret" ends the function. Remember EVERY function in the game must end with "ret" or the game will not work properly.
So, after this long and boring lesson, what's the pros' way to hack this?
The answer is in your brain. If the player vip level is higher than 0, the player will be a VIP so what will we do? Of course, we'll hack the player vip level! How? Simply look for "get_vipLevel" (please note this is just an example, it doesn't apply to any particular games and the keyword could change) and it'll probably be an Int32 so you'll simply replace its whole function to:
ldc.i4 -> Int32 -> 15 (for example, as most games with the VIP interface caps the VIP level at 15, while some other have got 10 as VIP level's cap)
ret
This will not only automatically enable your VIP membership, but it will also give you a VIP level = 15.
Please note, even if we manage to hack the VIP level in particular, some online games will still NOT give you the privileges of the VIP membership, or you will get only some of them. Why? Because sometimes the vip level in online games is managed by the server, so you could be the only one seeing you're a VIP member, while all the other people will see you're NOT a VIP member, because you're not a VIP for the server. So, if this value is server-sided, you may still not be able to get your vip privileges with this hack.
How to multiply a value?
Easy, you have to add the number you want to multiply the value with followed by "mul", before the "ret" or, to be more precise, after the function returns the value you want to hack.
Example:
ldarg.0 (which means "this.")
ldfld Player::get_money
ldc.i4 (or ldc.i8, or ldc.r4, or ldc.r8. Which one? See my above examples) -> Int32 (or Int64, or Single, or Double. Which one? See my above examples) -> Your_Value
mul
ret
Sometimes the function returns different values if different events occur, so it could be necessary to multiply more values.
How to divide/subtract/add a value?
It's the same as before, you just need to use "div" (or "sub" or "add") and not "mul" (div = divide, mul = multiply, sub = subtract, add = add).
What's the difference between multiplying something and simply returning 9999999?
The main difference is that returning 9999999 will give a STATIC value. It will never decrease/increase, while multiplying (or adding) a value will give a DYNAMIC value, so you can run out of money, but you theorically also have a lower ban chance. Don't think about 9999999 only when talking about money. This could be HP or Damage or XP and so on..
We are Cracker.
Help
Hey I’m new to this. I was wondering if there is another method to this because my game doesn’t have the dll files there. It has some folders such as meta data. Thanks
So i modded a dll from a multiplatform .NET app and it works fine when using it on PC. But when placing it in the app, all i get is a black screen.

Solution to Failure to Obtain an Input Value

Symptom​When I entered a value in the input box and submitted it, the mandatory item verification failed, and the system displayed a message indicating that a parameter was empty and instructed me to enter a value. The code for obtaining the input value is as follows:
e.target.attr.value, this.$element(‘#id’).attr.value
Analysis​The possible cause is that the method for obtaining the value is incorrect. As a result, the value in the input box cannot be obtained.
Solution​I used the onchange event to assign a value to the model and obtained the value from the input box. The method is as follows:
1. Initialize the model.
JavaScript:
data:{
accountValue:''
}
2. Bind an event to the input box.
HTML:
<input @change="getAccountValue" value="{{accountValue}}"></input>
3. Assign a value.
JavaScript:
getAccountValue: function(e) {
this.accountValue = e.value // Here, e.value instead of e.target.attr.value is used.
}
Suggestions and Summary​Refer to the official document instead of generating a JavaScript object for coding. A JavaScript object may lead to compatibility issues.
Currently, the data binding mode of a quick app is unidirectional.
1. The value entered in the input box does not change the value of accountValue in data.
2. If the value in input box is changed by setting this.accountValue to xxx, the onchange event of the input will not be triggered.
3. In this.accountValue = xxx format, if the value of accountValue before and after the change remains the same, the page will not be re-rendered.

Categories

Resources