1.膜拜!用最少的代码却实现了最牛逼的滚动动画!
2.封装Vue组件库的方法
3.视频和视频帧:Intel GPU(核显)的编解码故事
4.pspçç ´è§£åç¨
5.有关asp源代码解密
膜拜!用最少的代码却实现了最牛逼的滚动动画!
今天,我们来探讨如何仅用少量代码便能创造出令人惊叹的js优质源码滚动动画,这一切得益于ScrollTrigger插件与GreenSock Animation Platform (GSAP) 的完美结合。
GSAP是一个强大的JavaScript动画库,它能处理各种内容的动画,包括CSS属性、SVG、React、画布和通用对象,且在兼容性方面表现出色,速度比jQuery快倍,被众多网站和知名品牌采用。
ScrollTrigger是基于GSAP设计的,专注于在页面滚动时触发HTML元素的动画。虽然ScrollTrigger负责处理滚动事件,真正的动画处理则由GSAP完成,两者协同工作,为滚动动画赋予了无限可能。
安装ScrollTrigger有多种方式,包括使用CDN、ES Modules或UMD/CommonJS。捕捞季节源码分享接下来,让我们通过实例感受它的魅力。
从基础示例到高级技巧,ScrollTrigger提供了丰富的应用场景,让你的滚动动画更加生动和吸引人。想要了解更多实例和源代码,官网是个绝佳的去处。
我,老鱼,一直致力于技术分享,希望能与你一同在技术探索的道路上前行。如果你觉得我的内容有价值,不妨关注我,@前端实验室,一同学习交流。
封装Vue组件库的方法
封装组件库让我们在之后的工作中可以复用现成的代码,同时保持了组件的稳定性。本文简要概述了封装Vue组件库的2种方法:vue-cli、webpack。
vue-clivue-cli自带编译为库的功能。
命令编写好源码后,执行命令:
vue-cli-servicebuild--targetlib--nameindex--destdist./src/lib/index.ts--name参数设置库的名字,--dest参数设置生成文件的保存目录,./src/lib/index.ts表示入口文件。津源码头在哪
参考资料vue-cli-servicebuild。
输出这个命令在dist目录中生成了CJS和UMD的文件,同时CSS也被处理出称为一个单独的文件。
依赖vue-cli没有配置好组件库的外部依赖,我们需要在vue.config.js中设置。
constPackageJson=require('./package.json')module.exports={ configureWebpack:{ externals:Object.keys(PackageJson.dependencies)}}webpackWebpack打包组件库的方式与打包应用方式类似,除了我们需要设置library属性。示例:
constPackageJson=require('./package.json')constPath=require('path')const{ VueLoaderPlugin}=require('vue-loader')const{ CleanWebpackPlugin}=require('clean-webpack-plugin')module.exports={ mode:'production',entry:Path.resolve(__dirname,'./src/index.ts'),output:{ path:Path.resolve(__dirname,'dist'),filename:'index.js',library:{ type:'commonjs'}},externals:Object.keys(PackageJson.dependencies),resolve:{ extensions:['.js','.json','.vue','.ts','.scss'],alias:{ vue:'vue/dist/vue.esm-bundler.js'}},module:{ rules:[{ test:/\.vue$/,loader:'vue-loader'},{ test:/\.(t|j)s$/,loader:'babel-loader',exclude:/node_modules/},{ test:/\.scss$/,use:['style-loader','css-loader','sass-loader']}]},plugins:[newVueLoaderPlugin(),newCleanWebpackPlugin()],devtool:'source-map'}output.library.type属性用于配置生成的目标模块类型。
视频和视频帧:Intel GPU(核显)的编解码故事
一般提及基于“显卡或多媒体处理芯片对视频进行解码”为硬解码,本文将探讨如何利用Intel的核显,即集成GPU实现硬解码。提及QSV,全称为Quick Sync Video,Intel在年发布Sandy Bridge CPU时,一同推出了这项基于核显进行多媒体处理,包括视频编解码的技术。集成核显,官方称HD Graphics,最早在Sandy Bridge前一代制程已推出,但性能提升及充分发挥在Sandy Bridge时期。Haswell及后续制程发布更高级的Iris架构。最近Intel宣布将开发独立显卡,核显发展具体走向未知。
接手QSV项目时,最美量化指标源码预期会有很多相关资料,实则相反。因此,将记录自己学习过程。
本文将介绍:
I. Intel的核显(集成GPU):
了解核显很有必要,几个月前,作者对CPU的认识还停留在“南北桥”架构。以下内容若有不准确之处,欢迎指正。
查看Gen CPU结构图,首先看CPU核心部分。在整块CPU芯片中,核显占比不小,算力不容小觑。在没有独立显卡的笔记本上,可以运行大量大型游戏,虽偶有卡顿、掉帧情况,整体表现已相对不错。
接下来,看官方给出的GPU内部结构图。GPU内部远比图上所示复杂,图中介绍的仅为部分Subslice芯片结构。GPU分为Slice部分和Un-Slice部分,聚星源码文件Slice部分已介绍,接下来介绍Un-Slice部分。
作者找到了一张图,展示了在MFF上进行视频处理的流程:1) 首先在MFX/VDBOX模块上进行编解码;2) 接着送到VQE/VEBOX上做图像增强和矫正处理;3) 然后送到SFC上做scale和transcode;4) 最后送出到显示屏上展示。是否完全正确,作者这里做个记录。
推荐知乎文章《转》Intel Gen8/Gen9核芯显卡微架构详细剖析,深入浅出,关于thread dispatch的说明即出自该文。
最后,总结Intel集成GPU/核显结构图。
注意,这是skylake架构下的GT2/GT3/GT4 GPU结构图,X数字越大,集成的Slice和Unslice芯片更多,能力越强,价格也更高。
II. Quick Sync Video(QSV)技术:
QSV是Intel推出的将视频处理任务直接送到GPU上进行专门负责视频处理的硬件模块处理的软件技术。与CPU或通用GPU上的视频编码不同,QSV是处理器芯片上的专用硬件核心,这使得视频处理更为高效。
要了解QSV如何驱动GPU的MFF,首先看官方Intel® Video and Audio for Linux上的图。在介绍QSV之前,提及Intel在FFmpeg上提供的插件,包括ffmpeg-qsv、ffmpeg-vaapi和ffmpeg-ocl。详细描述如下:
· FFmpeg-vaapi提供基于低级VAAPI接口的硬件加速,在VA API标准下在Intel GPU上执行高性能视频编解码器、视频处理和转码功能。
· FFmpeg-qsv提供基于Intel GPU的硬件加速,基于Intel Media SDK提供高性能视频编解码器、视频处理和转码功能。
· FFmpeg-ocl提供基于工业标准OpenCL在CPU/GPU上的硬件加速,主要用于加速视频处理过滤器。
接下来,介绍QSV在ffmpeg2.8及以上版本的支持,经过MSDK、LibVA、UMD和LibDRM。分层进行分析:
· MSDK:Intel的媒体开发库,支持多种图形平台,实现通用功能,可用于数字视频的预处理、编解码和不同编码格式的转换。源码地址为Intel® Media SDK,在Linux平台上编译使用。
· VA-API:Video Acceleration API,提供类unix平台的视频硬件加速开源库和标准。Intel源码地址在Intel-vaapi-driver Project,在Linux平台上使用。
· UMD:User Mode Driver的缩写,指VA-API Driver。Intel提供了两个工具:intel-vaapi-driver 和 intel-media-driver,推荐使用后者。
· LibDRM:Direct Rendering Manager,解决多个程序协同使用Video Card资源问题,提供一组API访问GPU。与VA-API,LibDRM是一套通用的Linux/Unix解决方案。
· Linux Kernel:Intel的Kernel是i driver,描述了libDRM和Kernel Driver之间的关系。
至此,整个关系图较为清晰。
III. FFMPEG+QSV解码:
QSV硬解的任务主要包括:
关于3-4步操作的详细实现,底层库会帮助完成。但作为一个优秀的工程师,研究FFMPEG源码依然十分重要。接下来,介绍如何使用FFmpeg API中的h_qsv解码器插件。
提及FFmpeg命令行使用方法,推荐阅读官方资料《QuickSync》或《Intel_FFmpeg_plugins》。
关于示例代码,作者曾遇到许多坑,总结为:多数中文博客不可靠,官方demo最可信。官方代码提供了两份可用:qsvdec.c和hw_decode.c。作者最早使用的是第一段代码,核心部分如下:
然而,这段代码存在问题。测试发现,对于赛扬系列一款CPU,在p视频上MSDK达到fps,理论上h_qsv平台上限也应为fps,但实际测试不到fps。排查后发现是av_hwframe_transfer_data()性能较弱。
最终,与Intel一起解决了性能问题。那么,性能提升方案为何是GPU-COPY技术做Memory-Mapping?
解释GPU和CPU渲染图像的过程,包括坐标系转化、纹理叠加等,仅需了解两点:
后者的数据组织方式能充分利用GPU的并行特性,加速图像处理、渲染。尽管存在一些纹理叠加的技术难题,但性能提升足以补偿。
接下来,解释Memory-Mapping:从Intel CPU架构图中可见,GPU和CPU位于同一芯片上,各自寄存器/缓存区有限,视频数据主要存储在内存上。GPU和CPU的数据组织方式不同,同一帧数据存于内存同一位置,数据格式不同,因此需要做Memory-Mapping。Memory-Mapping相较于Memory-Copy,减少了数据从内存区域A移动到区域B的操作,已经是优化。进一步优化:GPU完成Memory-Mapping以及数据从GPU到内存和CPU的操作。
在av_hwframe_transfer_data()内部,Memory-Mapping由CPU完成,性能受限于CPU,只能并行。修改后,整体性能从不到fps提升至fps,虽然与理想fps仍有差距,但满足性能需求。
据悉,Intel将在FFmpeg 4.3开源出这个解决方案。
写在后面:
了解GPU底层对应用开发人员帮助不大,毕竟了解芯片布线的重新设计、制程工艺提升、GPU-COPY技术的数据I/O提升等,也不能做什么。最终,芯片架构是芯片工程师的事,底层逻辑实现是嵌入式工程师的事。应用开发人员无法做出实质贡献,但作为知识库扩充或休闲阅读,了解也无妨。
希望有机会接触CUDA的编解码,深入学习N卡设计。
感谢因《视频和帧》系列文章结识的朋友,热心指出文章描述不准确的地方。文中如有不严谨之处,欢迎指正。
pspçç ´è§£åç¨
å¯èæ¶ä»£ï¼-5-7 PSP游æå ç已被导åº
-5-7 HELLO WORLD 1.0ç»åº
-5-9 Saturn Expedition mitteeåå¸äºä¸ä¸ªå¯ä»¥DUMP 1.0çæ¬çPSP FIRMWAREçç¨åº
-5- PSPä¸GB模æå¨åºç°
-6- MD模æå¨å°PSPçè¿è¡é¢çæé«å°äºMhz
UMDå¼å¯¼æ¶ä»£ï¼
-6- KXploit 1.5åå¸ï¼1.5ç ´è§£
-7-4 UMD LOADERåºç°
-7- HOOK BOOT Ver.0. åå¸ï¼ä»æ¤æ们ç¥éäºPSPä¹è½å è´¹ç©ï¼
-7- HOOK BOOT Ver.0. æ¾åº
-7- PSP2.0å级
-8-4 Fastloaderç»åºï¼å¥½å¤æ¸¸æçåæåªæ¯ä¸å¼ UMDï¼
-8- Fastloader V0.6b
-8- Fastloader 0.7 çæ¾åº
-9-ãDEVHOOK0.åå¸
é»éåå¼å¯¼æ¶ä»£ï¼å ¶ä»ç ´è§£ä¿¡æ¯ä¸å¤ï¼è¯´æäºé»éåå¼å¯¼ççéï¼ï¼
-9- DEVHOOK0.+DE0.8æ强åå¼å¯¼å½¢æï¼ä¸ä¸ªæ¶ä»£çå¼å§ï¼
-9- 2.0é级ç¨åºåå¸
MPHå¼å¯¼æ¶ä»£ï¼
-- Fanjitaæ¾åºPSP2./2.5çHelloWorldç¨åºï¼å³åæ¥GTA LOADER)
-- PMPç»åº
-- Eboot Loader 0.9çæ¾åºï¼2.)
-1- Fanjitaåå¸äº2.0 eLoader(GTA LOADER) for v2.ãv2.åv2. PSP
-1- Fanjitaåå¸äº2.0 eLoader(GTA LOADER) for v2. PSP
-2- MPH GTA LOADERåå¸ï¼GTAåç ´
-2- MPH GAME LOADERåå¸ï¼2.0游æåç ´
-2- MPH Game Loaderæ£å¼çï¼è§£é¤åééå¶
MPHé»éåå¼å¯¼æ¶ä»£ï¼
-3-3ã æ éUMDç©2.0ç ´è§£æ¸¸æ MPH+devhook glç»åº
-3-5 MPH Game Loader1.ãå¯è¿è¡2.0UMD
DAXZISOæ¶ä»£ï¼
-3-6 RUNUMDåºä¸
-3- DAXZISO 0.4 åå¸
-4-6 DAXZISOå级0.5ç
-4- RUNUMD+UE8.0ç»åºï¼æªç©ç人Påç ´
-4- DAXZISO 0.çæ£å¼æ¯ææªç©ç人å缩
-4- DAXZISO 0.ç
-4- PSP2.7çæ¬å级æ件æ£å¼æ¾åºä¸è½½-4- DEVHOOKæ¾åº 0.3 alphaçï¼è¿å¨å½æ¶äººç¼éæ¯æåºçå¼å¯¼å¨ï¼è°ç¥ï¼ï¼ï¼ï¼
-5-6 UMD EMULATORæºä»£ç è¢«å ¬å¸
-5-7 HELLO WORLDä¸å¨å¹´
-5-6 DEVHOOK 0.aåå¸ï¼å¾ççå¼å¯¼å¨ï¼è¿æ¬¡çæä¹ä¸»è¦å¨äºCSOæ ¼å¼çåå¸ï¼ä¸è¿DEVHOOK离ç¥åå·²ç»ä¸è¿äºï¼
-5-8 Snes9xTYL 0.4åå¸ï¼æ个人å欢ç模æå¨ï¼
-5- DAXZISOå级0.ç
-5- Snes9xTYL å级 0.ç
-5- DAXZISOå级0.çï¼è³æ¤ï¼DAXZISOçä¼ å¥å°±ç»æäºï¼å¨æ¤æè°¢Dark_AleXå¨DAXZISOæ¹é¢å¸¦ç»æ们ç欢ä¹ï¼
-5- é¦ä¸ªPSPç´è¯»è¯çUndiluted Platinumå ¬å¸ï¼
-5- DEVHOOKææ°å¼ *** æ¥åå¸ï¼ä¸äºå¹¶ä¸èµ·ç¼çæ æ¥ï¼å¯å°±å¨ä¸å¨ä¹åï¼ï¼ï¼ï¼
-6-1ã PSPå级çæ¬è³2.
DEVHOOKæ¶ä»£ï¼
-6-6 DEVHOOK 0.çåå¸ï¼æ³ä¸ä¸å§ï¼SONYæå¤æ¨BOOSTER)
-6-9 DEVHOOK 0.Açåå¸
-6- DEVHOOK 0.Bçåå¸
-6- DEVHOOK 0.Cçåå¸
-6- DEVHOOK 0.Dçåå¸
-6- 2.åºä»¶å¯æåé¨åæ件
-6- Dark_AleXåå¸2.5å2.6éçº§å·¥å ·
-7-5 DEVHOOK 0.æ¨åº
-7-6 Dark_AleXåå¸å·¥å ·1.éå1.
-7- 2./2.åºä»¶è§£å¯æå
-7- Devhook0.çæ¨åºï¼å¯æ¨¡æ2.)-7- Devhook0.çæ¨åºï¼å¯æ¨¡æ2.)
-7- Dark_Alexå¶ä½èªå®åºä»¶ The proof of concept
-7- PSPVBA:GBA模æå¨v1.1.0
-7- Devhook0.çæ¨åº
-7- Devhook0.çæ¨åºï¼å¯å·æºï¼
-7- PSPå级åºä»¶2.çæ¬æ£å¼åå¸ï¼å¾å¯æï¼è¿æ¬¡DEVHOOK没è·ä¸ï¼ä¸ä½è 宣å¸éåºdevhookçå¶ä½ï¼
-7- GBA模æå¨PSPVBA 1.2.3
-8- GPSPåå¸ï¼å®£åGBA模æå¨å®ç¾
-8- Fanjitaå¶ä½PSP2.8èªå¶ç¨åºHello Worldè¿è¡æå
-9-1 Eloader for 2.å ¬å¼
-9-2 2.çPSPæåé级
-9-6ã Eloader 0.9.8åå¸ FOR 2.
-9- å ¨éGBA模æå¨ææ°çæ¬GPSP 0.7å ¬å¸
-9- Eloader 0.9.9åå¸ FOR 2./2.
-9- Dark_AleXå ¬å¸Homebrew Enabler for 2.ï¼å Eloaderè¿è¡èªå¶ç¨åºï¼
-9- Dark_AleXæ£å¼å ¬å¸äºDevhook Launcher Port to v2.ï¼æå³ç2.åç ´ï¼
-9- Dark_AleXå ¬å¸HEN FOR 2.B2ï¼æåç%
-9- Dark_AleXå ¬å¸Homebrew enabler vCï¼å¯è¿è¡1.5çèªå¶ç¨åº
2.SEæ¶ä»£ï¼
--8 Dark_AleX声æ2.ä¿®æ¹çåºä»¶å°å¯ç´æ¥è¿è¡èªå¶è½¯ä»¶ï¼å®å2.SE
--9 2.SE æ£å¼åå¸
-- 2.SE-B æ£å¼åå¸
-- å®ç°å çå¼å¯¼ï¼2.SE-B2 æ£å¼åå¸
--4 TA-ç¥ç§ä¸»æ¿ç»åº
--9 2.SE-B3 æ£å¼åå¸ï¼æç¸å¤´ç ´è§£
-- DARK_ALEKæ¾è¯ï¼2.8Xå¯ä»¥è¢«æ¨¡æ
-- PSP 2. åºä»¶FLASH 0å·²ç»è½å¤åå ¥
-- PSPåºä»¶3.ç³»ç»SCEå®æ¹æä¾ä¸è½½
-- PSPåºä»¶3.ç³»ç»è¢«å¯¼åº
-- PSPåºä»¶3.ç³»ç»SCEå®æ¹æä¾ä¸è½½
-- 2./2.æ··åç³»ç»åå¸
-- Booster宣å¸åå½ç ´è§£éµå®¹
-- 2.SE-C æ£å¼åå¸
-- 2.SEä¸3.æ··åçåå¸
æªç¥çæ¶ä»£ï¼ 3.XX æ¶ä»£æ¥ä¸´ï¼ï¼
-- Devhook0.åå¸ï¼2.8Xåç ´ï¼è½ç¶è¿ä¸æçï¼ä½æ们æçç±ç¸ä¿¡ï¼å®å°±åDevhook0.3ä¸æ ·ï¼æ¯ä¸ä¸ªä¼ å¥çå¼å§ï¼
-1- PSPå ¨å¼æ¾ï¼3.é级å®å ¨å»çå æç¨
-1- PSPå¦ä½å¯¹ç ´è§£ï¼3.æ°çæ¨åºã
ä½ä¸ä¹ ä¼ æ¥3.çæ¬å·²ç»å ¨è¢«æ»å çæ¶æ¯ï¼ç´¢å°¼è¡¨æä¸ä¼æ¾å¼ï¼è¦ç»§ç»æ¨åº3.ç
-7- 索尼ï¼SCEï¼å®æ¹åå¸PSP 3.ç³»ç»åºä»¶ç¨åºã
-7- Team M æ£å¼åå¸èªå¶ç³»ç»3. Mã
-7- Team M æ£å¼åå¸ç³»ç»å级补ä¸3. M-2ï¼ç³»ç»çé¢ä¸æåï¼ã
-8- Team M æ£å¼åå¸ç³»ç»å级补ä¸3. M-3ã
-8- Team M æ£å¼åå¸ç³»ç»å级补ä¸3. M-4ã
-8- Team C+D æ£å¼åå¸éç¨ååç /é级ç¨åºæ½å¤æççµæ± ââç¥å¥çµæ± åå¸ã
-9- Team M æ£å¼åå¸æ°çPSP-第ä¸æ¬¾èªå¶ç³»ç»3. Mã
-9- 索尼ï¼SCEï¼å®æ¹åå¸PSP 3.çç³»ç»åºä»¶ï¼åæ¶æ¯æPSP-åï¼ã
-9- æ¥çPSPæ®éçåå®ã
æ¥è¿å®ç¾çæ¶ä»£ï¼
-9- Team M æ£å¼åå¸èªå¶ç³»ç»3. M
-- ç¥å¥çµæ± V3(Cemetery v3ï¼åå¸ï¼æ¯æèæºå±å¹æ¾ç¤º
-- ç¥å¥çµæ± å¶ä½ç¨åºå å ¥å¯¹æ°çMAHçµæ± çæ¯æï¼ä¹ååªè½ç¨åçµæ± ï¼ã
-- 索尼ï¼SCEï¼å®æ¹åå¸PSP 3.ç³»ç»åºä»¶ç¨åº
-- Team M æ£å¼åå¸ç³»ç»å级补ä¸3.M-3ã
-- 索尼å次å级PSPçç³»ç»çæ¬ï¼æ°çæ¬å·ä¸º3. ä¸å级åºåä» ä¸ºæ¥è¯¥å°åºã
-- Dark_Alexæ£å¼æ¾åº3.M-4çåçº§è¡¥ä¸ å¹¶åå¸3.M-4æ´æ°å 容
-- 索尼å¨æ¥æ¬æ£å¼åå¸PSP 3.çåºä»¶ç³»ç»
-1- åå¸PSP 3.M-2èªå¶åºä»¶
-1- PSP 3.åºä»¶æ¾åº
-2-1 Dark_AleXæ¾åºPSP 3. Mèªå¶ç³»ç»
-2-4 æ´æ°ç3. çåå¸ ä¿®æ£è¥å¹²BUG
-2- Dark Alexåå¸3.M-2èªå¶ç³»ç»
-3- Dark Alexåå¸çèªå¶åºä»¶ç³»ç»çææ°çæ¬3.M-3
-6- SONYåå¸3. åç»æ¹è¿ç³»ç»æ3.ï¼å ¶å®å¹¶æ åºå«
-- SONYæ£å¼åå®PSP-ï¼æ载系ç»ä¸º4.ï¼ç¾ç为4.
-- SONYåå¸5.ç³»ç»
-- Dark-Alexåå¸5. M
-- Dark-alexåå¸5. M-2
--3 Dark-alexåå¸ 5. M-4
-- Dark-Alex åå¸5. M-6
ç ´è§£æ°æ¶ä»£
-4- SONYåå¸5.å®æ¹ç³»ç»
-5-7 DAVEEåå¸Daveeæ£å¼æ¾åºHEN for PSP ç ´è§£ç¨åº
-5-8 DAVEEåå¸Daveeæ£å¼æ¾åº HENä¿®æ£ç for PSP åPSP TAV3
-5- PSPææçæ¬ä¸»æºç ´è§£ Xenogears å Becus åå¸CFW Enabler v1.0 for ChickHENï¼v3主æºå¯ä»¥è¿è¡ISO
-6-6 5. GEN-Aï¼Fullï¼åå¸3K主æºå¯ä»¥è¿è¡ISO
-6-8 Xenogearsåå¸CFWEnable3. 3kå¯ä»¥è¿è¡ISO
-6- SONYåå¸5.å®æ¹ç³»ç»
-6- 5.GEN-A(Full) åå¸ æ¯æå¤å±æ件夹ï¼ä» éä¸év3ï¼
-6- 5.U3R åå¸ æ¯æå é读æ£
-7-2 5.GEN-B(fullï¼åå¸ ï¼é¡»5.GEN-Aç³»ç»ï¼
-8- æèåPSPç ´è§£ç½ç«Dark-AleX宣å¸å ³éï¼ç®¡çå称åªæ¯åºäºè®ºåç»´æ¤ææ¬èèï¼
-9-6 5.GEN-B2(fullï¼åå¸ ï¼é¡»5.GEN-Bç³»ç»ï¼
-9- SONYåå¸6.å®æ¹ç³»ç»ï¼æ¤åSONYå·²å¨å¤ä¸ªæ¸¸æçUMDä¸å å ¥äº5.å®æ¹ç³»ç»ï¼ä¸è¿äºæ¸¸æçISO大é¨åæ æ³å¨å·²æçèªå¶ç³»ç»è¿è¡ï¼
-9- PSPGEN论åçèåå¼åè Yoshihiroåå¸GAME DECRYPTERï¼è½å¤è§£å¯é5.æ6.ç³»ç»ç游æéåçEBOOT.BINæ件ï¼ä½¿å¾å¤§é¨åéè¦5.ç³»ç»è¦æ±ç游æéåå¾ä»¥å¨5.GENææ´ä½çæ¬çèªå¶ç³»ç»ä¸è¿è¡
--1 GAME DECRYPTER v2åå¸ï¼è½å¤è§£å¯æ´å¤çé«çæ¬æ¸¸æçEBOOT.BIN
--1 SONYåå¸6.å®æ¹ç³»ç»
--1 PSP Go(Nï¼æ£å¼åå®ï¼æ¸¯çãç¾çã欧çï¼
--8 GAME DECRYPTER v3åå¸ è¿ä¸æ¥éä½æ¸¸æççæ¬éæ±ï¼ä½¿ç ´è§£åç游æåå¾ä»¥è¿è¡äº5.MHUæ5.GEN
--9 GAME DECRYPTER v4åå¸ è½å¤è§£å¯6.çæ¬éæ±ç游æ
-- 5.GEN-Dï¼ä» æ¯æ1Kåév3ç2Kï¼åå¸ï¼å¯ç´æ¥è¿è¡æªç ´è§£ç5.-6.xxçæ¬è¦æ±ç游æï¼ISO/CSOåUMDï¼
-- 5.GEN-D2ï¼é5.GEN-Dï¼åå¸
--1 PSPGoæ¥çåå®
--2 5.GEN-Båå¸ 3K,V3å¯ç´æ¥è¿è¡æªè§£å¯ç5.-6.XXçæ¬è¦æ±ç游æ
-- SONYåå¸6.å®æ¹ç³»ç»
-- GENå°ç»çææ°èªå¶ç³»ç»5.GEN-D3ï¼PSP/év3éç¨ï¼/5.GEN-Cï¼PSP/v3éç¨ï¼æ£å¼åå¸
-- Dateå ¬å¸æ¨åºå ¨ä¸ç第ä¸æ¬¾è½å¤å¨ç´¢å°¼å®æ¹ç³»ç»ä¸è¿è¡çç¨åº Action Replay PSP
-- PSPGEN主å人åå°éé åå æ¯ææ被çç¨
-- ãçå½ä¹å¿ï¼æ¢¦ä¸éçãåå®ï¼æ æ³å¨ä»»ä½ç°æç³»ç»ä¸è¿è¡ï¼è§£å¯åä¹ä¸è¡ï¼6.æ²å§çå¼å§ï¼
--ãå¬ç¥è ãåå®ï¼åæ ·æ æ³å¨ä»»ä½ç°æç³»ç»ä¸è¿è¡
-- 6.ç³»ç»æåè¿è¡Hello Worldæç¨æ¾åº
-- åºäºè¯ç©æ¸¸æãåªåç °2ãåæ¡£æ¼æ´çE-Loaderåå¸ï¼5.以ä¸å®æ¹ç³»ç»å¯è¿è¡é¨åèªå¶è½¯ä»¶ã
-- PSPä¸é¦ä¸ªæ»¡å大ä½ãåéè£ å¤ï¼åå¹³è¡è ãåå®ï¼åæ ·æ²å§
-- å½äººliquidzigongç ´è§£äº ãåéè£ å¤ åå¹³è¡è ãä¸ºç ´è§£6.游æå±å¼äºåºå¹ã
--liquidzigongç ´è§£äºå¤§ä½ ãçå½ä¹å¿ 梦ä¸éçãï¼éç¨æ件ï¼ã
--å©ç¨ç ´è§£çå½ä¹å¿æå¶æ件ï¼liquidzigongç ´è§£äºå¤§ä½âå¬ç¥è âã
并ä¸æç¨çæ件å¯ä»¥ç ´è§£å¤§é¨å6.ç游æã
å¯ä»¥è¯´liquidzigongç ´è§£äº6.游æã
--liquidzigongåå¸äºPSPç¬å çCFW-5.Pçæ¬ï¼å¯ä»¥ç´æ¥ç©6.游æï¼
-- 6.å®æ¹ç³»ç»æ£å¼åå¸ãåªåå2ãåæ¡£æ¼æ´è¢«å µ
-- 6.å®æ¹ç³»ç»æ£å¼åå¸æé«Digital ics软件è¿è¡ç¨³å®æ§ï¼å¯è½æ¯ä¸ºäºå°å µDigital icså¯è½åå¨çæ¼æ´ï¼
--liquidzigong宣å¸éåºPSPç ´è§£æ´»å¨ã
-- GENå°ç»åå¸äºTotal_Noobç6.å®æ¹ç³»ç»ç ´è§£ç¨åºTN-Aã
-- liguidzigongæ¾åºåºäºTN-AçISOå¼å¯¼ç¨åºPrometheus_ISO_Loaderã
ä»æ¤ï¼6.xxç³»ç»ï¼å æ¬PSPGOï¼å¯ä»¥è¿è¡ISO
-- 6.TN-Båå¸ï¼é¨åPSPå¯ä»¥éè¿TN-Bé级å°5.ç³»ç»ã
-- èªå¶è½¯ä»¶ç¾åå·¥å ·æ¾åºã
ä»æ¤ï¼å®æ¹ç³»ç»å¯ç´æ¥è¿è¡èªå¶è½¯ä»¶ï¼å æ¬èªå¶ç³»ç»å·åç¨åºï¼
-- å½äººå¿ è´ççä¹çåå¸ 6./6. PRO-B2ã
ç ´è§£æ¥è¿å®ç¾ã
-- å½äººå¿ è´ççä¹çæ´æ° 6./6. /6. PROè³B5ï¼å¤§å¹ 度æé«äºå ¶å ¼å®¹æ§å¹¶ä¿®å¤äºæ°çå¼å¯¼æ¨¡å¼Infernoã
-- å½äººå¿ è´ççä¹çæ´æ° 6./6. /6. PROè³B7ï¼æ·»å è®°å¿æ£å éåè½ã
è®°å¿æ£å éåè½å¯ä»¥å°ISO游æ读çé度æé«%~%ã
-- å½äººå¿ è´ççä¹çæ´æ° 6./6. /6. PROè³B8ï¼éæé¨åVshctrl代ç ï¼æ¹è¿ç³»ç»å ¼å®¹ååæä½æµç 度ã
æ·»å 对æ°å¼åçPopsloader for PROçæ¯æï¼å®åPS1模æåè½ã
--.å®æ¹ç³»ç»æ£å¼åå¸
--å½äººå¿ è´ççä¹çæ´æ° 6./6. /6./6.PROè³B9ï¼ä¿®å¤ç§¯ç´¯ç大éBUGåéæ代ç ï¼æ¯æPSPGO UMDè§é¢æè½½ï¼ä¿®å¤äºInferno/np模å¼ä¸å¾ æºæ¶çåºç°çå 驱åªå£°ã
æ´æ°è§£å¯é¨ä»¶ï¼6./6.3xçæ¬å°æ¯ææªæ¥ç6.æ°å¢PRXå å¯ç±»åï¼ä¸º6./6.3xæ·»å äº6.æ°å¢å½æ°ï¼å ¼å®¹æªæ¥ç6.游æåæ¡£ï¼æ°å¢6. PRO-B9ï¼æ¯æ6.åºä»¶ï¼ç论ä¸æ¯æå æ¬gçææPSP硬件çæ¬ï¼ã
æ°å¢CPUé¢ç/ï¼æ°å¢å¯¹æè¿KHBBS_patchçISOçå ¼å®¹æ§æ¯æã
ç ´è§£æ¥è»å®ç¾ã
-- PROè³Bï¼ä¿®å¤äºISOCacheçæ é循ç¯ãä¸æ¯æ>2GçISOï¼åè¿è¡NFS碳åæ¶èµéæ¶å¤±é®é¢ï¼ISOCacheé»è®¤ç¼å²ä¸ªæ°æ¹ä¸ºï¼ä¿®å¤äºPSPGoä¸ä»ISO VIDEO MOUNT模å¼å¯å¨æ¸¸æï¼ä¿®å¤äºå¯å¨Recovery menuæ¶æä½å çæ»æºé®é¢ï¼ä»¥åRecovery menuä¸é¢çæ¾ç¤ºä¸æ /çé®é¢ï¼ä¿®å¤äºä¸è½æ£ç¡®å¤çISOæ件åé®é¢ï¼thx to popsdecoï¼ï¼ä¿®å¤äºä»USBæè½½UMDæ¶ISO大å°é®é¢ï¼thx to neur0nerï¼ï¼ä¼åäºè¡¥ä¸åºç¨é¡ºåºï¼ä¿®å¤äºè§£å¯ä»£ç ä¸çé®é¢ï¼åå°äºFastRecoveryçæ件大å°ï¼å å¿«äºæ¢å¤é度ï¼thx to neur0nerï¼ï¼æ¯æSateliteåRecovery menuçç¿»è¯æ件ï¼å¹¶å¯ä»¥æ´æ¢åä½æ件ï¼å¯å¨XMBæ¶é¿æRé®å¯ç¦ç¨VSHæ件ï¼å¨Recovery menuä¸æ·»å äºDelete Hibernationï¼å é¤ä¼ç æ件åè½ï¼ä»¥åæ¾ç¤ºé«äº®ææï¼å¹´çæ¬æ¯æäº2G~4GçISO/CSO读åï¼å°±æ¤psp宣åå®ç¾ç ´è§£ï¼ææèªå¶è½¯ä»¶ï¼æ¸¸æçå¯è¿è¡ã
-- å¿ è´ççä¹çåå¸6./6. /6./6.PRO Cç³»ç»ï¼å¢å äºWIFIèæºåè½ã
æ¤æ¬¡æ´æ°è½ç¶å½±å并ä¸æ¯å¾å¤§ï¼ä½ä»æ¯ç ´è§£åç¨ä¸çä¸å¤§æ¥ã
- å¿ è´ççä¹çåå¸6.PRO C2ç³»ç»ï¼ä¿®æ£äºNoDRMå¼æçä¸ä¸ªå°é误ã
-- SONYå®ç½å®£å¸å¯¹PSPè¿è¡6.å®æ¹ç³»ç»çæ´æ°ã
æ¤æ¬¡æ´æ°ä¸ä¸æ¬¡6.å®æ¹ç³»ç»æ´æ°å·²éå«3å¹´é¶5个æï¼ç´¢å°¼å®ç½ç§°æ¤æ¬¡æ´æ°âæåäºåæç³»ç»ç稳å®æ§âã
åæèªå¶ç³»ç»å¨å级å®æ¹ç³»ç»å失æã
-- ç ´è§£å·¥ä½è wololoåå¸6./6.PRO C2ç³»ç»ã
è³æ¤PSPå ¨é¨ç³»ç»å次å®ç°ç ´è§£ã
有关asp源代码解密
下面是encode解密出来的,还是加密了,不过这样解开就简单多了,直接一个response.write UnEncode(www_fjqq_cn) 光这一句就可以了,下面的都不必看.
<%
www_fjqq_cn="帅帅m[_3w斌斌斌斌uu~&""ww4##的dY$gg`\$mmm##v2ww""ww4##大dY$gg`\$mmm##v2ww""bcj>}jd[jde9j[=3dYUgg`\Ummm斌~wwww{ [c.dUgg`\{ wwww""ww商供提务服盟联容内序程偷小家首内国ww""[bj_jUdYUgg`\}[YWbf[H3[bj_jUdYUgg`\斌~wwww{ [bj_jUgg`\{ wwww""ww的ww""[bj_jUdYUgg`\}[YWbf[H3[bj_jUdYUgg`\斌~&""ww4[bj_j%2ww""ww4[bj_j2ww""bcj>}jd[jde9j[=3[bj_jUdYUgg`\斌~bhk}[].Fj[=3bcj>斌wwfi.$de_dkww2bhkUgg`\2wwww3bhk斌斌w帅[-[Ykj[}Kd;dYeZ[}m[_~~帅\kdYj_eduKd;dYeZ[}YY~帅uuuu\ehu_u3u'ujeub[d}YY~帅uuuuuuuu_\uc_Z}YY""_""'~w斌wuj^[d帅uuuuuuuuuuuuj[cfu3uC_Z}YY""u_""u'~u!uj[cf帅uuuuuuuuuuuuuuuu[bi[帅uuuuuuuuuuuuj[cf3lXYhb\{ j[cf帅uuuuuuuuuuuuuuuu[dZu_\帅uuuuuuuuuuuuuuuud[-j帅uuuuuuuuuuuuuuuuuuuuKd;dYeZ[3j[cf帅uuuuuuuuuuuuuuuu[dZu\kdYj_ed帅帅帅帅"
execute(UnEncode(www_fjqq_cn))
function UnEncode(www_cfss_cn)
but=
for i = 1 to len(www_cfss_c-)
if mid(www_cfss_cn,i,1)<>"帅" the-
If Asc(Mid(www_cfss_c-, i, 1)) < Or Asc(Mid(www_cfss_c-, i, 1)) > Then
a = a & Chr(Asc(Mid(www_cfss_cn, i, 1)))
else
pk=asc(mid(www_cfss_cn,i,1))-but
if pk> then
pk=pk-
elseif pk< then
pk=pk+
end if
a=a&chr(pk)
e-d if
else
a=a&vbcrlf
end if
next
UnEncode=a
end function
%>