生活工程体验信仰哲学精神
快软网
精神世界
探索历史
哲学文学
艺术价值
信仰创造
境界审美
体验技术
技能工具
工程信息
医学生产
生活运用
操作能力

kpp是什么意思(200kpp是什么单位)

5月21日 虎狼旗投稿
  Tick(FPU)Tock(IRQ)
  与iOS9一起推出的内核完整性保护又称为KPP,这对于arm64越狱带来了新的问题。
  有效地观察到,在修补内核代码(通常在较旧的越狱中)之后,设备会一段时间后会静默地恐慌。很明显,有些东西会检查内核代码。
  这个东西在内核之外,很快就显现出一种在工作中的管理程序。
  到目前为止,我仍然感到惊讶的是,没有人对KPP进行了一个写作至少没有人知道。所以,我将尝试解释hypervision如何工作。具体的实施细节可能会在稍后的时间提供,只要我有时间。现在,不用多说,我们走
  第1部分(设置)
  KPP位于一个MachO可执行文件,紧随压缩内核块之后,在kernelcacheimg4内。iBoot刻录出KPP图像,将其加载到0x4100000000,并在EL3中运行
  EL3
  start(monitorbootargsmba)
  这结构体有如下几项
  structmonitorbootargs{
  uint64
  uint64tvirtB
  uint64tphysB
  uint64tmemS
  structkernelbootargskernA
  uint64tkernE
  uint64tkernPhysB
  uint64tkernPhysS
  uint64tkernVirtS
  };
  KPP使用调用start(NULL)的蹦床来覆盖自己的MachO头,0x4100000000,并安装了两个异常处理程序synchandler和irqhandler。回想一下AArch64异常表:
  ExceptionVector具有两个处理程序的位置
  接下来,它解析内核及其kexts(来自PRELINKINFO)
  saveTEXT,DATAsegmentstomaplist
  saveTEXT,DATA::constzonestohashlist
  最后,如果启用whichit(以及其他)以下寄存器
  CPACREL10x100000;CPACREL1。FPEN1,causesinstructionsinEL0thatusetheFloatingPointexecutiontobetrapped
  CPTREL30x80000000;CPTREL3。TCPAC1,accessestoCPACREL1willtrapfromEL2andEL1toEL3
  SCREL30x631;SCREL3。IRQ0,WhenexecutingatanyExceptionlevel,physicalIRQinterruptsareNOTtakentoEL3
  SCREL3。SMD0,SMCinstructionsareENABLEDatEL1andabove
  SCREL3。SIF1,SecurestateinstructionfetchesfromNonsecurememoryareNOTpermitted
  EL1
  内核在EL1中开始执行
  start()startfirstcpu()arminit():
  cpumachineidleinit()monitorcall(0x800)
  machinestartup()kernelbootstrap()kernelbootstrapthread()monitorcall(0x801)
  startcpu()arminitcpu()cpumachineidleinit()monitorcall(0x800)
  monitorcall()将升级到EL3到管理程序的synchandler
  EL3
  synchandler:
  if(ESREL30x5E000011){ESREL3。EC0x17ESREL3。IL1ESREL3。ISS0x11akaSMC0x11akamonitorcall()insidethekernel
  switch(arg0){
  case0x800:calledbycpumachineidleinit()
  savekernelentrypoint
  
  case0x801:calledbykernelbootstrapthread()
  if(enabled){
  if(locked){
  FAIL(4);
  }
  dolockdown:
  hashallregionsfromhashlist
  initializesomevars
  saveSCTLREL1,TCREL1,TTBR1EL1,VBAREL1
  。。。
  SCREL3。SMD1;
  locked1;
  }
  returnOK;
  case0x802:wtfisthisshit?
  FAIL(5);
  }
  }
  (tobecontinued)
  当出现问题时,FAIL(代码)设置一个全局变量,并通过以下方式向内核发出信号:
  ESREL10xBF575400codeESREL1。EC0x2F,ESREL1。ISV1,ESREL1。IS0x575400code
  代码含义
  帧违规
  坏系统调用
  未锁定
  已锁定
  软件请求
  TTEPTE无效
  违反绘图
  违反系统注册
  然后,执行再转移到SError回到内核的ExceptionTable中:
  SErrorflehserror()slehserror()kernelintegrityerrorhandler()panic()
  否则,如果一切都会好的,就在monitorcall()之后,执行在内核中恢复。
  这是设置阶段,为了让内核设置一次写入内存位置所需的。接下来,进入心跳阶段
  第二部分(theticking)
  同时在用户空间运行代码,当FPU指令被执行后,CPACREL1。FPEN1会产生一个内核陷阱。
  EL1
  在内核中,flehsynchronous()flehirq()flehfiq()和flehserror()所有都会这样结束exceptionreturndispatch()checkuserasts()MSRCPACREL1,X0一旦来自于EL3内核陷阱,CPACREL1就会执行。当CPTREL3。TCPAC1时,执行权就转交到EL3synchandler
  EL3
  Thistime,itmeansbusiness。
  synchandler:
  (continued)
  elseif(ESREL30x62340400){ESREL3。EC0x18ESREL3。IL1ESREL3。ISS0x340400akatrappedbyMSRCPACREL1,X0
  if(violated){
  FAIL(1);
  }
  if(!locked){
  FAIL(3);
  }
  if(!(numberofhitswatchtowerthrottle)){
  if(!(flipflop1)){
  if(hashisready){
  blake2bfinal(hash,digest);
  if(memcmp(curdigest,digest,32)){
  FAIL(1);
  }
  curgetnextregion();
  if(!cur){
  curgetfirstregion();
  }
  
  
  blake2binit(hash);
  hashisready0;
  }else{
  chunkmin(curdataleft,128);
  blake2bupdate(hash,curdataptr,chunk);
  
  
  if(!curdataleft){
  hashisready1;
  }
  }
  }else{
  walkandcheckTTEPTE
  verifymaplist
  checksystemregistersSCTLREL1,TCREL1,TTBR1EL1,VBAREL1
  。。。
  }
  }
  ELREL34;skipinsn
  CPTREL30;CPTREL3。TCPAC0,accessestoCPACREL1willnottrapfromEL2andEL1toEL3
  CPACREL10x300000;CPACREL1。FPEN3,doesnotcauseanyFPUinstructiontobetrapped
  SCREL30x6B3;SCREL3。IRQ1,WhenexecutingatanyExceptionlevel,physicalIRQinterruptsaretakentoEL3
  SCREL3。SMD1,SMCinstructionsareUNDEFINEDatEL1andabove
  SCREL3。SIF1,SecurestateinstructionfetchesfromNonsecurememoryareNOTpermitted
  returnOK;
  }
  EL3。SIF0,SecurestateinstructionfetchesfromNonsecurememoryarepermitted
  也就是说:重置IRQs到EL1,使其重新能够FPU陷阱,能够处理CPACREL1访问的陷阱,最后的4步然后一直重复。
  总结
  KPP确保FPU陷阱且不会被禁用。当FPU命中,内核就会尝试禁用陷阱但同时也会由KPP接管。KPP然后运行检查,释放FPU,运行IRQs本身。只要任何IRQ触发,就会使FPU进入内核陷阱并结束IRQs
  这是保持管理程序跳动的引擎。如果你修改触发器,即CPACREL1访问,则FPU无法执行。但是,有一个catch。我们可以窃取CPACREL1访问单独的蹦床:
  取消patch
  触发CPACREL1,管理程序然后运行恢复执行权
  再次patch
  profit
  这种绕过方式在qwertyoruiop的yalu102中使用过。
  本文由看雪论坛iOS安全小组OSGksmokee原创转载请注明来自看雪社区
