分类归档:电脑非常识

解决sublime text的升级提示

sublime text每次打开都会提示

A new version of Sublime Text is available, download now?

很烦人,解决方案如下

打开Preferences -> Settings 的配置文件加一行

“update_check”:false

整个世界安静了

JS刷网易云音乐等级(已失效)

网易云音乐是现在最流行的听音乐软件,推荐的不少歌单都是比较有逼格的。

网易云音乐也有等级制度,登陆的天数越多,听的歌越多,等级就越高。

顶级是LV.10级,需要听2万首歌

使用方法:

使用chrome浏览器(或支持命令行的浏览器)打开网易云:http://music.163.com/登陆,点击头像我的主页就可以看到目前听了多少首歌了。

按F12进入命令控制台,选择console选项,粘贴下方附件中的代码,运行即可,几分钟即可完成升级任务。

其实也没啥实质性的用处,就是为了装个逼~

 

 

var Music163 = {};
Music163.Send = function (index, count) {
    var bd = NEJ.P,
        cg = NEJ.O,
        cz = NEJ.F,
        bm = bd("nej.u"),
        bj = bd("nej.v"),
        bA = bd("nej.j"),
        bL = bd("nej.ut"),
        bn = bd("nm.x"),
        bs = bd("nm.d"),
        bc,
        bO;
    bs.iR = NEJ.C();
    bc = bs.iR.bT(bL.bft);
    bc.dK = function () {
        var Rs = location.protocol + "//" + location.host;
        var cqX = function (cF, bl) {
            var cI = { conf: {}, data: {}, urls: [] };
            bm.cr(cF,
                function (bP, bv, bk) {
                    var cl = bs.bD(bP);
                    if (!cl) return;
                    var bfz = bGO(cl.url, bl[bP]);
                    cI.urls.push(bfz);
                    cI.conf[bfz] = cl;
                    cI.data[bfz] = JSON.stringify(bl[bP] == null ? "" : bl[bP])
                });
            return cI
        };
        var bGO = function (ce, bl) { return ce.replace(/\{(.*?)\}/gi, function ($1, $2) { return bl[$2] || $1 }) };
        var bGW = function (cl, bf, be) {
            bj.bG(window, "requesterror", be);
            if (!!be.stopped) return;
            var KT = cl.onerror || bf.onerror;
            if (bm.gO(KT)) {
                this.bG(KT, be, bf)
            } else {
                (KT || cz).call(this, be, bf)
            }
            var be = { result: be, option: bf };
            this.bG("onerror", be);
            if (!be.stopped) (cl.onmessage || cz).call(this, be.result.code, be.result)
        };
        var bHc = function (bV, cl, bf) {
            var bo = bV;
            if (bm.hF(cl.format)) {
                bo = cl.format.call(this, bV, bf)
            }
            return bo
        };
        var yC = function (bV, cl, bf, vX) {
            if (bm.hF(cl.beforeload)) {
                cl.beforeload.call(this, bV, bf, cl)
            }
            if (bV && bV.code != null && bV.code != 200) {
                bGW.call(this,
                    cl,
                    bf,
                    { key: bf.key, code: bV.code, message: bV.message || "", captchaId: bV.captchaId, ext: bV });
                return
            }
            var bo = bV;
            if (!vX) {
                bo = bHc.call(this, bV, cl, bf)
            } else if (bm.hF(cl.format)) {
                var bfD = [];
                bm.cr(vX.urls, function (ce) { bfD.push(bHc.call(this, bV[ce], vX.conf[ce], bf)) }, this);
                bfD.push(bf);
                bo = cl.format.apply(this, bfD)
            }
            var vp = cl.onload || bf.onload, bHl = cl.finaly || bf.finaly || cz;
            if (bm.gO(vp)) {
                bHl.call(this, this.bG(vp, bo), bf)
            } else {
                bHl.call(this, (vp || cz).call(this, bo), bf)
            }
        };
        var BF = function (cl, bf, dh) {
            bGW.call(this, cl, bf, { key: bf.key, code: dh.code || -1, message: dh.message || "" })
        };
        return function (cl, bf) {
            if (bm.gO(cl)) {
                cl = bs.bD(cl)
            }
            delete bf.value;
            (cl.filter || cz).call(this, bf, cl);
            var bV = bf.value;
            if (!!bV) {
                yC.call(this, bV, cl, bf);
                return
            }
            var ce,
                bl = bf.data || cg,
                zt = {
                    cookie: !0,
                    type: cl.rtype || "json",
                    method: cl.type || "POST",
                    onerror: BF.bi(this, cl, bf),
                    noescape: cl.noescape
                };
            if (bm.fU(cl.url)) {
                var vX = cqX(cl.url, bl);
                ce = Rs + "/api/batch";
                zt.data = bm.eH(vX.data);
                zt.onload = yC.fE(this, cl, bf, vX);
                zt.headers = { "batch-method": "POST" };
                delete vX.data
            } else {
                var mM = cl.url.indexOf(":") < 0 ? Rs : "";
                ce = bGO(mM + cl.url, bl);
                zt.data = bm.eH(bf.data);
                zt.onload = yC.fE(this, cl, bf)
            }
            if (zt.method == "GET") zt.query = zt.data;
            return bA.cE(ce, zt)
        }
    }();
    bc.ES = function () {
        var hx = /^get|list|pull$/i;
        return function (bHw, bf) {
            var bP = bf.key, cl = bs.bD(bP.split("-")[0] + "-" + bHw);
            if (hx.test(bHw) && bP.indexOf("post-") < 0) cl.type = "GET";
            this.dK(cl, bf)
        }
    }();
    bc.ctL = function (bP, bk) {
        var dO = bk.length;
        this.bfc({ key: bP, offset: 0, limit: dO + 1 }, { list: bk, total: dO })
    };
    bc.Yi = function (bf) { this.ES("list", bf) };
    bc.bfv = function (bf) { this.ES("get", bf) };
    bc.bGh = function (bf) { this.ES("pull", bf) };
    bc.bFQ = function (bf) { this.ES("add", bf) };
    bc.Yf = function (bf) { this.ES("del", bf) };
    bc.Yd = function (bf) { this.ES("update", bf) };
    bc.cqS = function (bu) { this.Db(bu) };
    bL.he.bH({ element: window, event: "requesterror" });

    var canRun = true;
    this.RunOrStop = function () {
        canRun = !canRun;
        return canRun;
    }
    var _index = index;
    var _count = count;
    this.Start = function () {
        console.log("www.coolaj.cn分享");
        console.log("By XA");
        for (var songId = _index; songId < _count; songId++ , _index++) {
            if (canRun) {
                if (songId % 100 === 0) {
                    console.log("www.coolaj.cn分享,正在刷第[" + (songId - index)+ "]首歌,别忘了给我点赞啊~");
                }
                var info = { "type": "song", "wifi": 0, "download": 0, "id": songId, "time": 600, "end": "ui", "source": "list", "sourceId": "576900073" };
                bc.dK("bi-log", {
                    data: {
                        logs: JSON.stringify([{
                            action: "play",
                            json: info
                        }])
                    }
                });
            }
            else {
                return _index;
            }
        }
    }
}


