MZ 的个人资料〖流逝〗@MZ照片日志列表更多 工具 帮助

日志


6月27日

读书笔记-----ia32内存分页机制

读书笔记:读jiurl的win2k系列分页机制

近日拜读jiurl大牛的win2k系列资料,获益非浅,同时深感win系统内核知识的博大,对于内存分页机制方面的资料迫使我重新用起了纸和笔来运算,笔记也是必须要记得了
嗯,start:
为了后面阐述的流畅,先把物理地址和虚拟地址的内容#include一下
1.物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。
如果是写,电路根据这个地址每位的值就将相应地址的物理内存中放入数据总线上的内容。物理内存是以字节(8位)为单位编址的。
 
2.虚拟地址(virtual address): 4G虚拟地址空间中的地址,程序中使用的都是虚拟地址。
针对intel系列的cpu(x0386以后),CR0中第31位置1表明目前处于分页内存模式
在32位win平台上,默认页大小为4KB,如果是4GB的内存即有2^20个内存页,需要一个20bit长的地址来寻址所有的内存页
jiurl大牛在这里描述的是物理内存分页为数个4KB的内存页,个人一点理解为每个程序所持有的4GB内存分页为2^20个4KB大小的内存页,其中部分映射到了物理内存(页?),部分映射到了硬盘上的交换文件(pagefile.sys)里,还有部分没有任何映射,至于物理地址是否也实际采用了分页的处理感觉不是很重要,因为访问方式都是通过虚拟地址转化为物理地址(通过内核函数MmGetPhysicAddress)
正题:
A: pde,pte和页
页目录?->一个进程包含一个页目录,页目录存放在一个页中,所以也是虚拟地址中2^20个页之一
页目录中包含1024个4BYTE大小的页目录项(pde),即32bit大小的一个值,该项高20bit为对应页表在内存中的物理地址,低12bit为一些标志位.页目录的主要作用在于通过其中的页目录项得到所需转换的虚拟地址所在页表的物理地址
 
页表?->一个进程包含2^10=1024个页表,页表同样存放在页中,所以虚拟地址中2^20个页中,有1024页是用于存放页表的.这里需要注意的是页目录也是作为一种特殊的页表,包含在1024个页表之中.从而页表和页目录具有同样的结构,也由1024个4BYTE组成,称为页表项(pte),每个pte的高20bit为当前对应页的物理地址,这个地址再加上虚拟地址中包含的页内偏移得到的即是物理地址.
 
虚拟地址转化为物理地址的具体过程:
1个32bit长度的指针,即虚拟地址,其31-22位共10bit用来在页目录中进行索引,21-12位共10bit用来在页表中进行索引,最后12bit为页内偏移.
步骤1:从cpu中的cr3中找到当前进程中页目录所在的地址,然后用31-22位共10bit正好索引页目录中的1024个
pde,然后从pde中读出高20位,即页表的物理地址,然后用21-12位的10bit继续在得到的页表中索引1024个pte,
然后从pte中读出高20位,为物理地址所在页的地址,然后+上最后12bit的页内地址偏移,得到物理地址
通过pde->pte->偏移这种机制,整体能够寻址的大小为2^10 * 2^10 * 2^12大小,正好为2^32->4GB大小的空间
 
