[Android Software/Hacking General [Developers Only]] gatgat23:
Start Time: Fri 08/16/201311:04:29.15

===============================================

\\\\\ -=ULTIMATIC JAR PATCHER TOOLS=- /////

===========================================

This tool will AutoMagically patch services.jar like so:

It pulls files from your device, patches and installs!

Mod 1. "Jelly ISCream" to SuperCharge launchers...

Mod 2. "Maximum MultiTasking Mods" for Froyo and up...

Mod 3. "Non-Sense App Limit" for Sense 4 and up...

==========================================================

Cool Trick for Deodexed ROMS!

==========================================================

If you DON'T have a services.odex...

You can put services.jar in the "patch_this" folder!

You will then have an option to "patch this" instead!

Otherwise, files will just be pulled from the phone ;^]

==========================================================

If you want, copy services.jar to "patch_this" now!

==========================================================

Press the enter key when ready...

==========================================================

Java is installed... nice!

==========================================================

Connect your device via USB or WiFi (ie. Wireless ADB!)

To use ADB Wirelessly, enter your internal IP and port #

Example: 192.168.0.69:1234

But, if your port is 5555, just the IP alone is fine.

To connect your device via USB...

...DISABLE Memory Card Access! (Charge Only)

...ENABLE Android Debugging (Settings/Dev Options)

...and DISABLE Wireless ADB!!

If both methods fail...

...install Windows drivers for your device!

Enter an IP for Wireless ADB or...

Just press the enter key for USB:

==========================================================

You're All Wired Up... I Hope!

==========================================================

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

==========================================================

It's better to run adb as Root if you can!

If it don't work, just try again and say no next time...

...since it should still work :P

Restart adb as root? Enter Y for Yes, any key for No: y

adbd is already running as root

==========================================================

Found BusyBox v1.19.4-wraithdu!

==========================================================

But if you see any "applet" not found errors...

...you need a better busybox build!

==========================================================

Storage partition is /sdcard

==========================================================

/sdcard is accessible... So far so good!

==========================================================

Pulling services.* from your Android thingie!

23 KB/s (313 bytes in 0.013s)

==========================================================

api level is 15 (used for baksmali)

==========================================================

Some info about your current services.odex...

==========================================================

-rw-r--r-- 1 root root 1965488 Aug 1 2008 /s

ystem/framework/services.odex

==========================================================

It's size and timestamp should change later!

Press the enter key when ready...

==========================================================

This ROM is ODEXED... cross your fingers...

==========================================================

...because I have extra work to do... lol

Now pulling the entire system/framework folder!

pull: building file list...

pull: /system/framework/patch2.done -> framework/patch2.don

e

pull: /system/framework/patch1.done -> framework/patch1.don

e

pull: /system/framework/patch3.done -> framework/patch3.don

e

pull: /system/framework/versionapi.odex -> framework/versio

napi.odex

pull: /system/framework/versionapi.jar -> framework/version

api.jar

pull: /system/framework/svc.odex -> framework/svc.odex

pull: /system/framework/svc.jar -> framework/svc.jar

pull: /system/framework/services.odex -> framework/services

.odex

pull: /system/framework/services.jar -> framework/services.

jar

pull: /system/framework/qcrilhook.odex -> framework/qcrilho

ok.odex

pull: /system/framework/qcrilhook.jar -> framework/qcrilhoo

k.jar

pull: /system/framework/qcnvitems.odex -> framework/qcnvite

ms.odex

pull: /system/framework/qcnvitems.jar -> framework/qcnvitem

s.jar

pull: /system/framework/pm.odex -> framework/pm.odex

pull: /system/framework/pm.jar -> framework/pm.jar

pull: /system/framework/monkey.odex -> framework/monkey.ode

x

pull: /system/framework/monkey.jar -> framework/monkey.jar

pull: /system/framework/modemwarmup.odex -> framework/modem

warmup.odex

pull: /system/framework/modemwarmup.jar -> framework/modemw

armup.jar

pull: /system/framework/jrdcom.framework.odex -> framework/

jrdcom.framework.odex

pull: /system/framework/jrdcom.framework.jar -> framework/j

rdcom.framework.jar

pull: /system/framework/javax.obex.odex -> framework/javax.

obex.odex

pull: /system/framework/javax.obex.jar -> framework/javax.o

bex.jar

pull: /system/framework/input.odex -> framework/input.odex

pull: /system/framework/input.jar -> framework/input.jar