var index = 25000000;//歌曲起始ID
var count = index + 10000;//10000是刷歌数量

var m163 = new Music163.Send(index, count);
m163.Start();
//m163.RunOrStop();//开始或暂停

 

如何制作一个PS3硬破(E3 ODE)的EBOOT金手指

基础知识:

EBOOT有2种

第一类EBOOT:

是原本游戏的里的EBOOT,初始的EBOOT

这个一般都是ver1.00版本的,以魔界战记D2为例

\dev_hdd0\GAMES\BLJS10206-[Disgaea D2]\PS3_GAME\USRDIR—-原始的EBOOT

这类EBOOT在 GAMES的里的游戏目录里….这个一般大家都知道….

第二类EBOOT:

如果你把游戏升级过了,例如D2的1.00版本升级到了1.10版本,那么新的EBOOT就换地方住了

\dev_hdd0\game\BLJS10206\USRDIR—–这里找新的EBOOT

升级过的游戏,新版本的EBOOT在game目录里找,注意不是GAMES目录!!!不要搞错!!!

有点不一样的地方就是这个新的目录只有游戏的编码{BLJS10206},没有游戏边上的注解了,所以不要把数字看错了

因为有这2类EBOOT的区别,所以修改前先确认,自己的EBOOT是属于哪一种,不要改错版本,代码不是通用的