B: 页目录,页表在虚拟地址里的映射
对于开启内存分页的进程,在其内部cpu处理asm指令时默认把所有地址认为虚拟地址,并进行转化,所以,在上述虚拟地址转化物理地址的过程中,从cr3中读出的也是虚拟地址,并且涉及到处理页表等地址时,处理器能够接受的指令包含地址都应该为虚拟地址,固把页表和页目录映射到虚拟地址是必须的
在没有开启pae的cpu中,默认映射页表的起始地址为0xc0000000,每个页表大小为4KB,即从0xc0000000->0xc0000fff为第一个页表,依次类推0xc0000000->0xc03fffff用来存放1024个页表(共4M空间),
其中页目录映射的地址为0xc0300000,在这里想了一段时间,怎么都没明白为什么要把页目录恰好放在0xc0300000这个位置,在后面的具体内存转化过程中会说明
下面把jiurl大牛资料中的页目录样例贴出来
c0300000: 05f5b067 058ae067 067b5067 00eae067
c0300010: 03bfa067 00000000 00000000 00000000
c0300020: 00000000 00000000 00000000 00000000
c0300030: 00000000 00000000 00000000 00000000
c0300040: 00000000 00000000 00000000 00000000
c0300050: 00000000 00000000 00000000 00000000
c0300060: 00000000 00000000 00000000 00000000
c0300070: 00000000 00000000 00000000 00000000
c0300080: 00000000 00000000 00000000 00000000
c0300090: 00000000 00000000 00000000 00000000
c03000a0: 00000000 00000000 00000000 00000000
c03000b0: 00000000 00000000 00000000 00000000
c03000c0: 00000000 00000000 00000000 00000000
c03000d0: 00000000 00000000 00000000 00000000
c03000e0: 00000000 00000000 00000000 00000000
c03000f0: 00000000 00000000 00000000 00000000
c0300100: 043b1067 00000000 00000000 00000000
c0300110: 00000000 00000000 00000000 00000000
c0300120: 00000000 00000000 00000000 00000000
c0300130: 00000000 00000000 00000000 00000000
c0300140: 00000000 00000000 00000000 00000000
c0300150: 00000000 00000000 00000000 00000000
c0300160: 00000000 00000000 00000000 00000000
c0300170: 00000000 00000000 00000000 00000000
c0300180: 00000000 00000000 00000000 00000000
c0300190: 00000000 00000000 00000000 00000000
c03001a0: 00000000 00000000 00000000 00000000
c03001b0: 00000000 00000000 00000000 00000000
c03001c0: 00000000 00000000 00000000 00000000
c03001d0: 00000000 00000000 00000000 00000000
c03001e0: 00000000 00000000 00000000 00000000
c03001f0: 00000000 00000000 00000000 00000000
c0300200: 00000000 00000000 00000000 00000000
c0300210: 00000000 00000000 00000000 00000000
c0300220: 00000000 00000000 00000000 00000000
c0300230: 00000000 00000000 00000000 00000000
c0300240: 00000000 00000000 00000000 00000000
c0300250: 00000000 00000000 00000000 00000000
c0300260: 00000000 00000000 00000000 00000000
c0300270: 00000000 00000000 00000000 00000000
c0300280: 00000000 00000000 00000000 00000000
c0300290: 00000000 00000000 00000000 00000000
c03002a0: 00000000 00000000 00000000 00000000
c03002b0: 00000000 00000000 00000000 00000000
c03002c0: 00000000 00000000 00000000 00000000
c03002d0: 00000000 00000000 00000000 00000000
c03002e0: 00000000 00000000 00000000 00000000
c03002f0: 00000000 00000000 00000000 00000000
c0300300: 00000000 00000000 00000000 00000000
c0300310: 00000000 00000000 00000000 00000000
c0300320: 00000000 00000000 00000000 00000000
c0300330: 00000000 00000000 00000000 00000000
c0300340: 00000000 00000000 00000000 00000000
c0300350: 00000000 00000000 00000000 00000000
c0300360: 00000000 00000000 00000000 00000000
c0300370: 00000000 00000000 00000000 00000000
c0300380: 00000000 00000000 00000000 00000000
c0300390: 00000000 00000000 00000000 00000000
c03003a0: 00000000 00000000 00000000 00000000
c03003b0: 00000000 00000000 00000000 00000000
c03003c0: 00000000 00000000 00000000 00000000
c03003d0: 00000000 00000000 00000000 00000000
c03003e0: 00000000 00000000 00000000 00000000
c03003f0: 00000000 00000000 00000000 00000000
c0300400: 00000000 00000000 00000000 00000000
c0300410: 00000000 00000000 00000000 00000000
c0300420: 00000000 00000000 00000000 00000000
c0300430: 00000000 00000000 00000000 00000000
c0300440: 00000000 00000000 00000000 00000000
c0300450: 00000000 00000000 00000000 00000000
c0300460: 00000000 00000000 00000000 00000000
c0300470: 00000000 00000000 00000000 00000000
c0300480: 00000000 00000000 00000000 00000000
c0300490: 00000000 00000000 00000000 00000000
c03004a0: 00000000 00000000 00000000 00000000
c03004b0: 00000000 00000000 00000000 00000000
c03004c0: 00000000 00000000 00000000 00000000
c03004d0: 00000000 00000000 00000000 00000000
c03004e0: 00000000 00000000 00000000 00000000
c03004f0: 00000000 00000000 00000000 00000000
c0300500: 00000000 00000000 00000000 00000000
c0300510: 00000000 00000000 00000000 00000000
c0300520: 00000000 00000000 00000000 00000000
c0300530: 00000000 00000000 00000000 00000000
c0300540: 00000000 00000000 00000000 00000000
c0300550: 00000000 00000000 00000000 00000000
c0300560: 00000000 00000000 00000000 00000000
c0300570: 00000000 00000000 00000000 00000000
c0300580: 00000000 00000000 00000000 00000000
c0300590: 00000000 00000000 00000000 00000000
c03005a0: 00000000 00000000 00000000 00000000
c03005b0: 00000000 00000000 00000000 00000000
c03005c0: 00000000 00000000 00000000 00000000
c03005d0: 00000000 00000000 00000000 00000000
c03005e0: 00000000 00000000 00000000 00000000
c03005f0: 00000000 00000000 00000000 00000000
c0300600: 00000000 00000000 00000000 00000000
c0300610: 00000000 00000000 00000000 00000000
c0300620: 00000000 00000000 00000000 00000000
c0300630: 00000000 00000000 00000000 00000000
c0300640: 00000000 00000000 00000000 00000000
c0300650: 00000000 00000000 00000000 00000000
c0300660: 00000000 00000000 00000000 00000000
c0300670: 00000000 00000000 00000000 00000000
c0300680: 00000000 00000000 00000000 00000000
c0300690: 00000000 00000000 00000000 00000000
c03006a0: 00000000 00000000 00000000 00000000
c03006b0: 00000000 00000000 00000000 00000000
c03006c0: 00000000 00000000 00000000 00000000
c03006d0: 00000000 00000000 00000000 0423a067
c03006e0: 00000000 00000000 00000000 00000000
c03006f0: 00000000 00000000 00000000 00000000
c0300700: 00000000 00000000 00000000 00000000
c0300710: 00000000 00000000 00000000 00000000
c0300720: 00000000 00000000 00000000 00000000
c0300730: 00000000 00000000 00000000 00000000
c0300740: 00000000 00000000 00000000 00000000
c0300750: 00000000 00000000 00000000 0154b067
c0300760: 00000000 00000000 01fa4067 00000000
c0300770: 00000000 03946067 06825067 00d00067
c0300780: 01cc7067 00000000 00000000 00000000
c0300790: 00000000 00000000 00000000 00000000
c03007a0: 00000000 00000000 00000000 00000000
c03007b0: 00000000 00000000 00000000 00000000
c03007c0: 00000000 00000000 00000000 00000000
c03007d0: 00000000 00000000 00000000 00000000
c03007e0: 00000000 00000000 00000000 00000000
c03007f0: 00000000 02869067 00000000 07b98067
c0300800: 000001e3 004001e3 008001e3 00c001e3
c0300810: 010001e3 014001e3 018001e3 01c001e3
c0300820: 020001e3 024001e3 028001e3 02c001e3
c0300830: 030001e3 034001e3 038001e3 03c001e3
c0300840: 040001e3 044001e3 048001e3 04c001e3
c0300850: 050001e3 054001e3 058001e3 05c001e3
c0300860: 060001e3 064001e3 068001e3 06c001e3
c0300870: 070001e3 074001e3 078001e3 07c001e3
c0300880: 080001e3 084001e3 088001e3 08c001e3
c0300890: 090001e3 094001e3 098001e3 09c001e3
c03008a0: 0a0001e3 0a4001e3 0a8001e3 0ac001e3
c03008b0: 0b0001e3 0b4001e3 0b8001e3 0bc001e3
c03008c0: 0c0001e3 0c4001e3 0c8001e3 0cc001e3
c03008d0: 0d0001e3 0d4001e3 0d8001e3 0dc001e3
c03008e0: 0e0001e3 0e4001e3 0e8001e3 0ec001e3
c03008f0: 0f0001e3 0f4001e3 0f8001e3 0fc001e3
c0300900: 100001e3 104001e3 108001e3 10c001e3
c0300910: 110001e3 114001e3 118001e3 11c001e3
c0300920: 120001e3 124001e3 128001e3 12c001e3
c0300930: 130001e3 134001e3 138001e3 13c001e3
c0300940: 140001e3 144001e3 148001e3 14c001e3
c0300950: 150001e3 154001e3 158001e3 15c001e3
c0300960: 160001e3 164001e3 168001e3 16c001e3
c0300970: 170001e3 174001e3 178001e3 17c001e3
c0300980: 180001e3 184001e3 188001e3 18c001e3
c0300990: 190001e3 194001e3 198001e3 19c001e3
c03009a0: 1a0001e3 1a4001e3 1a8001e3 1ac001e3
c03009b0: 1b0001e3 1b4001e3 1b8001e3 1bc001e3
c03009c0: 1c0001e3 1c4001e3 1c8001e3 1cc001e3
c03009d0: 1d0001e3 1d4001e3 1d8001e3 1dc001e3
c03009e0: 1e0001e3 1e4001e3 1e8001e3 1ec001e3
c03009f0: 1f0001e3 1f4001e3 1f8001e3 1fc001e3
c0300a00: 06470163 00000000 00000000 00000000
c0300a10: 00000000 00000000 00000000 00000000
c0300a20: 00000000 00000000 00000000 00000000
c0300a30: 00000000 00000000 00000000 00000000
c0300a40: 016f1163 016f2163 016f3163 016f4163
c0300a50: 016f5163 016f6163 016d7163 016d8163
c0300a60: 016d9163 016da163 016db163 016dc163
c0300a70: 016dd163 016de163 016df163 01740163
c0300a80: 01701163 01702163 01703163 01704163
c0300a90: 01705163 01706163 01707163 01708163
c0300aa0: 01709163 0170a163 0170b163 0170c163
c0300ab0: 0170d163 0170e163 0170f163 01710163
c0300ac0: 01711163 01712163 01713163 01714163
c0300ad0: 01715163 01716163 016f7163 016f8163
c0300ae0: 016f9163 016fa163 016fb163 016fc163
c0300af0: 016fd163 016fe163 016ff163 01760163
c0300b00: 01721163 01722163 01723163 01724163
c0300b10: 01725163 01726163 01727163 01728163
c0300b20: 01729163 0172a163 0172b163 0172c163
c0300b30: 0172d163 0172e163 0172f163 01730163
c0300b40: 01731163 01732163 01733163 01734163
c0300b50: 01735163 01736163 01717163 01718163
c0300b60: 01719163 0171a163 0171b163 0171c163
c0300b70: 0171d163 0171e163 0171f163 01780163
c0300b80: 01741163 01742163 01743163 01744163
c0300b90: 01745163 01746163 01747163 01748163
c0300ba0: 01749163 0174a163 0174b163 0174c163
c0300bb0: 0174d163 0174e163 0174f163 01750163
c0300bc0: 01751163 01752163 01753163 01754163
c0300bd0: 01755163 01756163 01737163 01738163
c0300be0: 01739163 0173a163 0173b163 0173c163
c0300bf0: 0173d163 0173e163 0173f163 017a0163
c0300c00: 05cf0063 04a11063 00000000 01670163
c0300c10: 01671163 01672163 01673163 01674163
c0300c20: 01675163 01676163 01657163 01658163
c0300c30: 01659163 0165a163 0165b163 0165c163
c0300c40: 0165d163 0165e163 0165f163 016c0163
c0300c50: 01681163 01682163 01683163 01684163
c0300c60: 01685163 01686163 01687163 01688163
c0300c70: 01689163 0168a163 0168b163 0168c163
c0300c80: 0168d163 0168e163 0168f163 01690163
c0300c90: 01691163 01692163 01693163 01694163
c0300ca0: 01695163 01696163 01677163 01678163
c0300cb0: 01679163 0167a163 0167b163 0167c163
c0300cc0: 0167d163 0167e163 0167f163 016e0163
c0300cd0: 016a1163 016a2163 016a3163 016a4163
c0300ce0: 016a5163 016a6163 016a7163 016a8163
c0300cf0: 016a9163 016aa163 016ab163 016ac163
c0300d00: 016ad163 016ae163 016af163 016b0163
c0300d10: 016b1163 016b2163 016b3163 016b4163
c0300d20: 016b5163 016b6163 01697163 01698163
c0300d30: 01699163 0169a163 0169b163 0169c163
c0300d40: 0169d163 0169e163 0169f163 01700163
c0300d50: 016c1163 016c2163 016c3163 016c4163
c0300d60: 016c5163 016c6163 016c7163 016c8163
c0300d70: 016c9163 016ca163 016cb163 016cc163
c0300d80: 016cd163 016ce163 016cf163 016d0163
c0300d90: 016d1163 016d2163 016d3163 016d4163
c0300da0: 016d5163 016d6163 016b7163 016b8163
c0300db0: 016b9163 016ba163 016bb163 016bc163
c0300dc0: 016bd163 016be163 016bf163 01720163
c0300dd0: 016e1163 016e2163 016e3163 016e4163
c0300de0: 016e5163 016e6163 016e7163 016e8163
c0300df0: 016e9163 016ea163 016eb163 016ec163
c0300e00: 016ed163 016ee163 016ef163 016f0163
c0300e10: 01765163 026f6163 05189163 055ab163
c0300e20: 00000000 0740f163 05a71163 05f43163
c0300e30: 0090a163 0297e163 04867163 00000000
c0300e40: 00000000 00000000 00000000 00000000
c0300e50: 00000000 00000000 00000000 00000000
c0300e60: 00000000 00000000 00000000 00000000
c0300e70: 00000000 00000000 01768163 01769163
c0300e80: 0176a163 0176b163 0176c163 0176d163
c0300e90: 0176e163 0176f163 01770163 01771163
c0300ea0: 01772163 01773163 01774163 01775163
c0300eb0: 01776163 01757163 01758163 01759163
c0300ec0: 0175a163 0175b163 0175c163 0175d163
c0300ed0: 0175e163 0175f163 017c0163 01781163
c0300ee0: 01782163 01783163 01784163 01785163
c0300ef0: 01786163 01787163 01788163 01789163
c0300f00: 0178a163 01000163 01001163 01002163
c0300f10: 01003163 01004163 01005163 01006163
c0300f20: 01007163 01008163 01009163 0100a163
c0300f30: 0100b163 0100c163 0100d163 0100e163
c0300f40: 0100f163 01010163 01011163 01012163
c0300f50: 01013163 01014163 01015163 01016163
c0300f60: 01017163 01018163 01019163 0101a163
c0300f70: 0101b163 0101c163 0101d163 0101e163
c0300f80: 0101f163 01020163 01021163 01022163
c0300f90: 01023163 01024163 01025163 01026163
c0300fa0: 01027163 01028163 01029163 0102a163
c0300fb0: 0102b163 0102c163 0102d163 0102e163
c0300fc0: 0102f163 01030163 01031163 01032163
c0300fd0: 01033163 01034163 01035163 01036163
c0300fe0: 01037163 01038163 01039163 0103a163
c0300ff0: 0103b163 0103c163 0103d163 00031163
 