pull: /system/framework/ime.odex -> framework/ime.odex

pull: /system/framework/ime.jar -> framework/ime.jar

pull: /system/framework/framework.odex -> framework/framewo

rk.odex

pull: /system/framework/framework.jar -> framework/framewor

k.jar

pull: /system/framework/framework-res.apk -> framework/fram

ework-res.apk

pull: /system/framework/filterfw.odex -> framework/filterfw

.odex

pull: /system/framework/filterfw.jar -> framework/filterfw.

jar

pull: /system/framework/ext.odex -> framework/ext.odex

pull: /system/framework/ext.jar -> framework/ext.jar

pull: /system/framework/core.odex -> framework/core.odex

pull: /system/framework/core.jar -> framework/core.jar

pull: /system/framework/core-junit.odex -> framework/core-j

unit.odex

pull: /system/framework/core-junit.jar -> framework/core-ju

nit.jar

pull: /system/framework/com.quicinc.cne.odex -> framework/c

om.quicinc.cne.odex

pull: /system/framework/com.quicinc.cne.jar -> framework/co

m.quicinc.cne.jar

pull: /system/framework/com.qualcomm.location.vzw_library.o

dex -> framework/com.qualcomm.location.vzw_library.odex

pull: /system/framework/com.qualcomm.location.vzw_library.j

ar -> framework/com.qualcomm.location.vzw_library.jar

pull: /system/framework/com.google.widevine.software.drm.od

ex -> framework/com.google.widevine.software.drm.odex

pull: /system/framework/com.google.widevine.software.drm.ja

r -> framework/com.google.widevine.software.drm.jar

pull: /system/framework/com.google.android.media.effects.od

ex -> framework/com.google.android.media.effects.odex

pull: /system/framework/com.google.android.media.effects.ja

r -> framework/com.google.android.media.effects.jar

pull: /system/framework/com.google.android.maps.odex -> fra

mework/com.google.android.maps.odex

pull: /system/framework/com.google.android.maps.jar -> fram

ework/com.google.android.maps.jar

pull: /system/framework/com.broadcom.bt.odex -> framework/c

om.broadcom.bt.odex

pull: /system/framework/com.broadcom.bt.le.odex -> framewor

k/com.broadcom.bt.le.odex

pull: /system/framework/com.broadcom.bt.le.jar -> framework

/com.broadcom.bt.le.jar

pull: /system/framework/com.broadcom.bt.jar -> framework/co

m.broadcom.bt.jar

pull: /system/framework/com.android.location.provider.odex

-> framework/com.android.location.provider.odex

pull: /system/framework/com.android.location.provider.jar -

> framework/com.android.location.provider.jar

pull: /system/framework/cneapiclient.odex -> framework/cnea

piclient.odex

pull: /system/framework/cneapiclient.jar -> framework/cneap

iclient.jar

pull: /system/framework/bu.odex -> framework/bu.odex

pull: /system/framework/bu.jar -> framework/bu.jar

pull: /system/framework/browsermanagement.odex -> framework

/browsermanagement.odex

pull: /system/framework/browsermanagement.jar -> framework/

browsermanagement.jar

pull: /system/framework/bouncycastle.odex -> framework/boun

cycastle.odex

pull: /system/framework/bouncycastle.jar -> framework/bounc

ycastle.jar

pull: /system/framework/bmgr.odex -> framework/bmgr.odex

pull: /system/framework/bmgr.jar -> framework/bmgr.jar

pull: /system/framework/apache-xml.odex -> framework/apache

-xml.odex

pull: /system/framework/apache-xml.jar -> framework/apache-

xml.jar

pull: /system/framework/android.test.runner.odex -> framewo

rk/android.test.runner.odex

pull: /system/framework/android.test.runner.jar -> framewor

k/android.test.runner.jar

pull: /system/framework/android.policy.odex -> framework/an

droid.policy.odex

pull: /system/framework/android.policy.jar -> framework/and

roid.policy.jar

pull: /system/framework/am.odex -> framework/am.odex

pull: /system/framework/am.jar -> framework/am.jar

pull: /system/framework/Jrdshared.apk -> framework/Jrdshare

d.apk

73 files pulled. 0 files skipped.

2674 KB/s (29093251 bytes in 10.621s)

Installing dexopt-wrapper to /data...

414 KB/s (5512 bytes in 0.013s)

==========================================================

Running baksmali to decompile and get smalis...