开始教程:

首先要有一个下载镜像,这就不用说了

以美国末日/最后生存者/The last of us 来举例

  1. 解压提取镜像,用到工具 : PS3 ISO TOOLS
  2. 使用TrueAncestor SELF Resigner 解密EBOOT.
    S1.先把PS3里提取的EBOOT.bin文件复制到TrueAncestor SELF Resigner的目录里
    S2.打开resigner.exe 输入数字1后回车,等待数秒后显示 Decrypt finished后  按任意键完成操作,完成后会多一个EBOOT.ELF文件
  3. 找到相关代码
    Max Money 
    SET OGP=7BBD002080A901607FA3EB787CA507B448032A8960000000839E829C
    SET COP=3CA03B9A60A5C9FF7FA3EB7890A9016048032A8960000000839E829C
    Infinite Everything (Ammo,Items,Skills,Parts) 
    SET OGP=7D2B1B2E419E00105520043E7C005050900600007C6B1A2E480000083860FFFF
    SET COP=60000000419E00105520043E7C005050900600007C6B1A2E480000083860FFFF

     

  4. 修改EBOOT ELF,替换金手指代码
    使用软件:winhex(HxD.exe)
    S1.用HxD.exe 打开EBOOT.ELF文件
    S2.按Ctrl+F 搜索地址 OGP= 后面的字符串,复制COP=后面的字符串粘贴替换
    S3.完成修改后Ctrl+S 保存 后退出 HxD
  5. 重新打包成EBOOT.BIN
    使用软件:TrueAncestor SELF Resigner
    S1.打开resigner.exe 输入数字2后回车,等待数秒后显示 Encrypt,Resign finished后  按任意键完成操作,至此完成 ELF文件转换BIN
    S2.关闭resigner.exe
  6. 复制签名后的EBOOT.BIN替换文件夹中的EBOOT.BIN
  7. 打包成ODE镜像,用到工具E3 ODE ISO TOOL

 

PS:关于OED用金手指的其他相关知识