可以看出,一共是1024个4BYTE大小的pde,其中从c0300000->c0308000这段为用户空间,即ring3权限可以访问的地址.剩下512个pde为系统地址空间,必须具有ring0权限才可以访问
以这个例子就可以说明为何页目录被放在0xc0300000这个位置,假设现在对0xc0300000这个地址取
物理地址,那么就会用其高10位来在页目录中寻址,其高10位是什么呢?正好是0xc00少2bit位,因为pde又正好
都是4BYTE大小,那么在页目录中寻址,需要把高10bit右移2位(乘4),那就是0xc00,正好索引到0xc0300c00这个
位置,而0xc0300c00对应的是第769个pde(12*16*4+1),也就应该是顺序存储0xc0000000->0xc000f000中的第769个
页表的位置,正好768= 0x300,而存储是从0xc0000000开始,0位开始的原则,所以第769个正好应该是0xc0300000
所以页目录存放的位置恰好为这个.实际简化运算的话就是0xc/4 = 0x3,即pde页内位置/4即为所映射的页的序数
而由于0xc0300c00对应的实际上是页目录这个特殊的页表,所以其能索引的1024个页恰好就为1024个存放页表的页,也即0xc0300c00
对应pde中存放的页表包含的4M地址为0xc000000到0xc03fffff这些用于存放页表的地址
 
