Halo bitcoin
Publish: 2021-05-14 17:38:33
1. Dear Xunlei users, Hello:
it is suggested that you can buy genuine movies to watch. If there are movies you want to watch on Xunlei, you can also go to Xunlei www.kankan.com To watch, but look at the thunder inside some of the films, e to the requirements of the right, you need to charge or open the movie VIP can watch
you can also go to the movie Paradise: http://www.dy2018.com/
Renren film: http://www.yyets.com/ Search
for the latest movie, if the cinema is not off the shelves, it will not be available on the Internet. We do not rule out some unclear secret versions. We suggest that you wait patiently for the emergence of legitimate Internet movies
thank you for your support to Xunlei. I hope I can help you
for more questions, you are welcome to ask questions on Xunlei network platform.
it is suggested that you can buy genuine movies to watch. If there are movies you want to watch on Xunlei, you can also go to Xunlei www.kankan.com To watch, but look at the thunder inside some of the films, e to the requirements of the right, you need to charge or open the movie VIP can watch
you can also go to the movie Paradise: http://www.dy2018.com/
Renren film: http://www.yyets.com/ Search
for the latest movie, if the cinema is not off the shelves, it will not be available on the Internet. We do not rule out some unclear secret versions. We suggest that you wait patiently for the emergence of legitimate Internet movies
thank you for your support to Xunlei. I hope I can help you
for more questions, you are welcome to ask questions on Xunlei network platform.
2.
a good TV play requires not only a good script, actor and director, but also an unforgettable supporting role. Many people only remember the name of the leading role after watching the TV play. But forget those important supporting roles in the play strong>
8. Mobile games can be divided into two categories according to different files, one is class file, the representative works are: hero legend, etc., the other is resource file, the representative works are rainbow castle, etc. At present, one can be modified with halo2.0, and the other can not be modified with halo2.0. Please use hexadecimal tools (UE, hex, etc.) to modify. This article will not discuss. In addition, the modification of archive class is not included in this article, because it also involves hexadecimal tools
BT modification may destroy the original fun of the game, so I don't advocate it. It's just technical communication. Again, if you want to experience the fun of the game, please download the original
tools: halo2.0, DJ Java decoder
java games: Legend of heroes S60 original (s60v3240 * 320) (this paper takes this as an example. Why the original? Why is it just S60? This is to allow more fans to modify the Chinese version of the legend of heroes by themselves, because if they want to play, they will be motivated. You can't learn to modify BT if you use it directly.)
1. Data preparation
what is data preparation? Why data preparation? In short, what data do we need to change and what is the original initial value in the game? Let's simulate with sjboy to see which attribute data we want to change
Gee! Cell phone urchin can't simulate?! When you choose a character, you can't enter the game by pressing any key. In fact, just keep pressing F3 to slow down the game! After entering the game, go to the character menu interface,
good, mainly the following data, money 300
Figure 1: Level 1, experience 0, upgrade needs experience 80, health 72 / 72, mana 60 / 60
Figure 2: strength 8, life 5, agility 3, will 4, attack 16, defense 5
Figure 3: can add points 0
2 Data search and modification
let's find these data one by one and modify them to the BT value we want. Review the modification tutorial of BB, open halo2.0, select class editor, edit, full text search, enter 300 (why 300? Because this value is more special, the repetition rate is less. If you choose 1, 0, 8 or others, you may find out a lot of them. If you don't have the programming foundation, you will be confused. Which one is the right one to choose. So why not choose 72? This is also very special! I want to tell you an unfortunate news, in this game search, there will be a lot of, and can tell you, the search is not. Why Experience? no This is the analysis of the later compiled files.) Only one target is found. According to BB's tutorial, the parameters have been modified, including money 300, strength 8, life 5, agility 3 and will 4. 5 values
according to BB's method, why can't we find other relevant values?! What if I have to revise it? In fact, there are two ways to assign attribute values. One is explicit. For example, I = 300 or a = 5. BB can only modify these data in the tutorial. The other is implicit, such as a = (B + C) * 100. This tutorial focuses on the modification of implicit values
generally speaking, if the property value is assigned, it will be in the same class file. Therefore, since we have found the class of money 300, we should also find other property values. Which class file is the money 300 in? The answer is in the search results, the class name -- Ao
now decompile ao.class with DJ, find 300, and find that A_ g_ fld.a = 300; The variable of money is called a_ g_ FLD. A, the value is 300. Then look for 8, 5, 3 and 4, and find them too< br />
case 6: // ' 92; 006'< br />
b_ short_ fld = 8;< br />
e_ short_ fld = 5;< br />
f_ short_ fld = 3;< br />
g_ short_ fld = 4;< br />
a_ e_ array1d_ fld[0] = (e)ad.a((byte)0, (byte)0, true, false);< br />
a_ e_ array1d_ fld[0].b = true;< br />
a_ e_ array1d_ fld[0].h = 1;< br />
break;
hehe, the variable of strength is named B_ short_ FLD, the same as below, without explanation
let's have a look. It's true. This also confirms that this is an implicit assignment. So what do we do? So many variables, the characters are too big to distinguish which is which. At first, I thought about it for a long time, one by one, too slow. Let's search B first_ short_ FLD look and find Ni Duan< br />h_ short_ fld += ((b_ short_ fld + m) * 4) / 5;< br />i_ short_ fld += (b_ short_ fld + m) / 5;< br />dataoutputstream.writeShort(b_ short_ fld);
the first two are the so-called implicit ones?! What do h and I stand for? Not for the moment. The last sentence is Io stream operation, which means write to B_ short_ FLD variable value. This gives us some inspiration
because
dataoutputstream = new dataoutputstream (bytearrayoutstream)). Writebyte (f_ byte_ fld);< br />
dataoutputstream.writeByte(g_ byte_ fld);< br />
dataoutputstream.writeInt(a_ int_ fld);< br />
dataoutputstream.writeInt(b_ int_ fld);< br />
dataoutputstream.writeInt(c_ int_ fld);< br />
dataoutputstream.writeInt(d_ int_ fld);< br />
dataoutputstream.writeInt(e_ int_ fld);< br />
dataoutputstream.writeInt(f_ int_ fld);< br />
dataoutputstream.writeByte(z);< br />
dataoutputstream.writeShort(a_ short_ fld);< br />
dataoutputstream.writeShort(b_ short_ fld);< br />
dataoutputstream.writeShort(e_ short_ fld);< br />
dataoutputstream.writeShort(f_ short_ fld);< br />
dataoutputstream.writeShort(g_ short_ fld);
just find the source of these data, that is, the source of attribute value. The last four variables are the four attribute parameters in BB tutorial, which will not be discussed here
1. Let's start with F_ byte_ The FLD variable starts. First, search to see what the variable represents. There are three searches for this variable. The first two are write and read; The other is to assign the initial value of public byte F_ byte_ fld = 0; So I don't care< br />
2. g_ byte_ FLD variable, or search, G_ byte_ fld = 1; In addition, there are several judgments, omitted, interested fans can study on their own
in addition, if (G_ byte_ fld < 99)
{g_ byte_ fld++;
...
}
guess is a grade. If the variable is less than 99, add it graally. After testing, it is indeed a variable representing the grade. So let's try changing the variable to 11, which is g_ byte_ Change FLD = 1 to g_ byte_ fld = 1; This is an explicit function. The modification method is the same as BB tutorial. After modification, it is shown in the figure:
3. Variable a_ int_ fld = d_ int_ fld; b_ int_ fld = e_ int_ fld; So let's look at the variable d first_ int_ fld
d_ int_ fld = (e_ short_ fld + n + g_ byte_ fld) * 12;< br />e_ int_ fld = (g_ short_ fld + p + g_ byte_ fld) * 12;
let us see some hope. Because 72 and 60 are multiples of 12, is that what we are looking for
as far as we know, e_ short_ fld=5,g_ short_ FLD = 4 (mentioned earlier), then G_ byte_ FLD is the level mentioned in the previous 2, that is, health value and magic value are related to life and will, and also related to level. What do n and P stand for< br />
public final void n()
{
e ae1[] = (e[])a_ e_ array1d_ fld;< br />m = 0;< br />n = 0;< br />o = 0;< br />p = 0;< br />for(int i1 = 0; i1 < 5; i1++)
if(ae1[i1] != null)
{
m += ae1[i1].j[0];< br />n += ae1[i1].j[1];< br />o += ae1[i1].j[2];< br />p += ae1[i1].j[3];
}
assign and add values in n(). The initial value is n = 0, P = 0; Substituting, D_ int_ fld=72 e_ int_ fld=60,^_^, I finally found my real body. So the simplest modification is to modify the coefficient 12, because it does not change the original calculation formula, and it is easy to operate. Of course, you can also modify it to other factors. Change 12 to 60, which should theoretically be 360 and 300.
halo2.0 operation steps: open jar, select ao.class. Right click editor class, and the following figure appears:
decompile, D_ int_ fld = (e_ short_ fld + n + g_ byte_ fld) * 12 In public final void n(), the halo2.0 method finds n, and the access control public and final are checked. The type of void is exactly the same as that of decompilation. Then select the code under the n method, as shown in the figure
after changing the 12 in 159 bipush 12 and 180 bupush 12 to 60, save the method, compile and package the method, and run as follows:
consistent with the guess. Binggo, of course, can also directly modify this implicit function, which is not discussed here There is no limit to modification. As long as you can think of it, there are many ways to modify it. I'm just providing you with ideas)
so the a found earlier_ int_ What is FLD? Continue to search,
public final void B (int I1)
{
A_ int_ fld += i1;< br />
if(a_ int_ fld > d_ int_ fld)
a_ int_ fld = d_ int_ fld;< br />
if(a_ int_ fld < 0)
a_ int_ fld = 0;< br />
bs.a_ as_ static_ fld.c();< br />
if(a_ int_ fld == 0)
{
a((byte)6);< br />
super.k = 0;< br />
u = 24;< br />
return;< br />
} else
{
return;
}
}
so you can know that a_ int_ FLD represents the current value of health. Similarly, we can get B_ int_ FLD represents the current value of mana
4. Variable C_ int_ fld,c_ int_ fld = 0; Is the initial value 0 an empirical value? Continue to search,
public final void f (int I1)
{
I1 * = 4< br />for(c_ int_ fld += i1; c_ int_ fld >= f_ int_ fld;)< br />{
c_ int_ fld -= f_ int_ fld;< br />
r();< br />}
if(c_ int_ fld < 0)
c_ int_ fld = 0;< br />bs.a_ as_ static_ fld.e();< br />
a_ p_ fld.a(i1);
}
since F_ int_ FLD, by the way, we find that
F_ int_ fld = (g_ byte_ fld * g_ byte_ fld * g_ byte_ fld - g_ byte_ fld * g_ byte_ fld) + 80 * g_ byte_ fld;
it's exciting to see 80, because G_ byte_ If the initial value of FLD is 1 (searched earlier), then f_ int_ The initial value of FLD is 80. Haha, I finally found the experience value for upgrading. In order to verify our conjecture, try to change 80 to 99, as shown in the figure, which is true:
hehe, change F_ int_ FLD changed to 1 can be achieved, play a strange can be upgraded to N levels, or their own programming function, to achieve a strange play up to one level
back to C_ int_ FLD, then when C_ int_ fld += i1; c_ int_ fld >= f_ int_ fld; C_ int_ fld += i1; c_ int_ fld -= f_ int_ fld; Conjecture C_ int_ The FLD variable represents the empirical value. Because if C_ int_ fld=82> At 80, then upgrade, and the experience value becomes 82-80 = 2. OK, let's simply modify C_ int_ The initial value of FLD. c_ int_ FLD = 0, try changing 0 to 66. In the public final void C (byte byte0) method, the variable assignment statement is modified to the following figure:
so far, all the parameter levels, experience values, upgrade experience values, health values and mana values involved in Figure 1. All found and modified
5. Variable a_ short_ fld,a_ short_ fld =0,
if(g_ byte_ fld < 99)
{
BT modification may destroy the original fun of the game, so I don't advocate it. It's just technical communication. Again, if you want to experience the fun of the game, please download the original
tools: halo2.0, DJ Java decoder
java games: Legend of heroes S60 original (s60v3240 * 320) (this paper takes this as an example. Why the original? Why is it just S60? This is to allow more fans to modify the Chinese version of the legend of heroes by themselves, because if they want to play, they will be motivated. You can't learn to modify BT if you use it directly.)
1. Data preparation
what is data preparation? Why data preparation? In short, what data do we need to change and what is the original initial value in the game? Let's simulate with sjboy to see which attribute data we want to change
Gee! Cell phone urchin can't simulate?! When you choose a character, you can't enter the game by pressing any key. In fact, just keep pressing F3 to slow down the game! After entering the game, go to the character menu interface,
good, mainly the following data, money 300
Figure 1: Level 1, experience 0, upgrade needs experience 80, health 72 / 72, mana 60 / 60
Figure 2: strength 8, life 5, agility 3, will 4, attack 16, defense 5
Figure 3: can add points 0
2 Data search and modification
let's find these data one by one and modify them to the BT value we want. Review the modification tutorial of BB, open halo2.0, select class editor, edit, full text search, enter 300 (why 300? Because this value is more special, the repetition rate is less. If you choose 1, 0, 8 or others, you may find out a lot of them. If you don't have the programming foundation, you will be confused. Which one is the right one to choose. So why not choose 72? This is also very special! I want to tell you an unfortunate news, in this game search, there will be a lot of, and can tell you, the search is not. Why Experience? no This is the analysis of the later compiled files.) Only one target is found. According to BB's tutorial, the parameters have been modified, including money 300, strength 8, life 5, agility 3 and will 4. 5 values
according to BB's method, why can't we find other relevant values?! What if I have to revise it? In fact, there are two ways to assign attribute values. One is explicit. For example, I = 300 or a = 5. BB can only modify these data in the tutorial. The other is implicit, such as a = (B + C) * 100. This tutorial focuses on the modification of implicit values
generally speaking, if the property value is assigned, it will be in the same class file. Therefore, since we have found the class of money 300, we should also find other property values. Which class file is the money 300 in? The answer is in the search results, the class name -- Ao
now decompile ao.class with DJ, find 300, and find that A_ g_ fld.a = 300; The variable of money is called a_ g_ FLD. A, the value is 300. Then look for 8, 5, 3 and 4, and find them too< br />
case 6: // ' 92; 006'< br />
b_ short_ fld = 8;< br />
e_ short_ fld = 5;< br />
f_ short_ fld = 3;< br />
g_ short_ fld = 4;< br />
a_ e_ array1d_ fld[0] = (e)ad.a((byte)0, (byte)0, true, false);< br />
a_ e_ array1d_ fld[0].b = true;< br />
a_ e_ array1d_ fld[0].h = 1;< br />
break;
hehe, the variable of strength is named B_ short_ FLD, the same as below, without explanation
let's have a look. It's true. This also confirms that this is an implicit assignment. So what do we do? So many variables, the characters are too big to distinguish which is which. At first, I thought about it for a long time, one by one, too slow. Let's search B first_ short_ FLD look and find Ni Duan< br />h_ short_ fld += ((b_ short_ fld + m) * 4) / 5;< br />i_ short_ fld += (b_ short_ fld + m) / 5;< br />dataoutputstream.writeShort(b_ short_ fld);
the first two are the so-called implicit ones?! What do h and I stand for? Not for the moment. The last sentence is Io stream operation, which means write to B_ short_ FLD variable value. This gives us some inspiration
because
dataoutputstream = new dataoutputstream (bytearrayoutstream)). Writebyte (f_ byte_ fld);< br />
dataoutputstream.writeByte(g_ byte_ fld);< br />
dataoutputstream.writeInt(a_ int_ fld);< br />
dataoutputstream.writeInt(b_ int_ fld);< br />
dataoutputstream.writeInt(c_ int_ fld);< br />
dataoutputstream.writeInt(d_ int_ fld);< br />
dataoutputstream.writeInt(e_ int_ fld);< br />
dataoutputstream.writeInt(f_ int_ fld);< br />
dataoutputstream.writeByte(z);< br />
dataoutputstream.writeShort(a_ short_ fld);< br />
dataoutputstream.writeShort(b_ short_ fld);< br />
dataoutputstream.writeShort(e_ short_ fld);< br />
dataoutputstream.writeShort(f_ short_ fld);< br />
dataoutputstream.writeShort(g_ short_ fld);
just find the source of these data, that is, the source of attribute value. The last four variables are the four attribute parameters in BB tutorial, which will not be discussed here
1. Let's start with F_ byte_ The FLD variable starts. First, search to see what the variable represents. There are three searches for this variable. The first two are write and read; The other is to assign the initial value of public byte F_ byte_ fld = 0; So I don't care< br />
2. g_ byte_ FLD variable, or search, G_ byte_ fld = 1; In addition, there are several judgments, omitted, interested fans can study on their own
in addition, if (G_ byte_ fld < 99)
{g_ byte_ fld++;
...
}
guess is a grade. If the variable is less than 99, add it graally. After testing, it is indeed a variable representing the grade. So let's try changing the variable to 11, which is g_ byte_ Change FLD = 1 to g_ byte_ fld = 1; This is an explicit function. The modification method is the same as BB tutorial. After modification, it is shown in the figure:
3. Variable a_ int_ fld = d_ int_ fld; b_ int_ fld = e_ int_ fld; So let's look at the variable d first_ int_ fld
d_ int_ fld = (e_ short_ fld + n + g_ byte_ fld) * 12;< br />e_ int_ fld = (g_ short_ fld + p + g_ byte_ fld) * 12;
let us see some hope. Because 72 and 60 are multiples of 12, is that what we are looking for
as far as we know, e_ short_ fld=5,g_ short_ FLD = 4 (mentioned earlier), then G_ byte_ FLD is the level mentioned in the previous 2, that is, health value and magic value are related to life and will, and also related to level. What do n and P stand for< br />
public final void n()
{
e ae1[] = (e[])a_ e_ array1d_ fld;< br />m = 0;< br />n = 0;< br />o = 0;< br />p = 0;< br />for(int i1 = 0; i1 < 5; i1++)
if(ae1[i1] != null)
{
m += ae1[i1].j[0];< br />n += ae1[i1].j[1];< br />o += ae1[i1].j[2];< br />p += ae1[i1].j[3];
}
assign and add values in n(). The initial value is n = 0, P = 0; Substituting, D_ int_ fld=72 e_ int_ fld=60,^_^, I finally found my real body. So the simplest modification is to modify the coefficient 12, because it does not change the original calculation formula, and it is easy to operate. Of course, you can also modify it to other factors. Change 12 to 60, which should theoretically be 360 and 300.
halo2.0 operation steps: open jar, select ao.class. Right click editor class, and the following figure appears:
decompile, D_ int_ fld = (e_ short_ fld + n + g_ byte_ fld) * 12 In public final void n(), the halo2.0 method finds n, and the access control public and final are checked. The type of void is exactly the same as that of decompilation. Then select the code under the n method, as shown in the figure
after changing the 12 in 159 bipush 12 and 180 bupush 12 to 60, save the method, compile and package the method, and run as follows:
consistent with the guess. Binggo, of course, can also directly modify this implicit function, which is not discussed here There is no limit to modification. As long as you can think of it, there are many ways to modify it. I'm just providing you with ideas)
so the a found earlier_ int_ What is FLD? Continue to search,
public final void B (int I1)
{
A_ int_ fld += i1;< br />
if(a_ int_ fld > d_ int_ fld)
a_ int_ fld = d_ int_ fld;< br />
if(a_ int_ fld < 0)
a_ int_ fld = 0;< br />
bs.a_ as_ static_ fld.c();< br />
if(a_ int_ fld == 0)
{
a((byte)6);< br />
super.k = 0;< br />
u = 24;< br />
return;< br />
} else
{
return;
}
}
so you can know that a_ int_ FLD represents the current value of health. Similarly, we can get B_ int_ FLD represents the current value of mana
4. Variable C_ int_ fld,c_ int_ fld = 0; Is the initial value 0 an empirical value? Continue to search,
public final void f (int I1)
{
I1 * = 4< br />for(c_ int_ fld += i1; c_ int_ fld >= f_ int_ fld;)< br />{
c_ int_ fld -= f_ int_ fld;< br />
r();< br />}
if(c_ int_ fld < 0)
c_ int_ fld = 0;< br />bs.a_ as_ static_ fld.e();< br />
a_ p_ fld.a(i1);
}
since F_ int_ FLD, by the way, we find that
F_ int_ fld = (g_ byte_ fld * g_ byte_ fld * g_ byte_ fld - g_ byte_ fld * g_ byte_ fld) + 80 * g_ byte_ fld;
it's exciting to see 80, because G_ byte_ If the initial value of FLD is 1 (searched earlier), then f_ int_ The initial value of FLD is 80. Haha, I finally found the experience value for upgrading. In order to verify our conjecture, try to change 80 to 99, as shown in the figure, which is true:
hehe, change F_ int_ FLD changed to 1 can be achieved, play a strange can be upgraded to N levels, or their own programming function, to achieve a strange play up to one level
back to C_ int_ FLD, then when C_ int_ fld += i1; c_ int_ fld >= f_ int_ fld; C_ int_ fld += i1; c_ int_ fld -= f_ int_ fld; Conjecture C_ int_ The FLD variable represents the empirical value. Because if C_ int_ fld=82> At 80, then upgrade, and the experience value becomes 82-80 = 2. OK, let's simply modify C_ int_ The initial value of FLD. c_ int_ FLD = 0, try changing 0 to 66. In the public final void C (byte byte0) method, the variable assignment statement is modified to the following figure:
so far, all the parameter levels, experience values, upgrade experience values, health values and mana values involved in Figure 1. All found and modified
5. Variable a_ short_ fld,a_ short_ fld =0,
if(g_ byte_ fld < 99)
{
9. Like a mirror file... Go to the wandering star or go to the internet post bar: halo boutique area
10. Unknown_Error
Hot content