1.下载金手指EBOOT,对应高版本的金手指有一部分是PKG格式,遇到这种格式的都是给软破机用的,(如果EBOOT是1.0版本就直接重签后替换游戏文件夹里的EBOOT) 遇到高版本的PKG格式的,就用PKGVIEW打开,解压出来,找到USRDIR,找到EBOOT,就用这个,其他没用的都可以删除。
2.用TrueAncestor EBOOT Resigner ODE重签金手指EBOOT,然后替换游戏文件夹里的原版EBOOT,然后用E3 ODE ISO TOOL V2.0压制成ISO,就可以金手指游戏了。前提是你用的金手指是1.0版本的EBOOT。
3.如果是高版本的EBOOT金手指,比如这个EBOOT金手指是1.05版本的。也同样用TrueAncestor EBOOT Resigner ODE重签EBOOT,然后替换游戏文件夹里的原版EBOOT,然后用E3 ODE ISO TOOL V2.0压制成ISO。然后下载对应版本的升级档文件,要注意欧版对应欧版,美版对应美版,日版对应日版。1.05的升级档对应 1.05的EBOOT金手指。升级档都是PKG格式的,然后用PKGVIEW打开,解压出来,找到升级档里的EBOOT删除掉,然后利用ODE用的MM传这个没有EBOOT的升级档到PS3内置的硬盘里。

 EBOOT是什么?EBOOT就是PS3上的一种加密执行文件。这样比喻不太恰当,但是为了形象生动,权且一比:EBOOT就相当于我们在电脑上玩的电脑游戏的EXE。比如仙剑奇侠传这个游戏怎么执行和启动呢?就找到现价奇侠传.EXE文件,双击就启动了。EBOOT在PS3里就相当于这么一个玩意。我们玩电脑游戏破解的时候破解的是EXE文件,我们玩PS3游戏,就需要破解EBOOT文件。 网上流传的3.XX 4.XX破解EBOOT是给软破机器用的,他们用的是自制系统。我们硬破机器其实是光驱破解,就是指让光驱误以为正在读的是正版光盘,我们用的系统还是官方的系统,所以不需要破解EBOOT,我们的ISO光盘格式的游戏,里面只要放官方原版的EBOOT就可以正常进行游戏。当我们需要用修改过的EBOOT金手指进行游戏的时候,我们就需要用TrueAncestor EBOOT Resigner ODE重签EBOOT,让光驱能够识别,如果不重签的话,任何修改过的或者破解过的EBOOT,都无法运行游戏。

我们知道PS3的光盘的内容都是统一的,他们是一次性压碟,也无法修改,但是光盘里面的内容如果有问题,比如有BUG什么的,官方就需要用升级档来修正这些BUG,比如最后生还者这个游戏,光盘里面内置的是1.0的EBOOT。很多游戏都是,但是举个例子说明。
如果官方要升级游戏内容,就通过PSN让玩家下载1.01 1.02 1.03 1.04 1.05 1.06等等升级档,这些升级档里面都包含了EBOOT,这些升级档都是安装在PS3的内置硬盘里的,因为你的光盘里面的文件是无法替换的。当你升级了游戏版本的时候,实际上,你光盘里面的EBOOT就不起作用了。系统调用的是内置硬盘里面升级档的EBOOT,所以当你的光盘ISO里面安装的是修改过并重签过的1.0金手指EBOOT的时候,如果你升级了游戏升级档,那么金手指的功能就失效了。 

  软破的机器换金手指都是直接替换内置硬盘里面的升级档的金手指EBOOT,但是我们硬破机器不行,我们硬破的机器因为用的是官方系统,官方的升级档,也没有修改内置硬盘里面的权限。所以我们只能一开始就把升级版本的,比如1.05版的EBOOT金手指先放进光盘ISO里面,然后删除掉内置硬盘里面的升级档的EBOOT,这样系统就无法读取系统内置硬盘里面的EBOOT,直接读取光盘里面的升级档的被我们重签过的EBOOT,才能实现金手指功能。我说的大概流程就是这个意思。

东芝WT8平板电脑重装系统不识别U盘的解决方案

东芝的小平板吃灰已经一年多了,最近正巧赶上WIN10也稳定了,就想着换一下10的系统,用自带的维护工具格式化后发现平板不能识别硬盘也不能识别U盘,找遍网络也没有找到一个合适的解决方案,最后还是自己解决了问题,以下是步骤

1.准备一个 USB键盘鼠标、USB hub、otg线、U盘(8G以上,因为要制作一个镜像包)
2.把WT8充满电,一定要充满,安装系统还是很耗电的,当然有一个供电线带OTG的最好
3.下载win10预览版的官方镜像包 http://windows.microsoft.com/zh-cn/windows/preview-iso
3.制作U盘镜像包,这里我直接用UltraISO_DWJ 刻录下载好的镜像包
1>文件->打开->选择镜像包
2>启动->写入硬盘映像
3>写入方式选择”USB-HDD” -> 格式化 ->写入
4.连接键盘鼠标U盘,按着 “开机键” + “音量+键”启动wt8 ,进入BIOS,关闭Secure Boot ->save保存
5.按着 “开机键” + “音量+键”启动wt8选择第二项,如果这里没有显示你的U盘,反复开机多次就会出现
6.正常格式化/安装系统

 

