Slide # 1

1

GET TUTORIALS RELATING TO JAVA S40 N AlchemyOS N OTHER OS!!! Read More

Slide # 2

2

GET TUTORIALS RELATING TO JAVA S40 N AlchemyOS N OTHER OS!!! Read More

Slide # 3

3

GET TUTORIALS RELATING TO JAVA S40 N AlchemyOS N OTHER OS!!! Read More

Slide # 4

4

GET TUTORIALS RELATING TO JAVA S40 N AlchemyOS N OTHER OS!!! Read More

Slide # 5

5

GET TUTORIALS RELATING TO JAVA S40 N AlchemyOS N OTHER OS!!! Read More

Friday, 18 July 2014

[Tutorial] [Updated] UC Modding Tutorials [Part-3]



Saving UC themes in Memory Card:

1> Rename your target UCbrowser  as UC.zip with MT file Manager 

2>Now select UC.zip and search for .uct with MT3 classes named bi.class,av.class and j.class will be extracted for uc 9.4Open the largest j.class and  search for .uct. 1 Method will pop up. Open the method and you will see the following code for UC 9.4.


  aload_1
  ifnonnull Label11
  aload_0
  invokevirtual j/c()Lh;
  goto Label12
Label11:
  aload_1
Label12:
  astore_1
  bipush 7
  anewarray java/lang/String
  astore_3
  aload_2
  iconst_0
  aload_3
  iconst_0
  aload_2
  arraylength
  invokestatic java/lang/System/arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
  aload_3
  iconst_0
  aaload
  aload_3
  iconst_1
  aaload
  aload_3
  iconst_2
  aaload
  aload_3
  iconst_3
  aaload
  aload_3
  iconst_4
  aaload
  aload_3
  iconst_5
  aaload
  aload_3
  bipush 6
  aaload
  invokestatic ab/a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
  dup
  astore_3
  iconst_3
  aaload
  ifnull Label157
  aload_3
  iconst_3
  aaload
ldc ".uct"
  invokevirtual java/lang/String/endsWith(Ljava/lang/String;)Z