未完待续....
 
6月18日

DFI975X你TMD终于和谐了阿

终于和谐了和谐了和谐了和谐了和谐了和谐了。。。。。。。。。
从买来的第一天就跟我犯呛,终于被和谐了
虽然我下个月肯定会用dq6或者p35系列的主板来干掉你,但是你这么自觉地自爆还是令我很惊讶
觉悟还是高的,安息吧。。。。阿门。。。
6月9日

嗯,九阴真经,练内功中

XSS is the New Buffer Overflow,JavaScript is the New ShellCode!
开始一步步地拜读RSnake的牛书,SYNGRESS的系列书确实TM不错啊
6月7日

写完鸟文,写技术

前段时间碰到的一个小问题,一直打算写,今天到此时还是不困,正好补上
问题发生在win32环境下在Dll里创建新线程的过程中,先看看几个函数的原型
LoadLibrary(lpFilename);//In the loader.cpp
win32中用于加载动态链接库的函数,被加载动态链接库在初始化过程中会执行该dll中的dllmain函数,且dwReason==DLL_PROCESS_ATTACH
CreateThread(lpThreadAttributes,dwStacksize,lpStartAddress,lpvoid,dwCreationflag,lpThreadId);//In the dll file
其中关键的是第三个参数,即该线程入口函数的地址,说通俗点就是起始函数
DllMain(hInstance,dwReason,lpvoid);//In the dll file
dllmain函数,dll's entry point,此函数的正常返回是loadlibrary执行成功的必要条件
再来简单的说下如果发挥dll里的功能
1.dll中函数使用导出声明,loader中使用GetProcAddress获得dll中导出函数的指针,然后调用
eg:
//In the dll file
__declspec(export)//函数导出声明
DWORD WINAPI myFunc(){......}
//In the Loader.cpp
typedef DWORD (WINAPI *_pMyFunc)();
HANDLE hDll = LoadLibrary("dll");
_pMyFunc myFunc = (_pMyFunc)GetProcAddress(hDll,"myFunc");
myFunc();
//调用完成
这种方法很通俗,不过缺点在于如果本身这个dll就是通过某些手段让别的进程load的,那就很难在这个远程线程里GetProcAddress等等等等了(当然行还是行的...累)
 