插件冲突,ipad屏幕图标变小而且分散的恢复办法

大伙都是刚越狱,而且像我这样原生4.3.5自打买上3、4个月就没尝过越狱的滋味~

近乎疯狂的装插件~测试插件~美化~破解~~

终于,有两个插件冲突了~

ipad屏幕变成图标小~而且分散的样子~点进程序~全部变成iphone程序界面~但是触屏没反应~

痛苦啊!

上网查了查~貌似不少同志都有这样的情况~

貌似最有效的就是进/library/Mobilesubstrate/Dynamiclibraries/
把你觉得可能导致冲突的插件 在后面加上 .old的后缀
再重启测试~
优先推荐这种方法~如果实在记不起是哪个插件引起的~接着看下面~

这样应该是有效的~但关键是我们疯狂的装插件,哪知道那个是冲突的呀!

其实,很简单

全删了就好了!

不用担心,那些都是动态挂载的~不是插件的源程序~

删了就没问题了,也没什么影响,我自己也是这么恢复的

所以给大家的建议是:装插件一定要慎重
其实美化,插件什么的都是浮云,新鲜劲儿过了,什么都没了~吼吼

希望大家支持哦,可以留着备用,记性好的就直接记住是/library/Mobilesubstrate/Dynamiclibraries/这里哦!

保不准那天手Jian~像我一样~

Eicar病毒测试方法,测试你的杀毒软件什么等级

———————请复制下面的代码到文本中保存——————-
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
———————请复制上面的代码到文本中保存——————-
测试方法:
将代码复制到记事本中,然后另存为:
EICAR.COM
测试原理:
该段代码是欧洲计算机防病毒协会开发的一种病毒代码,其中的特征码已经包含在各种杀毒软件的病毒代码库里,所以可以用做测试病毒扫描引擎。
测试等级:
特等:复制完代码后便提示内存有病毒
优等:刚保存完就提示病毒(或者直接删除)
中等:保存后几秒提示病毒(或者直接删除)
下等:需自己启动病毒扫描查杀才提示病毒(或者直接删除)
劣等:无论怎么扫描都无法提示病毒(或者直接删除)

利用百度或Google批量入侵方式

这种技术方式是用GOOGLE来搜索一些存在安全漏洞的网站,我简单列出GOOGLE的一些语法的使用方法:

intext:这个就是把网页中的正文内容中的某个字符做为搜索条件.例如在google里输入:intext:红盟.将返回所有在网页正文部分包含”红盟”的网页.

allintext:使用方法和intext类似.

intitle:和上面那个intext差不多,搜索网页标题中是否有我所要找的字符.例如搜索:intitle:红客.将返回所有网页标题中包含”红客”的网页.同理allintitle:也同intitle类似.

cache:搜索google里关于某些内容的缓存,有时候也许能找到一些好东西哦.

define:搜索某个词语的定义,搜索:define:hacker,将返回关于hacker的定义.

filetype:这个我要重点推荐一下,无论是撒网式攻击还是我后面要说的对特定目标进行信息收集都需要用到这个.搜索指定类型的文件.例如输入:filetype:

doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富

:filetype:doc.将返回所有以doc结尾的文件URL.当然如果你找.bak、.mdb或.inc也是可以的,获得的信息也许会更丰富

info:查找指定站点的一些基本信息.

inurl:搜索我指定的字符是否存在于URL中.例如输入:inurl:admin,将返回N个类似于这样的连接:http://www.xxx.com/xxx/admin,用来找管理员登陆的URL不错.allinurl也同inurl类似,可指定多个字符。

link:例如搜索:inurl:www.coolaj.cn可以返回所有和www.coolaj.cn做了链接的URL.

site:这个也很有用,例如:site:www.coolaj.cn将返回所有和www.coolaj.cn这个站有关的URL.