x86指令编码
最开始玩儿逆向的时候,就很想搞明白x86的机器码,想知道反汇编引擎的工作原理。后来又觉得这个东西没什么好玩儿的,就是一步一步匹配出来的。而且大部分的资料写的都很奇怪,看半天也不知道他的重点在哪里,难以看下去。清明放假意味着更没什么正事儿要做,又一次看了x86指令的组成,在这里总结一下,希望自己写的不要那么模棱两可。
Ma' in wojel ba'ax ka lelo' u k'áat u ya'al
最开始玩儿逆向的时候,就很想搞明白x86的机器码,想知道反汇编引擎的工作原理。后来又觉得这个东西没什么好玩儿的,就是一步一步匹配出来的。而且大部分的资料写的都很奇怪,看半天也不知道他的重点在哪里,难以看下去。清明放假意味着更没什么正事儿要做,又一次看了x86指令的组成,在这里总结一下,希望自己写的不要那么模棱两可。
现在的操作系统大多使用分页机制和分段机制实现虚拟内存管理。具体来说分段机制实现了段地址到线性地址的转换,而分页机制则实现了线性地址到物理地址的转换。
Windows xp平台的虚拟地址就是线性地址,可以自己去看看GDT中第CS项的段描述符的基地址,是0。本文通过逆向MmGetPhysicalAddress来学习Windows和X86的分页机制,平台是windows xp sp2,使用windbg。
Prolog是我最喜欢的语言之一。ruby给人的感觉是轻松灵巧,还会有点儿惊艳,写ruby程序就像是拥抱自由;和ruby不同,Prolog规规矩矩,编程模式和常见编程语言大相径庭,通过已知自动推断未知。提供一些事实,制定一些规则,Prolog就会自动给出某些判断是yes还是no。
刚刚读完一本书, 《改变未来的九大算法》。属于经济学读物,并不是给计算机专业的学生读的。但是读的过程还是很爽,介绍了伟大的计算机、人类指尖的精灵的构建算法。国外的教授讲东西真是举重若轻,轻车熟路,可以看出人家对问题的研究以及对事物的热爱。John MacCormick,并不算很特殊很著名的教授,但是能写出这种书,国内要多久才能出现有这样的情操和理想的教授呢。
Access Control Module,访问控制模型。是Windows用来约束线程对安全对象访问的控制模型。可以分为两部分,线程的访问令牌access token和安全对象的安全描述符security descriptor。
浏览网页的时候经常会看到绿色的https和普通的http(有时候会省略),直觉告诉我们s代表security,因此往往会在输入密码的时候见到绿色的https。想知道它为什么是更安全的,就要理解非对称密码体系、数字签名和数字证书。
我第一次见到电脑大概是十年前。那个黄方块不知道从什么地方淘汰到我们那个小地方的小学。放在教室后面测试是否能正常开机的时候,我摸了一下鼠标,跟小霸王的手感不太一样。当时激动的心情就像任何十岁的孩子看到没看到过的很神话的东西一样。但是我觉得我一辈子都不可能从事跟计算机有关的职业,因为我不可能拥有一台电脑。