halo比特币
1. 我用迅雷下载了光晕2的BT种子文件结果是这怂东西- -该怎么弄
像是镜像文件···去游民星空或去网络贴吧:光晕精品区挖
2. 怎么把手机游戏改bt
手机游戏中主要按文件不同可分为两类,一是class文件,代表作品是:英雄传说等,二是资源文件,代表作品是彩虹城堡等。目前,一是可以用halo2.0来修改的,二还无法用halo2.0修改,请自行使用十六进制工具(UE、HEX等)修改,本文不作讨论。另外,存档类的修改也不列入本文内容,因为也是涉及到十六进制工具的。
BT修改可能会破坏游戏原本的乐趣,所以我并不提倡,只是技术上的交流。还是那句话,想要体验游戏的乐趣,请自行下载原版。
工具:halo2.0,DJ Java Decompiler
Java游戏:英雄传说s60原版(S60V3,240*320)(本文以此为例。为什么是原版?为什么只是S60版?这是为了让更多的迷友,可以自己动手修改英雄传说的汉化版本,因为想玩才会有动力。若直接使用我修改的,这样是无法学会BT修改的。)
1、数据的准备
什么是数据的准备?为何要数据准备?简而言之,就是我们到底需要改哪些数据,在游戏中原来的初值究竟是多少?那我们先用sjboy来模拟,看看我们到底想改哪些属性数据。
咿呀!手机顽童竟然无法模拟?!到选择人物时,直闪屏,按任何键都无法进入游戏。其实,只需不断按F3键来减缓游戏的速度即可!进入游戏后,到人物菜单界面,
好,主要是以下数据,金钱300
图一:等级数1,经验值0,升级需要经验值80,生命值72/72,法力值60/60
图二:力量8,生命5,敏捷3,意志4,进攻16,防守5
图三:可加点数0
2、数据的查找和修改
那我们一个个来找到这些数据并修改成自己想要的BT值。复习bb的修改教程,打开halo2.0,选择class editor,编辑,全文查找,输入300(为什么是300?因为这个值较为特殊,重复率较少啊。如果选择1,0,8或其它的话,可能会查出一大堆来,没有编程基础的迷友就会很迷茫,到底是去选择哪个才是正确的。那又为什么不选择72呢?这个也挺特殊啊!我要告诉你一个不幸的消息,在本游戏查找中,会出现很多,而且可以告诉大家,搜索出来的都不是。Why?经验?不是。是后面编译文件的分析。)只查找到一个目标,按照bb的教程已修改其中的参数,金钱300,力量8,生命5,敏捷3,意志4。5个值。
那么按照bb的方法,为何找不到其它相关的数值呢?!我非要修改怎么办?其实属性值的赋值有两种方式,一种是显式,如i=300或a=5,bb的教程中只能修改到这些数据。另一种是隐式,如a=(b+c)*100等。此教程主要介绍隐式数值的修改。
一般来说,如果是赋值属性值的话,会在同一个class文件中,所以,既然我们找到了金钱300的class所在,我们也应该找到了其它的属性值。那金钱300具体是在哪个class文件呢?答案就在搜索结果中,类名——ao。
现在用DJ反编译ao.class,查找300,发现,a_g_fld.a = 300;即金钱的变量名为a_g_fld.a,值为300.说明我们所找的class文件是正确的。那分别查找8,5,3,4,也找到了!
case 6: // '\006'
b_short_fld = 8;
e_short_fld = 5;
f_short_fld = 3;
g_short_fld = 4;
a_e_array1d_fld[0] = (e)ad.a((byte)0, (byte)0, true, false);
a_e_array1d_fld[0].b = true;
a_e_array1d_fld[0].h = 1;
break;
呵呵,力量的变量名为b_short_fld,以下类同,不作解释。
那查找72看看,的确没有。这也证实了此为隐式赋值。那我们该怎么办?这么多的变量,字符看得头都大了,还是分不清哪个是哪个。我起初也想了很久,一个个去分析,太慢。那我们先搜索b_short_fld看看,发现倪端。
h_short_fld += ((b_short_fld + m) * 4) / 5;
i_short_fld += (b_short_fld + m) / 5;
dataoutputstream.writeShort(b_short_fld);
前两个不就是什么所谓的隐式嘛?!那h和i又代表什么呢?暂且先不考虑。最后一句是io流操作,意思是把写入b_short_fld变量值。这个倒是给了点启示。
因为发现
dataoutputstream = new DataOutputStream(bytearrayoutputstream)).writeByte(f_byte_fld);
dataoutputstream.writeByte(g_byte_fld);
dataoutputstream.writeInt(a_int_fld);
dataoutputstream.writeInt(b_int_fld);
dataoutputstream.writeInt(c_int_fld);
dataoutputstream.writeInt(d_int_fld);
dataoutputstream.writeInt(e_int_fld);
dataoutputstream.writeInt(f_int_fld);
dataoutputstream.writeByte(z);
dataoutputstream.writeShort(a_short_fld);
dataoutputstream.writeShort(b_short_fld);
dataoutputstream.writeShort(e_short_fld);
dataoutputstream.writeShort(f_short_fld);
dataoutputstream.writeShort(g_short_fld);
只要把找到这些数据的源头,也就是属性值的源头了。最后的4个变量即是bb教程中的4个属性参数,这里就不作讨论了。
1.那么我们先从f_byte_fld变量开始。首先搜索,看看这个变量到底是代表什么含义的。这个变量搜索共有3处。前两处是写入和读取;另一处是赋初值public byte f_byte_fld = 0;所以暂且不管。
2. g_byte_fld变量,还是搜索,g_byte_fld = 1;另外还有几处判断,略去,有兴趣的迷友可自行研究。
另外,if(g_byte_fld < 99)
{g_byte_fld++;
……
}
猜测是等级,如果变量小于99,递加……。经测试,的确是表示等级的变量。那么我们把变量变为11试试,即把g_byte_fld = 1改为g_byte_fld = 1;那这个是显性函数,修改方法同bb教程,修改后如图:
3.变量a_int_fld = d_int_fld; b_int_fld = e_int_fld;那么我们先看变量d_int_fld
d_int_fld = (e_short_fld + n + g_byte_fld) * 12;
e_int_fld = (g_short_fld + p + g_byte_fld) * 12;
让我们看到了一些希望。因为72和60都是12的倍数,难道这就是我们所要找的数据。
据我们所知e_short_fld=5,g_short_fld = 4(前面已讲到),那么g_byte_fld就是前面2所讲的等级,即生命值和魔法值与生命和意志有关,而且与等级有关。那n与p又是代表什么呢?
public final void n()
{
e ae1[] = (e[])a_e_array1d_fld;
m = 0;
n = 0;
o = 0;
p = 0;
for(int i1 = 0; i1 < 5; i1++)
if(ae1[i1] != null)
{
m += ae1[i1].j[0];
n += ae1[i1].j[1];
o += ae1[i1].j[2];
p += ae1[i1].j[3];
}
在n()中赋值和递加。初值为n=0,p=0;代入,d_int_fld=72;e_int_fld=60,^_^,终于找到真身了。那么最简单修改就是修改12这个系数,因为这也既不改变原来的计算公式,也容易操作,当然你也可以修改成其它。说改就改,把12改成60,理论上应该是360和300.
Halo2.0操作步骤:打开jar,选择ao.class.右键editor class,出现下图:
反编译得,d_int_fld = (e_short_fld + n + g_byte_fld) * 12;在public final void n()中,那么halo2.0方法找到n,发现访问控制public,final已勾选,类型void,和反编译的完全相同,那么选择n方法下的code,如图
把159 bipush 12和180 bupush 12中的12均改成60后,保存方法,编译打包运行得:
与猜测得相一致。Binggo,当然,还可以直接修改这个隐式函数,这里不做讨论。(修改无极限,只要你能想到,修改的方法很多。我只是提供大家思路而已)
那么先前找到的a_int_fld是什么呢?继续查找,
public final void b(int i1)
{
a_int_fld += i1;
if(a_int_fld > d_int_fld)
a_int_fld = d_int_fld;
if(a_int_fld < 0)
a_int_fld = 0;
bs.a_as_static_fld.c();
if(a_int_fld == 0)
{
a((byte)6);
super.k = 0;
u = 24;
return;
} else
{
return;
}
}
所以可以知晓,a_int_fld代表生命值的当前值。同理可得b_int_fld代表魔法值的当前值。
4.变量c_int_fld,c_int_fld = 0;初值为0,难道是经验值?继续查找,
public final void f(int i1)
{
i1 *= 4;
for(c_int_fld += i1; c_int_fld >= f_int_fld;)
{
c_int_fld -= f_int_fld;
r();
}
if(c_int_fld < 0)
c_int_fld = 0;
bs.a_as_static_fld.e();
a_p_fld.a(i1);
}
既然出现f_int_fld,那么顺便查找一下,发现
f_int_fld = (g_byte_fld * g_byte_fld * g_byte_fld - g_byte_fld * g_byte_fld) + 80 * g_byte_fld;
看到80了,一阵激动,因为g_byte_fld的初值为1(前面已经搜索过)那么f_int_fld的初值就为80,哈哈,终于找到升级需要经验值了。为了验证我们的猜想,把80改成99试试,如图,的确如此:
呵呵,把f_int_fld改成1就可以实现,打一个怪可以升N级,或者自己编个函数,实现打一个怪升一级。
回到刚才的c_int_fld,那么当c_int_fld += i1; c_int_fld >= f_int_fld;时,c_int_fld += i1; c_int_fld -= f_int_fld;猜想c_int_fld变量代表经验值。因为,若c_int_fld=82>80时,那么就升级,经验值变为82-80=2.好,那我们来简单修改c_int_fld的初值。c_int_fld = 0,把0改成66试试。变量赋值语句在public final void c(byte byte0)方法中,修改后得下图:
至此,图一所涉及的所有参数等级数、经验值、升级需要经验值、生命值、法力值。已都找到并修改。
5.变量a_short_fld,a_short_fld =0,
if(g_byte_fld < 99)
{
g_byte_fld++;
n();
super.a.addElement(new aw((byte)3));
super.a.addElement(new aw((byte)4));
a_short_fld += 3;
}
分析得,a_short_fld变量是表示可加后可加点数的。为什么?首先初值是0,另外,在等级<99时,每升一级变量就在自身的基础上+3,推测应该是表示升级后可加点数。修改后如图:
至此,已经把io操作流中的写入数据一一分析。但好像还是遗漏了图2中的攻击和防御数值。那它们到底隐藏在何处呢?的确,我也找了很久没找到,后来发现,攻击与力量值有一定联系,随着力量数值的修改,攻击值也会变动
那么我们就来搜索b_short_fld这个变量。发现
h_short_fld += ae1[0] == null ? 0 : ((short) (ae1[0].a + (ae1[0].e * 5) / 2));
h_short_fld += ((b_short_fld + m) * 4) / 5;
i_short_fld += ae1[1] == null ? 0 : ((short) (ae1[1].a + ae1[1].e));
i_short_fld += ae1[2] == null ? 0 : ((short) (ae1[2].a + ae1[2].e * 2));
i_short_fld += ae1[3] == null ? 0 : ae1[3].a;
i_short_fld += ae1[4] == null ? 0 : ae1[4].a;
i_short_fld += (b_short_fld + m) / 5;
i_short_fld += g_byte_fld / 3;
h_short_fld和i_short_fld很特别,与力量有关的隐式函数,值得我们关注。
经修改发现,的确如我们所料(具体变量间如何变化,就不在展开,牵涉比较多的变量数据基础,怕很多迷友看得一头雾水。有兴趣的迷友可以自己参看一些基础知识。)
把h_short_fld += ((b_short_fld + m) * 4) / 5中的4改成40,i_short_fld += g_byte_fld / 3中的除法idiv改成乘法imul(具体图文不列举了,如果能熟练操作halo2.0的应该没有问题,即把偏移量为433:idiv,编辑(高级),修改成imul即可。)
得,攻击变为74,防御变为8
3、小结:本教程主要讲解如何去寻找目标数据,halo2.0上的操作讲解并不详细,请谅解!
数据准备中的所有数据已一一找到。
BT修改并不是一件很容易的事,需要一定的耐心和推断能力。
3. 光环2BT下载了后怎么用
……截图看看(就是你下载的文件夹里面的图)
不过,我猜应该是iso文件吧
需要下载daemon
tools虚拟光驱,可以网络搜,第一个就是
然后安装,之后打开虚拟光驱,点击添加,找到iso文件,然后点加载~~运行autorun即可
4. 想不到!配角抢去主角光环的影视剧有哪些
2018年暑期热播的《延禧攻略》,主角魏缨络虽然表现可圈可点,但还是被两任皇后抢去了主角光环.秦岚的富察容音。
先皇后;佘诗曼的娴妃,继皇后.听说香港那边认为佘诗曼饰演的娴妃才是主角.其实想想,娴妃是经历了一般主角才经历的事,然后完成逆袭。
5. 为什么光晕3的BT种子下载完以后怎么解压不了
....你确定需要解压?这是xbox上玩的,不需要什么ios镜像。准确说你可以直接到本地的xbox店去考游戏,不过根据楼下的回答c盘什么,我估计你是不知道这光晕3odst要在xbox上玩
6. 求一份BT的暗黑2人物存档要光环秒杀一切怪的那种
有youxiang吗 发给你 直接给你个护身符 你自己放到大号背包里就行了
7. 谁有halo2的下载地址啊不要电驴的,要迅雷的,别是BT的。
尊敬的迅雷用户,您好:
建议您可以购买正版影片进行观看,如果迅雷看看上有您想看的电影,您也可以到迅雷看看(www.kankan.com)进行观看的,不过迅雷看看里面有部分影片由于版权方的要求,需要进行收费或者开通影视VIP才可以观看的。
也可以到电影天堂:http://www.dy2018.com/ ,
人人影视:http://www.yyets.com/ 搜索。
对于最新的电影,电影院没下架,互联网是不会有这部影片的,不排除一些不清晰的偷拍版,建议您耐心等待互联网正版影片的出现。
感谢您对迅雷的支持,希望能够帮到您。
更多疑问,欢迎您向迅雷网络平台提问。
8. 配角抢去主角光环的影视剧有哪些
有好的电视剧不仅要有好的剧本,好的演员,好的导演,还少不了令人难以忘记的配角,很多人看完电视剧之后只记得主角的名字。却忘记了剧中那些举足轻重的配角。
红花还需绿叶配,配角虽然没有主角的光环,不能在剧情中翻云覆雨,但是并不能掩盖配角的一部剧中的重要性。只要拥有好的演技,那么配角也可以抢走主角身上的光环,甚至有可能一部电视剧播出了之后,配角给人留下的印象甚至会远远超过主角。
9. 求光晕以下载地址,不要BT的
http://983405.k115.system.yx8zc.com/search.asp?action=soft&keyword=光晕
这个下载速度挺快的,游戏也能玩!
10. 下载的光晕2(BT)的最终解压缩出来的Halo_2-Razor1911不会安装。
全英文一开始可能是授权文件,一般有单选框在下面,有可能是YES或者NO,有可能是 i accept ……或者i don;t accept ……系列英文,点击是,就是选 yes或者 i accept 开头的,再点击 next,表示下一步,后面还要有个地方是让你选安装位置,一般是下拉菜单可以选择你要安装程序的硬盘位置,默认都是C盘,不是下拉菜单需要手动填写的就直接把地址栏的C改成任意盘符字母即可,比如把C改成D,就表示安装在D盘,很简单,当然不改也可以。如果遇到进入之后不是直接开始安装的,点击有 install 字母的这个按钮即可进入安装,至于其他的,有next的就单击 next,到最后安装完毕之后,单击finish 按钮即可。