方法2:
在DllMain里的switch case: dwReason == DLL_PROCESS_ATTACH后创建新线程,新线程的入口函数即是dll里的其他功能函数
eg:
// In the dll file
DWORD WINAPI myFunc();
BOOL WINAPI DllMain(hInstance,dwReason,lpvoid){
switch(dwReason)
  case:DLL_PROCESS_ATTACH
CreateThread(NULL,0,myFunc,NULL,NULL,NULL);
............
}
这样就相当于在DllMain加载的过程中进行了新线程的创建,所有功能都可以由这个新线程去完成
扯蛋扯完了,开始说问题
在使用第2种方法的过程中,如果CreateThread()的第三个参数直接写函数名,就无法创建成功
按道理说这个函数名实际就已经是该函数的入口地址了,一开始我认为自己对函数指针的概念理解有问题
而且如果把CreateThread()的第三个参数从myFunc改为&myFunc,就all ok...更加让我相信是我的概念问题
但是怪异的是
如果用第一种方法,并且在myFunc()这个函数里再写一个CreateThread(),入口地址用另一个功能函数myFunc2()
情况就完全不一样了,完全不用取地址符,照样可以顺利创建线程,函数名又证明了它自己就是个指针。。。我戳
分析了两种过程的区别仅仅在于:
1.loadlibrary--->dllmain---->创建线程(这时候就必须取地址符),可以肯定的是创建线程的时候dllMain没有返回,同样loadlibrary也没有返回
2.loadlibrary---->返回,得到hdll-------->获取导出函数指针---〉执行导出函数---〉函数内部进行了创建线程(此时就不需要取地址符),这时候loadlibrary肯定是正常返回了,否则也调用不了导出函数
查了m$的文档,也看了csdn等论坛上的信息,关于dll中的线程编程,提到的仅有在mfc中不能在process_attach时创建线程,会因为dllmain的不可复入性导致deadlock.看起来和我这个是毛的关系都没有。。
最终这个问题是没影响到我进行功能实现,但是究竟是为啥,还是百思不得其解,有时间还是要好好od一下,看看为什么创建就失败了,究竟差异在哪里
这个月开始是脚本月。。。。js中。。。。日完xss再回头看这些好了
 
 
 