Error occured while disassembling class Lcom.android.server

.BackupManagerService$PerformFullRestoreTask; - skipping cl

ass

java.lang.RuntimeException: Invalid method index: 100

at org.jf.dexlib.Code.Analysis.InlineMethodResolver

$InlineMethodResolver_version36.resolveExecuteInline(Inline

MethodResolver.java:157)

at org.jf.dexlib.Code.Analysis.DeodexUtil.lookupInl

ineMethod(DeodexUtil.java:64)

at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analy

zeExecuteInline(MethodAnalyzer.java:3467)

at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analy

zeInstruction(MethodAnalyzer.java:1087)

at org.jf.dexlib.Code.Analysis.MethodAnalyzer.analy

ze(MethodAnalyzer.java:213)

at org.jf.baksmali.Adaptors.MethodDefinition.addAna

lyzedInstructionMethodItems(MethodDefinition.java:389)

at org.jf.baksmali.Adaptors.MethodDefinition.getMet

hodItems(MethodDefinition.java:311)

at org.jf.baksmali.Adaptors.MethodDefinition.writeT

o(MethodDefinition.java:132)

at org.jf.baksmali.Adaptors.ClassDefinition.writeMe

thods(ClassDefinition.java:338)

at org.jf.baksmali.Adaptors.ClassDefinition.writeVi

rtualMethods(ClassDefinition.java:310)

at org.jf.baksmali.Adaptors.ClassDefinition.writeTo

(ClassDefinition.java:117)

at org.jf.baksmali.baksmali.disassembleDexFile(baks

mali.java:186)

at org.jf.baksmali.main.main(main.java:308)

Backing up files to \backup folder...

1 file(s) copied.

1 file(s) copied.

1 file(s) copied.

1 file(s) copied.

1 file(s) copied.

Copying smali files needed for patching...

1 file(s) copied.

1 file(s) copied.

==========================================================

About to run Ultimate Jar Power Tools...

==========================================================

Press the enter key when ready...

==========================================================

Running ALL_ROMS_Ultimate_Jar_Power_Tools-Smali_Patcher_RC

10.sh...

================================================

-=Ultimate Jar Power Tools=-

================================================

1. Jelly ISCream (SuperCharge ICS and up)...

2. Maximum MultiTasking Mods (Froyo and up)...

3. Non-Sense App Limit (Sense 4.0 and up)...

================================================

Brought to you by your sometimes...

...friendly...

...neighborhood...

-=zeppelinrox=-

================================================

So... which files get patched...?

ALL ROMS have ActivitiyManagerServices.smali...

ICS ROMS and up also have ProcessList.smali...

================================================

Analyzing smali files... keep your skirt on :p

================================================

"Jelly ISCream" for Jelly Bean and Ice Cream!

================================================

Wanna SuperCharge your services.jar?

Enter Y for Yes, any key for No: y

================================================

In the V6 Thread, this is STEP 5 in Post #2!

================================================

Because you're too lazy to edit smali files...

...and I like showing off... LOL

I'll edit ActivityManagerService.smali...

...and ProcessList.smali

So they'll be SuperCharged nice, nice...

================================================

SuperCharged Launcher Strength...

=================================

Hard To Kill Launcher is...

...Strong BUT Still Killable!

Die-Hard Launcher is...

...VERY Strong and RECOMMENDED!

BulletProof Launcher is...

...Strongest and UNKILLABLE!

===========================================

\\\\\ BULLETPROOF LAUNCHER WARNING! /////

=======================================

================================================

This Breaks "Long-Press Back To Kill"!

================================================

If you don't have or don't use this feature...

...don't worry about it ;)

================================================

Note 1: This is NOT for Gamers! (Less Free RAM)

================================================

Note 2: It also does not play nice with Tasker!

================================================

Select a Launcher Strength...

(H)TK, (B)ulletProof, any key for Die-Hard:

================================================

SuperCharged Launcher Strength is Die-Hard!

================================================

Prior ADJs from ProcessList.smali are...

HOME_APP_ADJ = 0x6

VISIBLE_APP_ADJ = 0x1

PREVIOUS_APP_ADJ = 0x7

HEAVY_WEIGHT_APP_ADJ = 0x3

SERVICE_ADJ = 0x5

BACKUP_APP_ADJ = 0x4

================================================

New ADJs will be...

HOME_APP_ADJ = 0x1

VISIBLE_APP_ADJ = 0x3