ifeq Label157 change it to ifne Label157
  aload_0
  aload_3
  astore_2
  astore_1
  invokestatic bi/b()I
  iconst_5
  if_icmplt Label101
  bipush 99
  invokestatic ak/a(I)Ljava/lang/String;
  ldc ","
  bipush 41
  invokestatic ak/a(I)Ljava/lang/String;
  invokestatic ab/b(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  astore_1
  goto Label146
Label101:
  aload_1
  getfield j/e Z
  ifeq Label117
  bipush 42
  invokestatic ak/a(I)Ljava/lang/String;
  astore_1
  goto Label146
Label117:
  aload_1
  iconst_1
  putfield j/e Z
  invokestatic av/a()Lav;
  pop
  aload_2
  aconst_null
  iconst_3
  invokestatic av/a([Ljava/lang/String;Ljava/lang/String;B)Lap;
  pop
  bipush 45
  invokestatic ak/a(I)Ljava/lang/String;
  astore_1
  invokestatic av/a()Lav;
  aconst_null
  invokevirtual av/c(Lap;)V
Label146:
  getstatic cn/uc/application/app/WebClient/a Lj;
  aload_1
  aconst_null
  invokevirtual j/a(Ljava/lang/String;Ljavax/microedition/lcdui/Displayable;)V
  goto Label173
Label157:
  invokestatic aj/a()Laj;
  astore_2
  aload_0
  aload_2
  aload_3
  iconst_0
  invokespecial j/a(Laj;[Ljava/lang/String;B)V
  aload_1
  aload_2
  invokevirtual h/d(Laj;)V
Label173:
  aload_0
  ldc 2359418
  invokevirtual bf/l(I)V
  return
  pop
  return


95% Network Progress bar:

1> Rename your target UCbrowser  as UC.zip with MT file Manager 

2>Now select UC.zip and search for <assign data=" with MT or directly extract the 2nd largest Class file. for uc 9.4 Openbb.class and go to Constant Pool and press # key and search for 200. You will see following values in Constant pool 

Long_info: 12
Long_info: 12
Long_info: 24
Long_info: 24
Long_info: 200 Change it to 1
Long_info: 200 Change it to 1
Long_info: 500
Long_info: 500

Now we will change how much progress bar will be instantly loaded when we click on a web link.


3> Open the same class and search for bipush 100. Several methods pop up and Search bipush 100 again. For uc9.4 you will see the following code.


Label60:
  iload_1
iconst_2 change it to iconst_1
  iadd
bipush 60 this denotes how much network progress bar will be loaded. For 95% change it bipush 95
  goto Label85
Label68:
  iload_1
  bipush 100
  if_icmpne Label75
  return
Label75:
  iload_1
  iconst_3
  goto Label82
Label80:
  iload_1
  iconst_2
Label82:
  iadd
  bipush 99
Label85:
  invokestatic java/lang/Math/min(II)I
  istore_1
Label89:



Now Save the class and test your work 


Changing download block:

in this example i am taking uc 8.5 as download block works for older versions.

1> Rename UC 8.5 cloud to UC.zip with MT file Manager 

2> Now select UC 8.5 and search for 1M with MT1 class named j.class will be extracted. 

3> Open j.class with MT and search for 1M again. 1 method named i(Lae;)V will pop up. Open it and search again 1Mpressing 8 key. You will see the following code.

  invokevirtual ae/a(I[B[BIIZZZ)V
bipush 8 Total number of download block
  anewarray java/lang/String
  dup
  iconst_0
  ldc "10K"
  aastore
  dup
  iconst_1
  ldc "50K"
  aastore
  dup
  iconst_2
  ldc "100K"
  aastore
  dup
  iconst_3
  ldc "300K"
  aastore
  dup
  iconst_4
  ldc "600K"
  aastore
  dup
  iconst_5
ldc "1M" suppose we will change download block 1M to 900kb. Directly changing from method asks for preverifying. So we will change it from constant pool. close the class and re-open the class With MT and in constant pool search for 1M and change it to 900kb.  Remember we have just changed download block name and we have to change values now.
  aastore
  dup
  bipush 6
  ldc "2M"
  aastore
  dup
  bipush 7
  ldc "5M"
  aastore
  astore_2
getstatic bd/i B copy this line
  aload_2
  arraylength
  irem
  getstatic bd/i B
  if_icmpne Label1562
  getstatic bd/i B
  goto Label1563
Label1562:


Now we will change values:

<1>Select UC.zip with MT and Search for down:lnk1 class named aa.class will be extracted. Now open the class and search for getstatic bd/i B that i had said you to copy before. 1 Method named d()V will pop-up. Open it you will see the following codes.

  bipush 8 
  newarray int
  dup
  iconst_0
  sipush 10239
  iastore
  dup
  iconst_1
  ldc 51199
  iastore
  dup
  iconst_2
  ldc 102399
  iastore
  dup
  iconst_3
  ldc 307199
  iastore
  dup
  iconst_4
  ldc 614399
  iastore
  dup
  iconst_5
ldc 1048575 It means 1M download block. Copy the values as we will change it from constant pool to avoid preverifying problem. Search in constant pool 1048575 and change it to 921599 which means 900k for download block.
  iastore
  dup
  bipush 6
  ldc 2097151
  iastore
  dup
  bipush 7
  ldc 5242879
  iastore
  dup
  astore_0
  getstatic bd/i B
  aload_0
  arraylength
  irem
  getstatic bd/i B
  if_icmpne Label67
  getstatic bd/i B
  goto Label68
Label67:
  iconst_1
Label68:
  iaload
  putstatic aa/b I
  return

In the same way you can change Page Segment


C2hallofu's Tutorial

0 comments:

Post a Comment