6月2日

Remember the name

You ready?! Lets go!
Yeah, for those of you that want to know what we’re all about
It’s like this y’all (c’mon!)

[Chorus]
This is ten percent luck,
Twenty percent skill
Fifteen percent concentrated power of will
Five percent pleasure,
Fifty percent pain
And a hundred percent reason to remember the name!

[Mike]
Mike
He doesn’t need his name up in lights
He just wants to be heard whether it’s the beat or the mic
He feels so unlike everybody else, alone
In spite of the fact that some people still think that they know him
But fuck em, he knows the code
It’s not about the salary
It’s all about reality and making some noise
Makin the story - makin sure his clique stays up
That means when he puts it down Tak’s pickin it up! let’s go!


[Tak]
Who the hell is he anyway?
He never really talks much
Never concerned with status but still leavin them star struck
Humbled through opportunities given to him despite the fact
That many misjudge him because he makes a livin from writin raps
Put it together himself, now the picture connects
Never askin for someone’s help, or to get some respect
He’s only focused on what he wrote, his will is beyond reach
And now when it all unfolds, the skill of an artist

[Ryu]
This is twenty percent skill
Eighty percent beer
Be a hundred percent clear cause Ryu is ill
Who would’ve thought that he’d be the one to set the west in flames
And I heard him wreckin with The Crystal Method, "Name Of The Game"
Came back dropped Megadef, took em to church
I like bleach man, why you had the stupidest verse?
This dude is the truth, now everybody givin him guest spots
His stock’s through the roof I heard he’s fuckin’ with S. Dot!