PREVIOUS_APP_ADJ = 0x5

HEAVY_WEIGHT_APP_ADJ = 0x4

SERVICE_ADJ = 0x6

BACKUP_APP_ADJ = 0x7

================================================

And...

Here...

We...

================================================

GO!

================================================

Your smali files are now SuperCharged!

================================================

But wait...

...there's MORE...

================================================

The Maximum MultiTasking Mods!

================================================

The Time Killer Killer...

...and...

=====================================

\\\\\ -=MAXIMUM OVERDRIVE=- /////

=================================

1. Android kills apps after 30 minutes...

...even if you have TONS of Free RAM. Ugh.

The Time Killer Killer raises it to 24hrs!

2. Android only allows 15 hidden apps to run...

Even if you have TONS of RAM...

...YOU CAN'T MULTITASK AS YOU SHOULD!

================================================

Maximum Overdrive will increase it to 70 APPS!

================================================

Plus, Android will keep only 2 hidden apps...

...then empty apps can push them out of memory!

But with "Minimum Hidden Protection"...

...it's bumped up to 15 ie. the old maximum!

================================================

Bonus Mod for this ROM: "Service Preserver"!

================================================

Apps that you recently ran (service apps)...

...can sometimes become the "worstType"...

...and therefore can be easily killed. Duh!

So this will stop that silly behaviour ;^]

================================================

READ THIS IMPORTANT INFO!

================================================

If your device gets laggy after this mod...

Use the V6 SuperCharger script...

...to RAISE the minfree levels!

The lowmemorykiller probably isn't even used...

...on high end devices...

...due to pre-emptive app killing!

But for better MultiTasking...

...LOWER the minfree levels!

================================================

Wanna test out The Maximum MultiTasking Mods?

Enter Y for Yes, any key for No: y

================================================

Applying The Time Killer Killer...

================================================

...Enabling Maximum Overdrive!

================================================

And now the Bonus Mod: "Service Preserver"! ;^]

================================================

Maximum MultiTasking Mods Installed!

================================================

Please leave feedback...

...in the XDA SuperCharger thread...

...or the Ultimate Jar Power Tools thread :D

================================================

CUZ I'M ALL DONE!

================================================

1 file(s) copied.

1 file(s) copied.

Creating new classes.dex file...

smali_files\com\android\server\BackupManagerService$Perform

FullRestoreTask.smali[0,-1] no viable alternative at input

'<EOF>'

Updating services.jar with Info-Zip 3.0

zip warning: name not matched: classes.dex

zip error: Nothing to do! (try: zip -r services.jar . -i cl

asses.dex)

1 KB/s (313 bytes in 0.245s)

Pushing new services.jar to /system/framework...

Creating new services.odex...

--- BEGIN '/system/framework/services_new.jar' (bootstrap=0

) ---

--- waiting for verify+opt, pid=2360

--- would reduce privs here

--- END '/system/framework/services_new.jar' --- status=0xf

f00, process failed

Applying "special sauce" to services.odex...

20+0 records in

20+0 records out

20 bytes (20B) copied, 0.003937 seconds, 5.0KB/s

7 KB/s (72 bytes in 0.009s)

==========================================================

Installing patched services.odex!

==========================================================

1072 KB/s (364627 bytes in 0.332s)

1 file(s) moved.

1 file(s) moved.

NEW info about your current services.odex...

==========================================================

-rw-r--r-- 1 root root 72 Aug 16 03:16 /s

ystem/framework/services.odex

==========================================================

services.odex MUST have a brand new timestamp!

==========================================================

If it does not, it didn't work!!

==========================================================

Now comparing to the new one I made on /sdcard...

==========================================================

w00t! /framework/services.odex is PERFECTLY FINE!

==========================================================

If it didn't work...

...post ultimatic_log.txt in the Ultimatic Thread!

Also try to install it manually from $storage or use...

...V6 SuperCharger's "Jelly ISCream Parlor"!

==========================================================

And Hey! You can run the V6 SuperCharger script...

...RIGHT NOW from your computer!

==========================================================

Type "su" and enter, "sh /sdcard/V6*.sh" and enter!

==========================================================

Type "reboot" to reboot your device now!

Type "exit" to uhhh... exit :D

==========================================================

You NEED to reboot... Aaaaaand... That's All Folks!

==========================================================

End Time: Fri 08/16/201311:16:20.63

root@android:/ #

Here you go. Bootloop after that.