Category Archives: 技术 / Tech

ExpressCache OEM Patch v2.0

按照zts9989同学的提示再次进行分析,果然发现1.3.110以上版本存在文件校验的暗桩,故更换破解方式。

此次补丁使用了特征码定位,所以理论上可以兼容多个版本,但是能兼容多少我也不知道。个人环境win10x64 118版本、win7x64 86版本测试通过。别的版本也欢迎各位观众帮忙测试,如有问题可在下面讨论。

用法:停止ExpressCache服务后应用此补丁。

下载地址:ECPatch.7z,解压密码仍然为本站域名。

Known issues:
1、win7 x64只能装110版本。这是因为win7及以前的系统只认sha1签名,而之后的系统都是sha256签名。据说打KB3033929[……]

Read more

西数硬盘调整APM避免停转

跟daddy置换电脑时购买了西数WD10JPVX笔记本硬盘作为移动硬盘,结果该硬盘有个坑爹的设定,就是每当空闲十几秒就直接停转了,再次启动时系统就会卡个两秒钟。可能西数没去考虑将此硬盘作为从盘或移动硬盘使用。

搜索到了“C1门”,试着用wdidle3修改,表示对C1(磁头归位)也许有效,但对停转(04)没有效果。

继续搜索得知这是APM(高级电源管理)的问题,此型号APM默认值为0x60,比较流行的解决方法是安装CrystalDiskInfo,将APM关闭或者设为0x80。但由于硬盘断电后该设置会复位,所以需要将CrystalDiskInfo设为开机启动。

为了一个破硬盘要装个daemon?p[……]

Read more

小工具:Everybackup

五年前的这个时候(2010年12月7号),某人本着天下无贼的思想把电脑带去了演出礼堂,用实际行动证明了天下无贼是不成立的(那个时候世界上还没有nozuonodie这个词)。损失包括并不仅限于一年的和某人的聊天记录,导致这段时间由于后来的强行删除记忆而永远成了断片;以及正在开发的约万行LibCHD及相关项目,导致本人月流水万元的游戏辅助工作室直接倒闭。

在此之后,关于如何备份代码(或者别的重要文件)的问题一直很困扰,直接打包会有一堆无用的文件(比如Debug/Release目录、IntelliSense数据库),浪费时间和空间。

后来发现WinRAR、7zip可以写通配符的文件列表,如*.cpp[……]

Read more

ATL/WTL黑科技

1、真正的按需编译

一般来说我们提到“类库”概念的概念马上就想到DLL,也就是运行时类库。这样写框架的话框架有多少代码DLL就有多大。据实验最新的MFC的程序只需要一个空的对话框,静态编译出来EXE大小就有1M。

而C++模板技术几乎相当于宏替换,代码的实现都直接写在头文件里,并且只有在真正调用时才会编译。这样使得ATL对SDK的封装是在源代码级别的,相当于用到什么才去拉一段代码贴上去。没有MFC那样庞大的设计结构,耦合性很低,编译出的代码也就很精练了。

2、编译期多态

和上面类似,使用C++模板可以实现编译期间基类对子类成员随便直接访问,而无需通过运行时虚函数,这在通常的面向对象编程思想中是[……]

Read more

生日悖论与Hash需要位数

m个数字随机选取n次,各不相同的概率P=((m-1)/m)^(n*(n-1)/2)

m、n很大时取最高次项公式近似为P=((m-1)/m)^(n^2/2)

lim(m->+…)((m-1)/m)^m=1/e

有P=(1/e)^(n^2/2/m)

n=(log(1/e)(P)*2*m)^(1/2)

当P=0.5时,代入上式n=(1.386*m)^(1/2)=1.177*m^(1/2)

在生日悖论原题中,m=365,得n=22.49,即班上有23人时生日出现重复的概率就超过0.5了(虽然是近似计算,但这个误差已经很小了)。

选取hash的话,考虑简单用32数表示hash,看上去能[……]

Read more

破解Win2003标准版IAS Radius服务器客户端IP数限制

Win2003的Internet Authentication Service(IAS)服务是基于Windows Server平台的自带RADIUS服务端,结合Active Directory用于VPN拨入、无线802.1x接入等非常方便。

IAS要求必须指定来源客户端IP地址,查询帮助知可以填写192.168.0.0/24这样的子网地址以实现IP段,但填写后提示只有企业版才支持此功能。

因为没钱买企业版(好吧,其实是某云提供的企业版2003只有64位版,博主的1G内存小主机没必要因为这一个功能去换64位而损失各种兼容性),考虑进行破解。因为是系统Network Service服务,不便于使[……]

Read more

PHP小轮子计划

因为“PHP是世界上最好的语言”,所以大凡尝试过用原生PHP写网页的同学都会被要裸写一堆重复代码恶心到,不想恶心稍微偷懒一点的话又会被黑客分分钟sql注入之类的。

用框架是个好的选择,然而意味着学习成本提高、语言灵活性降低、程序执行效率降低。比如我显然没必要做去学习Zend然后给工作室写一个简单的学生管理系统这样大炮打蚊子的事。轻量级的框架固然也有,比如CI我就很喜欢,但也有着把简单问题复杂化以及某些功能用着不顺手的问题。有能力让框架比原生更简单的我觉得只有微软帝国,比如COM和.NET,设计上几乎找不到缺点。

于是萌生自己造个框架的想法。这个框架应该具有以下的特点:

框架应该极度简洁(强迫症[……]

Read more

ELAN触控板改手写板实验

原理:逆向了ETDDeviceInformation.exe中取内核原始PS2数据并计算出多点触摸坐标的部分,然后使用Microsoft.Ink墨迹库来做文字识别。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
using System.Threading;

namespace InkTest
{
class ETD
{
[DllImpor[……]

Read more

硬链接问题:不应使用Xcopy移动C:\Program Files目录到数据盘

有一些文章提到了可以使用xcopy将C:\Program Files、C:\Program Files (x86)、C:\ProgramData、C:\Users移动到D盘,然后在C盘建立NTFS符号链接以减少空间占用。例如:

xcopy /e /h /k /x /y /b /c “C:\Program Files” “D:\Program Files”
rd /s “C:\Program Files”
mklink /j “C:\Program Files” “D:\Program F[……]

Read more

适用于开启与WinXP/2003兼容的标准用户的Win7/2008R2 UAC设置

题目有点绕。需求是这样的:在WinXP/2003下,标准用户组Users具有一般的使用权,但不能对系统进行更改,在那个没有UAC的时代,合理配合使用Users组和手动提权到Administrator,其实也是可以做到和现在有UAC时同等安全地裸奔的(但很可惜那个时代我修电脑的认知还停留在Win98的水平,对NT系统的强大了解甚少,一度认为XP系统很不安全,连自己都装过卡巴死机和360,黑历史不堪回首)。

在标准用户组下,所有程序本身都能运行的,但进行需要权限的操作会直接Access Denied失败。使用标准用户的case还是有使用的地方的,适合于非IT工作单位或家庭、有网管的情况。例如豆子每[……]

Read more