当前位置:编程学习 > 网站相关 >>

[源码+注释]如何让一个美女穿超短裙?

短裙、超短裙一类的穿着标志着成熟和性感。通常来说,年轻女孩子是害羞和腼腆的。由于没有做好心理准备,以至于她们在展现良好身材、曼妙曲线的时候有一些迟疑。实际上,她们的身体已经做好了准备,各方面发育趋于成熟、完善。对于此时的男孩子,能一饱眼福是妙不可言的。
 
与此相类似,Microsoft推出的Windows 2000 Professional操作系统为NT内核在桌面OS领域称霸奠定了基础。也造就了辉煌的XP,曙光的Win7。通常来说,一个未经大量测试的操作系统也是害羞的,诸如ZwLoadDriver一类的强大Native API没有在早期DDK Document中被公开。实际上,操作系统已经做好了准备。这些函数都有成熟、完善的实现代码。对于此时的程序员,能调用这些Undocument函数是妙不可言的。
 
但是,我们不知道函数定义,就无法调用它们。同理,让女孩子穿超短裙,不是几句话就能成功的。
 
不久前,我曾经对正妹做出尝试。以下聊天记录是当时的情景重现——
 
我:“你有没有短裙、超短裙一类的物体啊?”
正妹:“睡裤最短..”
我:“我是说你暑假能穿出来见我的。。。”
正妹:“我裙子都是膝盖上点点的长度啊”
我:“有没有更短的?我要看易做图。”
正妹:“那你找阿红.”
我:“我就要你的。”
正妹:“我没有短裙啊.”
我:“你这种青春美少女就应该多穿一些展现身材的服装~~~”
正妹:“哎.我弄presentation去了..”
 
通过最终的返回值显而易见,函数调用结果是[STATUS_ACCESS_DENIED]。
 
是不是我们就注定无法享受这份福气?作为内核程序员,我们都知道强大NTinternals team推出的[The Undocumented Functions]。通过分析、测试找到那些未公开函数的调用方法。我与女孩子打交道多年,根据我的经验,我认为可以用类似的手段,找到让女孩子穿超短裤的方法。
 
下面就是以我和正妹为例,说明我是如何一步一步找到让女孩子穿超短裙的方法。
 
免责声明:任何调用未公开函数的尝试都是有风险的。请不要在年龄大的女性(例如你老妈)身上使用同样方法。本人对使用本文提及的代码或代码片段造成的后果概不负责。
 
我:“你腰围多少?是74么?超短裙/短裙任选一样。。。你懂的。。。”//函数名已知,根据名称在附近搜索内存
正妹:“回去量下先。。。”//nop,忽略
正妹:“是什么腰围。。。低腰的还是。。。”//正确的数据类型,说明有戏,继续往下
我:“就是卖超短裙/超短裙需要的那个尺寸。。。嗯。。。反正款式你把关,长度我把关。”//测试函数调用约定是否正确
我:“长度不能太长。。。绝对领域往下10厘米以内。。。”//为函数堆分配正确的内存
正妹:“74是哪来的数据。。。”//参数不正确
我:“我猜的…”//检查错误原因
正妹:“根据什么。。”//需要System Error Codes
我:“我的直觉。”//提供错误代码
我:“你先说误差有多大…”//判断一下还需要多少内存
正妹:“我说。。我妈前几年状态好的时候是1尺9的腰。。。”//看看系统自己是如何调用的
正妹:“1尺9大概63.64吧”//转换成10进制表达,方便阅读
我:“好吧…看来误差很大…你的多少?”//看看我们需要申请多少内存
正妹:“顺德佬没回来家里没有软尺。。。”//错误的指针,指向了无效内存
我:“你估计你有多少?”//重新申请内存,看看这次的大小是否合法
正妹:“反正不是低腰的话就不会超过70。。”//获得内存地址范围
正妹:“你真的要送我裤子吗。。。”//关键代码,这里是检查调用者是否具有合法权限
我:“我是认真的。我要看你的易做图。超短裙/超短裙任选,但我更希望是超短裙。”//重新对齐
正妹:“要多短。。”//检查参数合法性,运行到这里说明我的函数定义正确,关键就在参数
我:“绝对领域往下不超过10厘米。”//设置MaximumLength
正妹:“好短。。。。”//运行时警告
正妹:“那不是随时准备要易做图吗如果不打底的话。。”//内存访问错误的处理
我:“易做图了我帮你挡着…何况你穿更短的我都见过…”//启用数据执行保护
正妹:“。。。。。。。。。神经。。。。。。。。。。。。”//STATUS_DEVICE_POWER_FAILURE
我:“所以你要打底啊…”//开写保护
我:“你就当成性感路线的大胆尝试…我也要看到更新换代的正妹…”//系统版本号不正确
正妹:“我不是阿红。。”//STATUS_NO_SUCH_FILE
我:“不用你穿去K…就放假我们俩的时候穿就好…”//设置ShareAccess为0,不允许共享
我:“哎呀~你想嘛~就两个人~~~暑假我们一起去玩的时候你穿就好啦~我真的想看你的易做图。。。”//设置CreateOptions为FILE_DELETE_ON_CLOSE,关闭的时候自动释放
正妹:“。。。。。。。。。。”//无效的返回值,忽略
我:“你主要是怕易做图么?”//检查写保护状态
正妹:“没有啊。我腿又不细。”//Debug输出信息,忽略
我:“荒谬。去年我在游泳池鉴定过了。划分到易做图级别。”//参考IDA的伪代码
正妹:“折射的幻觉。。”//代码混淆,反调试
我:“哎呀~~~你就满足我这个小小的心愿了嘛。。。”//正确的地址,CALL!
正妹:“我得考虑..”//异步执行
我:“你考虑得怎么样了?”//查询状态
正妹:“我还要考虑...”//异步执行
/*
这里等待了大约10分钟时间。此时不应该多线程调用以免死锁。
*/
正妹:“裤子吧。。。迷你裙我真的不行。。我不惯有风的感觉。。”//STATUS_SUCCESS,调用成功
我:“长度还是那样,但是封底。”//调用成功后,平衡堆栈
正妹:“哎。。你搞得我又要瘦腿了。。。”//函数执行效果,看到这里我很开心
我:“我就喜欢你和你的易做图。”//清理内存
正妹:“你幻觉。。”//EOF
 
事已至此,我们可以看到,我成功地找到了让女孩子穿超短裙的方法。
接下来,我们可以保存函数定义和函数地址。
以后,我只需要跟正妹说“穿超短出来见我吧”就可以了。
 
最后,我的任务就是给亲爱的正妹买一条最短的超短裙。

摘自 2012见证奇迹的时刻到了
补充:综合编程 , 其他综合 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,