资源描述:
《android锁屏破解研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、[故事总有个开端1Kend突然消失,只留下一部加锁的手机,他的原配小猪怀疑kend已经有了小三了,本想直接删除gesture.key文件,又怕事后被kend发现。只好以30朵菊花代价,请菊花经销商破解。为了最大利润,菊花经销商只用15朵代价和q博士购买彩虹表,再用1朵菊花请村头行乞的看尼魅写个简易的使用程序。0x01程序的设计的构建。从q博士那里购买彩虹表,用的是sqlite数据库。使用php脚本读数据库。(在php里有多种方案可以实现读写sqlite数据库。这里采用了sqlite3的方法)。在php.ini里面开启exten
2、sion二php_sqlite3.dll,和绘图功能extension二php_gd2.dll可以用v?phpphpinfo();?>查看是否开启成功。程序的设计流程,上传key文件,脚本读取key文件的内容,再把读取到key和数据库里面配对,如果有配对就绘图,否则提示客户key文件错误。0x2解读细节File.phpfile=$file;}publicfunctionfile_uploa
3、d(){if($this->file['errorT=0){returnfalse;}if(!is_uploaded_file($this->file[,tmp_name'])){returnfalse;}if(filesize($this->file['tmp_name'])!=20)returnfalse;}if($this->getkFileSuffix()!=,key,)returnfalse;$path=dimame(_FILE_).7../key/f;$name=$this->rename();$path=$pat
4、h.$name;$status=move_uploaded_file($this->file[,tmp_name,J,Spath);if($status){returnSpath;}else{returnfalse;publicfunctiongetkFileSuffix(){$pos=strrpos($this->file[,namet]//);$suffix=substr($this->file['name'],$pos+l);returnSsuffix;}publicfunctionrename(){$name=time
5、();$type=$this->getkFileSuffix();$name=$name.V.$type;return$name;?>file类里面构造函数_construct()引用传递一个文件信息的参数。该参数由$_FILES[£Q]得至I」.$_FILES[,file,]包含了文件上传的信息,上传状态,大小,临时路径,名字。getkFileSuffix()函数取得上传文件的后缀(即最后一个.以后的文本)。rename()用于构建一下文件名,以文件上传时间戳来命名file_upload()函数对在要上传文件,分别检查上传状
6、态,是否是合法的http上传文件大小,正常的情况下key的大小为20字节。和检测是否为key后缀。以上检测都合法的话,就把文件从tmp文件夹里面移到key文件夹下。Key.phpclasskey{publicfunctionreadEncryptionKey($path){$fHandle=fbpen($path,'rb');$contents=fread($fHandle,1);$hex=";while(!feof($fHandle)){$a=ord($contents);$hex.=sprintf("%02x",$a);$
7、contents=fread($(Handle,1);1fclose($fHandle);return$hex;publicfunctiongetDecryptionKey($path){$key=$this->readEncryptionKey($path);$sql二"select*fromshaldicwhereshal-$key*$x=sqlite::getlnstance();$result=$x->ExcuteQuery($sql);$code=$result[,code,];return$this->format
8、Key($code);protectedfunctionformatKey($code){$i=l;$pwd=";while(isset($code[$i])){$pwd=$pwd.$code[$i];$i=$i+2;}return$pwd;}}在这个类里IMoreadEnc