投诉 评论 转载

kpp是什么意思(200kpp是什么单位)热博聚热点网 Tick(FPU)Tock(IRQ)与iOS9一起推出的内核完整性保护又称为KPP,这对于arm64越狱带来了新的问题。有效地观察到,在修补内核代码(通常在较旧的越……香港大学排名(香港实力强的8所大学)热传聚热点网 香港位于我国东南沿海,香港主岛与我国四大一线城市深圳市隔海相望,经济发达、寸土寸金。香港面积只有1106。66平方千米,只有深圳市的一半多、上海市的16大,但却创造了2。41万……历史新低:性价比第一的手机,5080mAh67W闪充,512 快过新年了,不少朋友都有手机换新的计划,很多人选择新机的首要原则就是“性价比”,简单来说希望花更少的钱来获得更为出色的体验。事实上,过去几年智能手机市场已经全面饱和,各大智能手……2006年浙江富豪出轨后,竟然背上了七条人命,到底怎么回事? 出人命了,詹云死了。詹云的知心好友蔡阿姨急匆匆给程老板打去电话,告诉了他詹云的死亡信息。程老板听后,喉咙突然发紧,半天说不出一句话来,此前他还以为詹云住院的事情是假的,却……春节新年祝福语热传聚热点网 精选春节新年祝福语集合38句X年祝福千万言,句句都从心中传。开门大吉迎X年,期盼吉年薪水涨。开办工厂大发展,生意做到大洋岸。开辟新径外币赚,当回老总做好官。愿你X年喜乐洋……上天收回童子的迹象失眠(从西游记看真实的童子命之仙子转世)热 这里说的童子命,是指的八字中命犯童子煞,且其它星煞互相配合形成真童子的人。民间传说中,童子命的人上辈子是天上来的,所以与世人缘分浅薄,这类人通常来说人生经历坎坷,多以宗教为人生……陈根:人工胰腺试验成功,告别胰岛素注射?热议聚热点网 文陈根1月12日,“2型糖尿病人工胰腺试验成功”登上微博热搜,引发广泛关注。据估计,全世界约有4。15亿人患有2型糖尿病,每年全球卫生支出约7600亿美元。在我国,……一路有你一路喜作文热评聚热点网 一路有你一路喜作文在平日的学习、工作和生活里,大家对作文都不陌生吧,作文一定要做到主题集中,围绕同一主题作深入阐述,切忌东拉西扯,主题涣散甚至无主题。相信很多朋友都对写作……五百强常用工作方法(22种方法)热博聚热点网 精益工场国内优秀的精益管理平台这里梳理的22种常用工作方法,主要覆盖日常管理、沟通表达、问题解决、作业改善、人的管理五个类别。属于日常管理的有:PDCA、SWOT、……16种英语时态的详细讲解汇总英语时态表热博聚热点网 本专题为大家讲解了16种的用法,为大家总结了英语时态表,方便同学们更好的英语时态的结构。英语的基本时态由三种“时”(时间),四种“态”(状态)交叉构成。三种“时”:过去现在将来……写夜晚的作文400字热传聚热点网 写夜晚的作文400字描写乡村的夜晚作文【1】夜幕悄悄降临,太阳的余晖被黑夜悄悄吞噬了,月亮又轻轻悄悄的来到了。乡村的夜晚有着一份无法释怀的安静,但在安静之余又……郑州民事律师继承的遗产是平分吗?热传聚热点网 问:郑州民事律师继承的遗产是平分吗?律师解答:继承的遗产是平分吗?遗产的分配不一定是所有的继承人平等分配的。在一般情况下,同一顺序继承人继承遗产的份额,应当是……
不开车去万龙滑雪场滑雪住哪里比较方便?热评聚热点网 三连降!重庆油价今晚下调加满一箱92号汽油将少花19元热传聚 “丫头吃什么鱼,都留给我孙子”“婆婆,带着你孙子回自家吃去” 初三周记热文聚热点网 唐三斗罗大陆结局(唐三斗罗大陆结局在哪里看)热博聚热点网 增发和配股的区别?热闻聚热点网 假如时光倒流十年或二十年,你会做什么呢?热博聚热点网 【歌词】你记得吗?歌手:方力申热传聚热点网 百度学术(学术检索大汇总)热议聚热点网 我爱地球,保护地球作文热博聚热点网 小学生描写学校的作文500字热议聚热点网 描写四季的小学作文400字热议聚热点网
放浪记读后感凤姐要变美孔子、老子、庄子、孙子、孟子之间有什么关系?热文聚热点网 秋天的丝瓜能吃吗土壤青苔怎么清理掉土壤青苔如何清理掉广州本科大学有哪些(广州白云区本科大学有哪些)读《死亡圣器》有感众说纷纭有偿招领公司到底该不该探寻。高棉的微笑三幼儿园端午节假期放假通知简单步教您快速接手一个项目水杉的插条繁殖及扦插方法

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找新乡渭南铜川松江山南雅安松原荃湾淮北昭通平凉鞍山赤峰苗栗保亭池州渝北株洲陇南濮阳三沙秀山密云鸡西