《图文教程PC端修改QQ2009头像靠右》由会员分享,可在线阅读,更多相关《图文教程PC端修改QQ2009头像靠右(11页珍藏版)》请在金锄头文库上搜索。
1、今天哥来教你通过 SM 让 QQ 精简版的头像显示在右边, (未成年人看下去之前请考虑自己是否能够承受接下来的内容。). . .喂喂!那个、给我停下!不准用暴力!我们要温柔. . .Oh、No. . .你太野蛮了. . .SM 工具: Halo、DJ 反编译啥?太少了?一边玩去你懂啥?少才能玩儿出花样嘛那么游戏开始咱把目标绑起来先!用 Halo 打开 QQ、现在扫描目标来找到先下手的地方,切换至类编辑器,全文查找头像图片的名称:unknowface.png结果在 b 里面,那么用 DJ 去反编译 b,然后找到含有 unknowface.png 的代码的位置关键代码:g4.drawImage(b
2、v.a(/unknowface.png), 4, 4, 20);这句代码的意思是把 unknowface.png 图片显示在离屏幕左边 4 个点、离屏幕顶部 4 个点的位置,我的目的是移到最右边,为了美观,所以要空 4 个点的位置,加上图片宽度为 40,那么就是 屏幕宽度-图片宽度-间隔距离,你可以直接算好,比如屏幕为 QVGA 的话,就是 240-40-4,那么把第一个 4 改成 196 就可以了,但为了能适用更多的机型,所以我要用屏幕变量,即 getwidth,屏幕变量在 al 里面已经有用到/就是 a = getWidth();那么直接调用这个代码即可,这个调用代码在 Halo 中为:g
3、etstatic al/a I,那么就是:getstatic al/a Ibipush 44isub这句代码的意思就是屏幕宽度减去 44,那么这样操作,Halo 里面选中第 399 行的iconst_4,点编辑(高级) ,把 iconst_4 删除,再写上getstatic al/a Ibipush 44isub就可以了,来试试看还有一个正方形的框框在那里,那个本来是把头像筐起来的,是用 drawrect 绘图函数绘制出来的,那么 DJ 中搜索 drawrect关键代码:g3.drawRect(3, 3, 41, 41);这句代码的意思是在左离屏幕 3 个点、离屏幕高度 3 个点的位置画一个高
4、 41、宽 41 的空心矩形,我们要把它移动到屏幕右边正好把头像筐起来,头像的位置是屏幕宽-44,那么这个矩形的横坐标就是屏幕宽-45,在 Halo 里面的代码就是getstatic al/a Ibipush 45isub那么把第 375 行的 iconst_3 改为getstatic al/a Ibipush 45isub就可以了。登录准备 High 的时候,会发现自定义头像出现后仍然在左边。 。 。那么,还是有某个参数决定了自定义头像的位置,我们不难看到,就在含有unknowface.png 的代码附近,我们看到了两句 4, 4, 20 这样的代码:g3.drawImage(b2.E, 4
5、, 4, 20);g3.drawImage(b2.D, 4, 4, 20);既然有两个,那么就都改掉,分别在第 410 行和第 424 行,也都修改为getstatic al/a Ibipush 44isub再试试这次自定义头像的位置也改变了,但并没有完成,现在会发现那个显示消息提醒方式的小图标跟头像重合了,要向左移动才行,那个图标的名字为 soundstatus.png,那么把soundstatus.png 作为关键字在 Halo 里面进行搜索。 。 。结果在 cy,同样的. . .DJ 强 jian 之关键代码:af.a(bv.a(/soundstatus.png), i1, j1, th
6、is 4, 0, 16, 16, 20, g1);i1 是横坐标,它的值越小,soundstatus.png 的位置就越靠左,那么从 DJ 里面找到 Halo 对应的 i1 的位置,在第 22 行,好的,选中第 22 行,点编辑(高级),回车另起一行,输入:bipush 20isub这个代码的意思是把 i1 的值减去 20,使 soundstatus.png 的位置向左移动,那么保存修改,打包试试现在又和时间重合了. . .嘿、这图标还真是离谁近就跟谁好、丫的,看俺强行分开它!( 我是不是太 XE 了?)决定时间位置的代码在 b 里面,再次 DJ 强行插入之、 、( 太 YD 了. . .)在
7、里面搜索:Time关键代码:eg.a(s1 = cy.a(System.currentTimeMillis(), l1 - 6, (24 - b2.t) / 2, 24, g3);这句代码的意思是把系统时间以小字体显示在 横 l1 - 6、竖 (24 - b2.t) / 2 的位置,我们把6 改大,就可以把时间的位置向左移动,6 的位置在 Halo 里面的第 490 行,双击猥琐之、整它到 26,嘿嘿、保存修改试试,嘎我就说嘛,你一串儿小小的字符嘛搞不定你那还得了?呃!等. . .等. . .等下!昵称居中显示不大好吧?咳、这个. . .昵称是从服务器上下载得来的,Halo 里面肯定搜不到 .
8、 . .咿?这位置. . .会不会和时间的竖坐标是一样的?嗯,试下先!DJ 里面搜索时间的竖坐标:(24 - b2.t) / 2有 3 个结果,一个在时间那里,一个是 eg.a(ev2.i(), k5 + l5 / 2, 24 + (24 - b2.t) / 2, 17, g3);这个的前面多了 24,所以直接 Out!最后一个:关键代码:eg.a(s2, 50, (24 - b2.t) / 2, 20, g3);eg.a 与时间的那部分代码开头一样,意思是调用小字体, s2 未知,根据常规,设它为昵称,50 就是横坐标了,值越小,s2 的字符就越靠左,50 在 Halo 里面是第 537 行
9、,双击虐待之,改为 10,离屏幕边缘太近了不好看嘛保存修改测试看下嘿嘿、我“摸”着了、爽呀!现在还有最后一个很明显的地方,导航栏的位置,我只知道正式版的导航栏左右参数是55,所以. . .用 55 搜索了下,很幸运,和正式版一样,结果有俩,第一个 55 是导航左边离屏幕左边的参数,第二个还不确定,那么 SM 了它再说,用刀割它 45 下,劈成 10、存档、预览啧啧、多次虐待 = 整容啊 整得与众不同、别具一格哈 等下!聊天的时候发现了问题该死的时间又和信息提示方式的图标混到一起了、卧槽还想要呐?曰. . .时间. . .时间. . .我用 time 搜到的结果太多了,根本没法确定要修改的地方,
10、我现在对这两个缠绵在一起的家伙耗无办法. . .我想起了某代码用到了 00:00 这几个字符,时间就是从 00:00 起始的,用这个搜会不会好点儿?于是容忍着那两个家伙的缠绵,在 Halo 里面全文搜索:00:00结果只有 2 个,似乎我成功了,一个在 b 里面,开头已经虐过了,饶了它、还有一个在 dt里面,于是 DJ 再次出洞,直逼 dt. . .前面的修改我们得知,有 Time 的地方才是要修改的地方,于是找到含有 Time 的代码关键代码:eg.a(s2 = cy.a(System.currentTimeMillis(), (ad) (dt1).i.c - 3 - 16 - 12, (2
11、4 - b) / 2 + 24, 24, g2)(ad) (dt1).i.c - 3 - 16 - 12 是横坐标、 (24 - b) / 2 + 24 是竖坐标,那么修改 16 或者 12 就可以了,就看你对哪个来电了,嘿嘿、16 和 12 分别在 Halo 里面的第 546 行和第 548 行,我选择第 546 行的 16,双击掰开它的嘴巴,灌水进去、直到 36 为止!拍照保存证据、再试哦啦啦哦耶耶小样儿你再拽、还不是照样被我虐?看上去很不错,但是!.是的,还没有完成当上线状态为隐身或者离开的时候,原状态提示图标仍在原来的位置.这个该怎么虐,方法我就不再说了,相信只要是完成了上面的作业的话,这个是没有问题的。结果是这样的:这样就完成了一部完整的含有非常 YD、XE、SM 、非成年人不适的内容的、NB 又 NC 的大片儿啦当然,如果你完全熟练的掌握了这些,要怎么改,就自己随意了!