QQ改软教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QQ该软教程
一:QQ去字限和聊天窗口限制
运行BE找到要去字限的QQ.zip,光标对着QQ按确认>搜索:00:00搜完后会搜到几个class 并解压到一个新文件夹里,打开新建的文件夹,逐个class打开并>
搜索:bipush_190(“_”代表空格)
搜到含有bipush 190几个类再逐个打开,按#键调到右下角为“快捷”两字,按8键即是搜索:push 190,把所有搜到的push 190直接改你想要的字数然后保存(这里我全部改为bipush 10000,那么发信息的字数可达一万了)
《聊天窗口》
聊天人数也在带bipush 190的这个class:打开这个class>方法>第一个类打开,是不是第一行就是bipush 10把这个10改为你要的聊天人数就行了,记得保存啊!
修改自动回复字限:
用BE对QQ.zip进行搜索:sms:/_/(搜索把/_/中间的“_”去掉,因为这里两个/并列就是换行)搜完后会自动解压几个class出新文件夹里,再逐个打开新搜出来的class>搜索:bipush_15(“_”代表空格)把搜到的bipush 15的15都改为你要的自动回复字数然后保存。
告诉你,签名字数也在这个含bipush 15的class,打开这个class>搜索:bipush_50(“_”是空格)把搜到的bipush 50的50都改为任意数字(建议签名字数不要改,改后当你的设置签名的字数超过50字时,第二次设置签名会软件错误,并且签名超50服务器也不就一看就知道了,发信息字限和聊天人数同一个class搜索字符为00:00离开的自动回复和签名字限同一个class搜索字符是sms:/ /并且把相关数值改了就行。
在java参数里,一般0-5的数用"iconst_0~iconst_5"表示,6-127的数用"bipush 6~bipush 127"表示,128-32767的数用"sipush 128~sipush 32767"表示, 大于32767的数用"ldc_w*******"表示
《改QQ好友列表靠左
》
用BE搜xin.png,就会搜到一个class,打开所对应的class,搜bipush_16,就会搜到几个代码,你会发现有3个a代码,打开第一个a,在第七行有bipush_16,16改为0就行啦,保存,下一步,点第三个a,按8搜bipush_16(mi的在293行)也是把16改为0,按一下,下方向键,按8在搜bipush_16(mi的在459行
《改QQ聊天纪录限制》
用BE打开这个文件,在第二个搜索输入框输入
smsmobile,
搜索完成后BE会自动解压出这个class,
再用BE打开这个class,选搜索,在搜索输入框里填入50。
会搜出三个方法,
打开方法a会看到如下代码:
aload_0
getfield dj/g Les;
lload_1
lstore 4
dup
astore_0
lload 4
bipush 50
invokevirtual es/a(JI)Ljava/util/Vector;
areturn
bipush后的数字就是聊天记录的数量,把它改为自己需要的数字即可。
改完用MC把这个class压回软件改名安装即可。
《改QQ头像右显》
BE打开QQ.zip,搜索“unknowface.png ”,搜到ig.class.BE打开class,继续搜索“unknowface ”,搜到一方法b,打开代码,搜索iconst_3,搜到在119行,然后照下面的表修改(>为修改后的):
119行:iconst_3 > sipush195[头像边框]
143行:iconst_4 > sipush 196[头像图片]
155行:iconst_4 > sipush 196[系统头像]
164行:iconst_4 > sipush 196[自定义头像]
174行:bipush 28 > sipush 220[离开标志]
190行:bipush 28 > sipush 220[隐身标志]
205行:bipush 50 > iconst_4
207行:bipush 50 > iconst_4
211行:bipush 51 > iconst_5
213行:bipush 51 > iconst_5
217行:bipush 52 > bipush 6
219行:bipush 52 > bipush 6[左边箭头]
227行:iconst_1 > bipush 48[右边箭头]
259行:bipush 16 > bipush 60[时间、状态、节能标志]
421行:bipush 50 > bipush 20[昵称]
450行:bipush 55 > bipush 9[导航]
个人经验:不同的版本行数肯定不同,所以得计算:
首先,当然是搜到头像所在的class……再从搜到iconst_3所在行数开始算,上面所述的是在119,
第二行是在143,
那么143-119=24 ,
第三行是155,
那么155-143= 12 ,
第四行164=155=9
依此类推
……
所以假若你搜其他版本的iconst_3是在154行,那要修改的第二行就在
154+ 24 =178行,
第三行就在178+ 12 =190行
……
依此类推
改完后保存、审核,用MC替换进去,9级压缩。
《修改QQ好友列表行距大小》
用BE打开QQ.zip搜“结束会话”,得到的是*.class,然后打开<init>这个方法搜”Font/getheight”,然后往下翻会发现下面代码,那个iconst_4就是好友列表的行距。
注意:修改iconst大于五要改成bipush,最后审核就ok啦!
个人经验,不用审核就可以用的,但一定要改对,大于5的时候那个iconst_4要改成bipush 10(10只是我假设的一个数,可随意更改),看到没,没有4前面的那个_,那里是一个空格。
《去腾讯空间无用链接》
用BE搜索QQ.zip:我的超级qq
然后发现只有搜到一个class(BE搜索会把搜到的文件解压出的),用BE打开该class,再搜:我的超级
会搜到一个方法,打开方法,出现很多的代码
你会发现的代码如下:aload_0
iconst_1
invokevirtualm/a(z)v
aload_0
ldc2_w-1
putfieldm/cj
aload_0
ldc2_w-1
putfield m/dj
aload_0
getfielm/fjava/util/vector;
invokevirtual?java/util/vector/removeallelements()v
aload_0
getfieldm/eb
tableswitchlabel989:label487
label48:
(重点来了,以下的代码就可以是删除的)aload_0
getfield urx/a/r/f
ljava/util/vector;aload_0
ldc2_w -2147483650ldc2_w 9904
ldc "我的超级qq"
iconst_2
ldc "-6"
aconst_null
ldc "subject=&desc=&respcondition=auto&respdesc=&
respcontenttypes=
tmtwapi&respdest=网址"invokevirtual urx/a/et/a(jjljava/lang/string;bljava/lang/string;[bljava/lang/string;)lurx/a/kj;
invokevirtual java/util/vector/addelement(ljava/lang/object;)v7
你按导航上下看看,就发现,这段是重复的,如果你不喜欢这些东西,就把它段删了,(到最底下有
label98:
return
这两句代码不要动它)
.这是qq空间的代码。
其他都一样.
删除以后保存该方法。
然后再保存这个类.
然后打开class审核器,审核。
《加循环灯控》
打开BE,找到QQ.zip在搜索字符那里填写keyPressed进行搜索,P是大写的,其余都是小写的,搜索后就会搜到一个class,那个就是我们要改的,所以就用BE打开这个*.class点击“字段”进入后,按左键选择“添加字段”进后往下拉把Name和Descriptor里的内容全部清空,然后在Name下添入td,在Descriptor下填写I(i的大写)按确定既可,返回添加字段就完成了。
开始第二步添加灯代码,搜索a(II)V这个会搜到三个方法分别是keyPressed、keyReleased和keyRepeated我们要把代码填入第一个里,第二个和第三个不要管它。
BE打开第一个keyPressed,在第一行,按中间键,所有字符将下移一格,把下面的灯代码依顺序加进去(注:下文代码中的¤¤是class名,一定要改哦)
iload_1
bipush 246
if_icmpne Label42
aload_0
dup
getfield ¤¤/td I
bipush 10
iadd
putfield ¤¤/td I
aload_0
getfield ¤¤/td I
bipush 100
if_icmple Label31
iconst_1
putfield ¤¤/td I
Label31:
iconst_0
aload_0
getfield ¤¤/td I
invokestatia com/nokia/mid/impl/isa/ui/DeviceControl/setLights(II)V
goto Label49
Label42:
就加到这,把光标拉到最底行,在return下面也就是最底下另起一行加入
Label49:
return
保存,保存改类,然后审核,替换进Q就行了,拨号键循环控灯。
《修改QQ字体》
1:首先准备批量搜索工具。
2:准备字节码编辑工具。
用批量搜索工具搜索drawChar搜到所在的class就是修改QQ字体大小的。
然后用字节码编辑工具编辑器编辑clint里面全是修改字体的修改哪个才是呢经过实验修改
iconst_0
iconst_0
bipush 8
就是第一个不用管,第二个iconst_0为修改斜体粗体下划线的
详细如下:
0 = 常规,
1 = 加粗,
2 =倾斜,
4 = 下划线
bipush8就是修改大小的根据自己需求修改就可以。
详细如下:
0=中字体,
8=小字体,
16=大字体
此方法只可用于修改QQ字体。
《加号码和密码》
用BE搜索QQ.zip,
搜索“9999999999”
搜索完毕后自动会在生成一个文件夹再用BE搜索所在class,
搜索“putfield bc/G”搜索时去掉引号
顺着putfield bc/G Lcw;向下看会看到
getfield kn/c Lee;
bipush 10
这里得ldc_w ""就是QQ号,
""内可以改成任意QQ号.
再向下看会看到第二个
getfield kn/c Lee;
ldc_w ""
bipush 16
这里的ldc_w""就是密码了。
在""内加入密码即可然后保存.退出用MC替换进原软件即可。
《改大头像》
用BE搜QQ.zip“HeadOnLine.png”,会定位在*.class。
再次搜索“HeadOnLine.png”。
会得到创建该图像的a方法,这里就是我们的突破口。
打开a方法:
右键(菜单)>>代码>>导出代码。
之后退出a方法,添加,把第一个和第四个打上勾(也就是public和static),name随便你,记住就行,这里我填的是S。
describtor填上(IIZIIILjavax/microedition/lcdui/Graphics;)V。
(S方法的添加方法参照a的控制符)
,确定。
进入S方法:右键>>代码>>导入代码(选择刚才从a导出的a方法)>>保存。
导入后,这样的一个S方法就添加完成了,但我们是需要它来控制大头像的显示,所以修改它。
打开S方法,从开头找到第二个
ldc"/HeadOnLine.png"。
会有如下代码
ldc "/HeadOnLine.png"
invokestatic mm/a(Ljava/lang/String;)
Ljavax/microedition/lcdui/Image;
iload_3
iload 4
iload_0
iconst_4
ishl
iconst_0
bipush 16
bipush 16
iload 5
aload 6
把它修改为
ldc "/Dhead.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image;
iload_3
iload_0
iconst_5
ishl
iconst_0
bipush 32
bipush 32
iload 5
aload 6
再向下找会看到这样的代码
Label138:
getstatic cc/a Ljavax/microedition/lcdui/Image;
iload_3
iload 4
iload_0
iconst_4
ishl
iconst_0
bipush 16
bipush 16
iload 5
aload 6
把
getstatic cc/a Ljavax/microedition/lcdui/Image;
删除换成
ldc "/D2head.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; 下面的也要修改,改后的代码为
ldc "/D2head.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; iload_3
iload 4
iload_0
iconst_5
ishl
iconst_0
bipush 32
bipush 32
iload 5
aload 6
再向下找再次会看到
ldc "/HeadOnLine.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; iload_3
iload_0
iconst_4
ishl
iconst_0
bipush 16
bipush 16
iload 5
aload 6
改为
ldc "/Dhead.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; iload_3
iload 4
iload_0
iconst_5
ishl
iconst_0
bipush 32
bipush 32
iload 5
aload 6
继续向下找会有
ldc "/sysico.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; iload_3
iload 4
iconst_0
iconst_0
bipush 16
bipush 16
iload 5
aload 6
改为
ldc "/Dsysico.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; iload_3
iload 4
iconst_0
iconst_0
bipush 32
bipush 32
iload 5
aload 6
ldc "/soundstatus.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; dup
astore 7
iload_3
iload 4
bipush 112
iconst_0
bipush 16
bipush 16
iload 5
aload 6
改为
ldc "/startPageApp.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; dup
astore 7
iload_3
iload 4
bipush 120
iconst_0
bipush 24
bipush 24
iload 5
aload 6
最后继续向下找
ldc "/sysico.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; iload_3
iload 4
bipush 16
iconst_0
bipush 16
bipush 16
改为
ldc "/Dsysico.png"
invokestatic mm/a(Ljava/lang/String;)Ljavax/microedition/lcdui/Image; iload_3
iload 4
bipush 32
iconst_0
bipush 32
bipush 32
这些就完成了,其他的就是偏移量的问题了这就不用我多说了吧(从开头向下找这里的修改需注意lookupswitch Label237 0:Label209,10:Label112,20:Label138,30:Label162,40:Label138),之后保存。
异常表和限笺数照着a方法修改。
大头修改的第二个地方(行距)
用BE搜索“结束会话”会定位在mj.class。
打开mj.class搜索“bipush 3”会搜到几个方法。
打开init方法再搜“iconst_4”只有一个,改为“bipush 16”并保存。
再打开搜到的第一个a方法搜“bipush 3”也只有一个(在第七行)改为“bipush 16”并保存。
《加开关灯》
打开BE,找到QQ.zip在搜索字符那里填写keyPressed进行搜索,P是大写的,其余都是小写的,搜索后就会搜到一个class,那个就是我们要改的,我这里搜到的是ce.class,所以就用BE打开这个ce.class点击“字段”进入后,按左键选择“添加字段”进后往下拉把Name 和Descriptor里的内容全部清空,然后在Name下添入on,在Descriptor下填写Z按确定既可,然后在次按左键选择“添加字段”清空那两个里面的内容,在Name下填写li在Descriptor 下填I(是大写的i)按确定即可,返回添加字段就完成了。
开始第二步添加灯代码,
搜索ce/a(II)V这个会搜到三个方法分别是keyPressed、keyReleased和keyRepeated
我们要把代码填入第一个里,第二个和第三个不要管它。
BE打开第一个就是keyPressed,然后按中间键,将所有字符下移一格,把下面的灯代码依顺序加进去,
iload_1
bipush 246
if_icmpne Label25
aload_0
getfield ce/on Z
ifeq Label19
aload_0
iconst_0
putfield ce/on Z
return
Label19:
aload_0
iconst_1
putfield ce/on Z
return
Label25:
aload_0
getfield ce/on Z
ifeq Label115
iload_1
bipush 51
if_icmpne Label48 aload_0
dup
getfield ce/li I iconst_5
iadd
putfield ce/li I Label48:
iload_1
bipush 53
if_icmpne Label60 aload_0
bipush 0
putfield ce/li I Label60:
iload_1
bipush 54
if_icmpne Label76 aload_0
dup
getfield ce/li I iconst_5
isub
putfield ce/li I Label76:
aload_0
getfield ce/li I bipush 100
if_icmple Label91 aload_0
bipush 100 putfield ce/li I Label91:
aload_0
getfield ce/li I iconst_0
if_icmpge Label104 aload_0
iconst_1
putfield ce/li I Label104:
iconst_0
aload_0
getfield ce/li I
invokestatic com/nokia/mid/ui/DeviceControl/setLights(II)V
goto Label122
Label115:
加完后在return下面也就是最底下另起一行,将下面两句填入
Label122:
return
在按“快捷”选择“保存”添加代码就完成了。
打开审核工具,把改好的class进行审核,成功后替换进QQ就行了,拨后键就是开关,3与6是调节,当然也可以用BE来设置你想设置的按键,这里就不说了。
《加开关灯另一方法》
反编译含keypressed的*.class文件为*.j然后用MC选择UTF-8打开*.j
查找.field
在.method public 前加
.field li I
.field on Z
查找keypressed
在aload_0前加代码:
iload_1
bipush -10
if_icmpne Label34
aload_0
getfield an/on Z
ifeq Label28
aload_0
iconst_0
putfield an/on Z
return
Label28:
aload_0
iconst_1
putfield an/on Z
return
Label34:
aload_0
getfield an/on Z
ifeq Label124
iload_1
bipush 51
if_icmpne Label57 aload_0
dup
getfield an/li I iconst_5
iadd
putfield an/li I Label57:
iload_1
bipush 53
if_icmpne Label69 aload_0
bipush 0
putfield an/li I Label69:
iload_1
bipush 54
if_icmpne Label85 aload_0
dup
getfield an/li I iconst_5
isub
putfield an/li I Label85:
aload_0
getfield an/li I bipush 100
if_icmple Label100 aload_0
bipush 100 putfield an/li I Label100:
aload_0
getfield an/li I iconst_0
if_icmpge Label113 aload_0
iconst_1
putfield an/li ILabel113:
iconst_0
aload_0
getfield an/li I
invokestatic com/nokia/mid/ui/DeviceControl/setLights(II)V goto Label131
Label124:
最后在
return
.end method
前面加上:
return
Label131:
代码中an是class名,记得修改成作要加代码的class名。
加完代码后再编译回*.class文件审核就OK
♂我在这里♂整理
2011年9月。