[Chorus]

[Ryu]
They call him Ryu, he’s sick
And he’s spittin fire with Mike
Got him out the dryer he’s hot
Found him in Fort Minor with Tak
What a fuckin’ nihilist porcupine
He’s a prick, he’s a cock
The type woman want to be with, and rappers hope he get shot
Eight years in the makin, patiently waitin to blow
Now the record with Shinoda’s takin over the globe
He’s got a partner in crime, his shit is equally dope
You wont believe the kind of shit that comes out of this kid’s throat

[Tak]
Tak
He’s not your everyday on the block
He knows how to work with what he’s got
Makin his way to the top
He often gets a comment on his name
People keep askin him was it given at birth
Or does it stand for an acronym?
No he’s livin proof, Got him rockin the booth
He’ll get you buzzin quicker than a shot of vodka with juice
Him and his crew are known around as one of the best
Dedicated to what they do and give a hundred percent

[Mike]
Forget Mike
Nobody really knows how or why he works so hard
It seems like he’s never got time
Because he writes every note and he writes every line
And I’ve seen him at work when that light goes on in his mind
It’s like a design is written in his head every time
Before he even touches a key or speaks in a rhyme
And those motherfuckers he runs with,
The kids that he signed?
Ridiculous, without even trying,
How do they do it?!

[Chorus - repeat 2x]

[Outro - Mike Shinoda]
Yeah! Fort Minor
M. Shinoda - Styles of Beyond
Ryu! Takbir! Machine Shop!