2. 过程 这里主要使用 gdb 来拆炸弹 当然, 用其他工具来辅助, 应该可以更高效地完成 (gdb) echo ======================= Defuse Phase_1 ==============================\n\n ==================

Size: px
Start display at page:

Download "2. 过程 这里主要使用 gdb 来拆炸弹 当然, 用其他工具来辅助, 应该可以更高效地完成 (gdb) echo ======================= Defuse Phase_1 ==============================\n\n =================="

Transcription

1 CMU 计算机课程 Bomb Lab 拆除过程解析 Yungang 2011/10/15 CMU 的计算机系统课程 Lab 有一个是拆炸弹 : 给一个二进制 炸弹 可执行文件, 要猜对 6 条输入才不会引爆, 既有挑战又有趣味 感兴趣的朋友可以尝试一下. CMU 课程网址 : 炸弹下载地址 : 1. 结果 1

2 2. 过程 这里主要使用 gdb 来拆炸弹 当然, 用其他工具来辅助, 应该可以更高效地完成 (gdb) echo ======================= Defuse Phase_1 ==============================\n\n ======================= Defuse Phase_1 ============================== (gdb) disassemble phase_1 Dump of assembler code for function phase_1: 0x08048b20 <phase_1+0>: push 0x08048b2c <phase_1+12>: push 0x08048b31 <phase_1+17>: push 0x08048b32 <phase_1+18>: call 0x08048b45 <phase_1+37>: pop 0x08048b46 <phase_1+38>: ret (gdb) x /32c 0x80497c0 %ebp $0x80497c0 %eax 0x <strings_not_equal> %ebp 0x80497c0: 80 'P' 117 'u' 98 'b' 108 'l' 105 'i' 99 'c' 32 ' ' 115 's' 0x80497c8: 112 'p' 101 'e' 97 'a' 107 'k' 105 'i' 110 'n' 103 'g' 32 ' ' 0x80497d0: 105 'i' 115 's' 32 ' ' 118 'v' 101 'e' 114 'r' 121 'y' 32 ' ' 0x80497d8: 101 'e' 97 'a' 115 's' 121 'y' 46 '.' 0 '\0' 37 '%' 100 'd' 调用 strings_not_equal() 比较 输入字符串与 0x80497c0 指 向的字符串 0x80497c0 指向的字符串为 Public speaking is very easy. (gdb) echo ======================= Defuse Phase_2 ==============================\n\n ======================= Defuse Phase_2 ============================== (gdb) disassemble phase_2 Dump of assembler code for function phase_2: 0x08048b48 <phase_2+0>: push %ebp 0x08048b56 <phase_2+14>: lea -0x18(%ebp),%eax 0x08048b59 <phase_2+17>: push %eax 0x08048b5a <phase_2+18>: push %edx 0x08048b5b <phase_2+19>: call 0x8048fd8 <read_six_numbers> 0x08048b60 <phase_2+24>: add $0x10,%esp 0x08048b63 <phase_2+27>: cmpl $0x1,-0x18(%ebp) 0x08048b67 <phase_2+31>: je 0x8048b6e <phase_2+38> 0x08048b69 <phase_2+33>: call 0x80494fc <explode_bomb> 0x08048b6e <phase_2+38>: mov $0x1,%ebx 0x08048b73 <phase_2+43>: lea -0x18(%ebp),%esi 0x08048b76 <phase_2+46>: lea 0x1(%ebx),%eax 0x08048b79 <phase_2+49>: imul -0x4(%esi,%ebx,4),%eax 0x08048b7e <phase_2+54>: cmp %eax,(%esi,%ebx,4) 0x08048b81 <phase_2+57>: je 0x8048b88 <phase_2+64> 调用 read_six_number 来输入 6 个数字第一个数为 1 对应代码 : For(i=1; i <=5; i++) A[i]=A[i-1]*(i+1) 得到答案 :

3 0x08048b83 <phase_2+59>: call 0x08048b88 <phase_2+64>: inc 0x08048b89 <phase_2+65>: cmp 0x08048b8c <phase_2+68>: jle 0x08048b8e <phase_2+70>: lea 0x08048b91 <phase_2+73>: pop 0x08048b92 <phase_2+74>: pop 0x08048b93 <phase_2+75>: mov 0x08048b95 <phase_2+77>: pop 0x08048b96 <phase_2+78>: ret (gdb) disassemble read_six_numbers 0x80494fc <explode_bomb> %ebx $0x5,%ebx 0x8048b76 <phase_2+46> -0x28(%ebp),%esp %ebx %esi %ebp,%esp %ebp Dump of assembler code for function read_six_numbers: 0x08048fd8 <read_six_numbers+0>: push %ebp 0x08048ff8 <read_six_numbers+32>: push 0x08048ff9 <read_six_numbers+33>: push 0x08048ffe <read_six_numbers+38>: push 0x08048fff <read_six_numbers+39>: call 0x <read_six_numbers+44>: add 0x <read_six_numbers+47>: cmp 0x a <read_six_numbers+50>: jg 0x c <read_six_numbers+52>: call 0x <read_six_numbers+57>: mov 0x <read_six_numbers+59>: pop 0x <read_six_numbers+60>: ret (gdb) x /32c 0x8049b1b %edx $0x8049b1b %ecx 0x <sscanf@plt> $0x20,%esp $0x5,%eax 0x <read_six_numbers+57> 0x80494fc <explode_bomb> %ebp,%esp %ebp 0x8049b1b: 37 '%' 100 'd' 32 ' ' 37 '%' 100 'd' 32 ' ' 37 '%' 100 'd' 0x8049b23: 32 ' ' 37 '%' 100 'd' 32 ' ' 37 '%' 100 'd' 32 ' ' 37 '%' 0x8049b2b: 100 'd' 0 '\0' 66 'B' 97 'a' 100 'd' 32 ' ' 104 'h' 111 'o' 0x8049b33: 115 's' 116 't' 32 ' ' 40 '(' 49 '1' 41 ')' 46 '.' 10 '\n' 0x8049b1b 指向的字符串为 %d %d %d %d %d %d (gdb) echo ======================= Defuse Phase_3 ==============================\n\n ======================= Defuse Phase_3 ============================== 调用 sscanf 从字符串将数字按照 0x8049b1b 执行的格式解析出来 (gdb) disassemble phase_3 Dump of assembler code for function phase_3: 0x08048b98 <phase_3+0>: push %ebp 0x08048bad <phase_3+21>: lea -0xc(%ebp),%eax 0x08048bb0 <phase_3+24>: push %eax 0x08048bb1 <phase_3+25>: push $0x80497de 0x08048bb6 <phase_3+30>: push %edx 0x08048bb7 <phase_3+31>: call 0x <sscanf@plt> 调用 sscanf 从字符串将数字按照 0x80497be 执行的格式解析 : %d %c %d 3

4 0x08048bcd <phase_3+53>: ja 0x8048c88 <phase_3+240> 跳转向 *(0x80497e8 + %eax*4), 0x08048bd3 <phase_3+59>: mov -0xc(%ebp),%eax 其中 %eax 为输入的第一个数 0x08048bd6 <phase_3+62>: jmp *0x80497e8(,%eax,4) 见下页 0x08048bdd <phase_3+69>: lea 0x0(%esi),%esi 0x08048be0 <phase_3+72>: mov $0x71,%bl 0x08048be2 <phase_3+74>: cmpl $0x309,-0x4(%ebp) 0x08048be9 <phase_3+81>: je 0x8048c8f <phase_3+247> 0x08048bef <phase_3+87>: call 0x80494fc <explode_bomb> 0x08048bf4 <phase_3+92>: jmp 0x8048c8f <phase_3+247> 对于第二个输入字符和第三个 0x08048bf9 <phase_3+97>: lea 0x0(%esi,%eiz,1),%esi 数字比较, 取决于第一个数 这 0x08048c00 <phase_3+104>: mov $0x62,%bl 里我们选择第一个数为 1, 那么 0x08048c02 <phase_3+106>: cmpl $0xd6,-0x4(%ebp) 对应的输入为 1 b 214 0x08048c09 <phase_3+113>: je 0x8048c8f <phase_3+247> 0x08048c0f <phase_3+119>: call 0x80494fc <explode_bomb> 0x08048c14 <phase_3+124>: jmp 0x8048c8f <phase_3+247> 也可以选择偏移为 2, 那么对应的 0x08048c16 <phase_3+126>: mov $0x62,%bl 输入为 2 b 755 0x08048c18 <phase_3+128>: cmpl $0x2f3,-0x4(%ebp) 0x08048c1f <phase_3+135>: je 0x8048c8f <phase_3+247> 0x08048c21 <phase_3+137>: call 0x80494fc <explode_bomb> 0x08048c26 <phase_3+142>: jmp 0x8048c8f <phase_3+247> 0x08048c8f <phase_3+247>: cmp -0x5(%ebp),%bl 0x08048c92 <phase_3+250>: je 0x8048c99 <phase_3+257> 0x08048c94 <phase_3+252>: call 0x80494fc <explode_bomb> 0x08048c99 <phase_3+257>: mov -0x18(%ebp),%ebx 0x08048c9c <phase_3+260>: mov %ebp,%esp 0x08048c9e <phase_3+262>: pop %ebp 0x08048c9f <phase_3+263>: ret 0x80497be 执行的格式解析 : %d %c %d (gdb) x /16c 0x80497de 0x80497de: 37 '%' 100 'd' 32 ' ' 37 '%' 99 'c' 32 ' ' 37 '%' 100 'd' 0x80497e6: 0 '\0' 0 '\0'-32 ' -117 '\213' 4 '\004' 8 '\b' 0 '\0'-116 '\214' 偏移为 1 对应的跳转地址为 (gdb) x /32x 0x80497e8 0x08048c00 0x80497e8: 0xe0 0x8b 0x04 0x08 0x00 0x8c 0x04 0x08 0x80497f0: 0x16 0x8c 0x04 0x08 0x28 0x8c 0x04 0x08 0x80497f8: 0x40 0x8c 0x04 0x08 0x52 0x8c 0x04 0x08 0x : 0x64 0x8c 0x04 0x08 0x76 0x8c 0x04 0x08 (gdb) echo ======================= Defuse Phase_4 ==============================\n\n ======================= Defuse Phase_4 ============================== (gdb) disassemble phase_4 Dump of assembler code for function phase_4: 0x08048ce0 <phase_4+0>: push %ebp 4

5 0x08048cef <phase_4+15>: push %eax 0x08048cf0 <phase_4+16>: push $0x x 对应的格式为 %d 0x08048cf5 <phase_4+21>: push %edx 0x08048cf6 <phase_4+22>: call 0x x08048cfb <phase_4+27>: add $0x10,%esp 将输入的数传递给 func4() 0x08048d14 <phase_4+52>: push %eax 0x08048d15 <phase_4+53>: call 0x8048ca0 <func4> 0x08048d1a <phase_4+58>: add $0x10,%esp 0x08048d1d <phase_4+61>: cmp $0x37,%eax Func(i) 的输出应该是 55, 因此对 0x08048d20 <phase_4+64>: je 0x8048d27 <phase_4+71> 应的 i=9 0x08048d22 <phase_4+66>: call 0x80494fc <explode_bomb> 0x08048d27 <phase_4+71>: mov %ebp,%esp 0x08048d29 <phase_4+73>: pop %ebp 0x08048d2a <phase_4+74>: ret (gdb) x /8c 0x x : 37 '%' 100 'd' 0 '\0' 103 'g' 105 'i' 97 'a' 110 'n' 116 't' (gdb) disassemble func4 Dump of assembler code for function func4: Func4(i) 为递归函数 : 0x08048ca0 <func4+0>: push %ebp Func4(i) { 0x08048cb3 <func4+19>: lea -0x1(%ebx),%eax if(i <=1) 0x08048cb6 <func4+22>: push %eax return 1; 0x08048cb7 <func4+23>: call 0x8048ca0 <func4> else return f(i-1) + f(i-2); 0x08048cbc <func4+28>: mov %eax,%esi } 0x08048cbe <func4+30>: add $0xfffffff4,%esp 0x08048cc1 <func4+33>: lea -0x2(%ebx),%eax 0x08048cc4 <func4+36>: push %eax 0x08048cc5 <func4+37>: call 0x8048ca0 <func4> 0x08048cca <func4+42>: add %esi,%eax 0x08048ccc <func4+44>: jmp 0x8048cd5 <func4+53> 0x08048cce <func4+46>: mov %esi,%esi 0x08048cd0 <func4+48>: mov $0x1,%eax 0x08048cdd <func4+61>: ret (gdb) echo ======================= Defuse Phase_5 ==============================\n\n ======================= Defuse Phase_5 ============================== (gdb) disassemble phase_5 Dump of assembler code for function phase_5: 0x08048d2c <phase_5+0>: push %ebp 5

6 0x08048d3a <phase_5+14>: push %ebx 0x08048d3b <phase_5+15>: call 0x <string_length> 0x08048d40 <phase_5+20>: add $0x10,%esp 输入长度为 6 的字符串 0x08048d43 <phase_5+23>: cmp $0x6,%eax 0x08048d46 <phase_5+26>: je 0x8048d4d <phase_5+33> 0x08048d48 <phase_5+28>: call 0x80494fc <explode_bomb> 0x08048d4d <phase_5+33>: xor %edx,%edx 0x08048d4f <phase_5+35>: lea -0x8(%ebp),%ecx 0x08048d52 <phase_5+38>: mov $0x804b220,%esi 以输入字符串 (in) 为索引, 在 0x08048d57 <phase_5+43>: mov (%edx,%ebx,1),%al 0x0x804b220(str) 对应的字符 0x08048d5a <phase_5+46>: and $0xf,%al 串中找出新的字符串 (new) 0x08048d5c <phase_5+48>: movsbl %al,%eax For(i=0; i<=5; i++) 0x08048d5f <phase_5+51>: mov (%eax,%esi,1),%al new[i]=str[in[i]&0xf 0x08048d62 <phase_5+54>: mov %al,(%edx,%ecx,1) 0x08048d65 <phase_5+57>: inc %edx 0x08048d66 <phase_5+58>: cmp $0x5,%edx 0x08048d69 <phase_5+61>: jle 0x8048d57 <phase_5+43> 0x08048d6b <phase_5+63>: movb $0x0,-0x2(%ebp) 0x08048d6f <phase_5+67>: add $0xfffffff8,%esp 0x08048d72 <phase_5+70>: push $0x804980b 0x08048d77 <phase_5+75>: lea -0x8(%ebp),%eax 将得到的新字符串 new 与 0x08048d7a <phase_5+78>: push %eax 0x804980b( giants ) 存储的字符 0x08048d7b <phase_5+79>: call 0x <strings_not_equal> 串比较 0x08048d80 <phase_5+84>: add $0x10,%esp 0x08048d83 <phase_5+87>: test %eax,%eax 0x08048d85 <phase_5+89>: je 0x8048d8c <phase_5+96> 0x08048d87 <phase_5+91>: call 0x80494fc <explode_bomb> 0x08048d8c <phase_5+96>: lea -0x18(%ebp),%esp 0x08048d8f <phase_5+99>: pop %ebx 0x08048d90 <phase_5+100>:pop %esi 0x08048d91 <phase_5+101>:mov %ebp,%esp 0x08048d93 <phase_5+103>:pop %ebp 0x08048d94 <phase_5+104>:ret ---Type <return> to continue, or q <return> to quit--- (gdb) x /32x 0x804b220 0x804b220 <array.123>: 105 'i' 115 's' 114 'r' 118 'v' 101 'e' 97 'a' 119 'w' 104 'h' 0x804b228 <array.123+8>: 111 'o' 98 'b' 112 'p' 110 'n' 117 'u' 116 't' 102 'f' 103 'g' (gdb) x /32c 0x804980b 0x804980b: 103 'g' 105 'i' 97 'a' 110 'n' 116 't' 115 's' 0 '\0' 0 '\0' 6

7 (gdb) echo ======================= Defuse Phase_6 ==============================\n\n ======================= Defuse Phase_6 ============================== (gdb) disassemble phase_6 Dump of assembler code for function phase_6: 0x08048d98 <phase_6+0>: push %ebp 0x08048da4 <phase_6+12>: movl $0x804b26c,-0x34(%ebp) 0x08048db2 <phase_6+26>: push %edx 0x08048db3 <phase_6+27>: call 0x8048fd8 <read_six_numbers> 0x08048db8 <phase_6+32>: xor %edi,%edi 0x08048dba <phase_6+34>: add $0x10,%esp 0x08048dbd <phase_6+37>: lea 0x0(%esi),%esi 0x08048dc0 <phase_6+40>: lea -0x18(%ebp),%eax 0x08048dc3 <phase_6+43>: mov (%eax,%edi,4),%eax 0x08048dc6 <phase_6+46>: dec %eax 0x08048dc7 <phase_6+47>: cmp $0x5,%eax 0x08048dca <phase_6+50>: jbe 0x8048dd1 <phase_6+57> 0x08048dcc <phase_6+52>: call 0x80494fc <explode_bomb> 0x08048dd1 <phase_6+57>: lea 0x1(%edi),%ebx 0x08048dd4 <phase_6+60>: cmp $0x5,%ebx 0x08048dd7 <phase_6+63>: jg 0x8048dfc <phase_6+100> 0x08048dd9 <phase_6+65>: lea 0x0(,%edi,4),%eax 0x08048de0 <phase_6+72>: mov %eax,-0x38(%ebp) 0x08048de3 <phase_6+75>: lea -0x18(%ebp),%esi 0x08048de6 <phase_6+78>: mov -0x38(%ebp),%edx 0x08048de9 <phase_6+81>: mov (%edx,%esi,1),%eax 0x08048dec <phase_6+84>: cmp (%esi,%ebx,4),%eax 0x08048def <phase_6+87>: jne 0x8048df6 <phase_6+94> 0x08048df1 <phase_6+89>: call 0x80494fc <explode_bomb> 0x08048df6 <phase_6+94>: inc %ebx 0x08048df7 <phase_6+95>: cmp $0x5,%ebx 0x08048dfa <phase_6+98>: jle 0x8048de6 <phase_6+78> 0x08048dfc <phase_6+100>: inc %edi 0x08048dfd <phase_6+101>: cmp $0x5,%edi 0x08048e00 <phase_6+104>: jle 0x8048dc0 <phase_6+40> 0x08048e02 <phase_6+106>: xor %edi,%edi 0x08048e0d <phase_6+117>: lea 0x0(%esi),%esi 链表头指针为 0x804b26c, 可以根 据该指针遍历所有节点 输入 6 个数字保证 6 个数不同 For(I= 0; I <= 5; i++){ If(a[i] >6) explode_bomb(); For(j=i+1; j<=5; j++){ If(a[i] == a[j]) explode_bomb(); } 7

8 0x08048e10 <phase_6+120>: mov 0x08048e13 <phase_6+123>: mov 0x08048e18 <phase_6+128>: lea 0x08048e1f <phase_6+135>: mov 0x08048e21 <phase_6+137>: cmp 0x08048e24 <phase_6+140>: jge 0x08048e26 <phase_6+142>: mov 0x08048e29 <phase_6+145>: lea 0x08048e30 <phase_6+152>: mov 0x08048e33 <phase_6+155>: inc 0x08048e34 <phase_6+156>: cmp 0x08048e36 <phase_6+158>: jl 0x08048e38 <phase_6+160>: mov 0x08048e3b <phase_6+163>: mov 0x08048e3e <phase_6+166>: inc 0x08048e3f <phase_6+167>: cmp 0x08048e42 <phase_6+170>: jle 0x08048e44 <phase_6+172>: mov 0x08048e47 <phase_6+175>: mov 0x08048e4a <phase_6+178>: mov 0x08048e4f <phase_6+183>: lea 0x08048e52 <phase_6+186>: mov 0x08048e55 <phase_6+189>: mov 0x08048e58 <phase_6+192>: mov 0x08048e5a <phase_6+194>: inc 0x08048e5b <phase_6+195>: cmp 0x08048e5e <phase_6+198>: jle 0x08048e60 <phase_6+200>: movl 0x08048e67 <phase_6+207>: mov 0x08048e6a <phase_6+210>: xor 0x08048e6c <phase_6+212>: lea 0x08048e70 <phase_6+216>: mov 0x08048e73 <phase_6+219>: mov 0x08048e75 <phase_6+221>: cmp 0x08048e77 <phase_6+223>: jge 0x08048e79 <phase_6+225>: call 0x08048e7e <phase_6+230>: mov 0x08048e81 <phase_6+233>: inc 0x08048e82 <phase_6+234>: cmp 0x08048e85 <phase_6+237>: jle 0x08048e87 <phase_6+239>: lea 0x08048e8a <phase_6+242>: pop 0x08048e8b <phase_6+243>: pop 0x08048e8c <phase_6+244>: pop -0x34(%ebp),%esi $0x1,%ebx 0x0(,%edi,4),%eax %eax,%edx (%eax,%ecx,1),%ebx 0x8048e38 <phase_6+160> (%edx,%ecx,1),%eax 0x0(%esi,%eiz,1),%esi 0x8(%esi),%esi %ebx %eax,%ebx 0x8048e30 <phase_6+152> -0x3c(%ebp),%edx %esi,(%edx,%edi,4) %edi $0x5,%edi 0x8048e10 <phase_6+120> -0x30(%ebp),%esi %esi,-0x34(%ebp) $0x1,%edi -0x30(%ebp),%edx (%edx,%edi,4),%eax %eax,0x8(%esi) %eax,%esi %edi $0x5,%edi 0x8048e52 <phase_6+186> $0x0,0x8(%esi) -0x34(%ebp),%esi %edi,%edi 0x0(%esi,%eiz,1),%esi 0x8(%esi),%edx (%esi),%eax (%edx),%eax 0x8048e7e <phase_6+230> 0x80494fc <explode_bomb> 0x8(%esi),%esi %edi $0x4,%edi 0x8048e70 <phase_6+216> -0x58(%ebp),%esp %ebx %esi %edi 将链表 list 根据输入的 6 个数作为索引来排序, 存放到 list_array 中 For(i=0; i<=5; i++){ p = list; for(j=1; j<a[i]; j++) p = p->next; list_array[i]=p; } 根据 list_array 重新建链表判断 list_array 中的节点是否从大是从大到小排列? p = list_array; For(i=0; i<=4; i++){ If(*p <*p->next) explode_bomb(); p = p->next; } 8

9 0x08048e8d <phase_6+245>: mov %ebp,%esp 0x08048e8f <phase_6+247>: pop %ebp 原始链表信息可以从这个头指针获得, 我们可以知 0x08048e90 <phase_6+248>: ret 道里面存放的是 253,725,301,997,212,432 所以按 照从大到小排列对应的输入为 : (gdb) x /32x 0x804b26c 0x804b26c <node1>: 0xfd 0x00 0x00 0x00 0x01 0x00 0x00 0x00 0x804b274 <node1+8>: 0x60 0xb2 0x04 0x08 0xe90x03 0x00 0x00 0x804b27c <n48+4>: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x804b284 <n46>: 0x2f 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x /16x 0x804b260 0x804b260 <node2>: 0xd5 0x02 0x00 0x00 0x02 0x00 0x00 0x00 0x804b268 <node2+8>: 0x54 0xb2 0x04 0x08 0xfd 0x00 0x00 0x00 (gdb) x /16x 0x804b254 0x804b254 <node3>: 0x2d 0x01 0x00 0x00 0x03 0x00 0x00 0x00 0x804b25c <node3+8>: 0x48 0xb2 0x04 0x08 0xd5 0x02 0x00 0x00 (gdb) x /16x 0x804b248 0x804b248 <node4>: 0xe50x03 0x00 0x00 0x04 0x00 0x00 0x00 0x804b250 <node4+8>: 0x3c 0xb2 0x04 0x08 0x2d 0x01 0x00 0x00 (gdb) x /16x 0x804b23c 0x804b23c <node5>: 0xd4 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x804b244 <node5+8>: 0x30 0xb2 0x04 0x08 0xe50x03 0x00 0x00 (gdb) x /16x 0x804b230 0x804b230 <node6>: 0xb0 0x01 0x00 0x00 0x06 0x00 0x00 0x00 0x804b238 <node6+8>: 0x00 0x00 0x00 0x00 0xd4 0x00 0x00 0x00 (gdb) p node1 $1 = 253 (gdb) p node2 $2 = 725 (gdb) p node3 $3 = 301 (gdb) p node4 $4 = 997 (gdb) p node5 $5 = 212 (gdb) p node6 $6 = 432 9

10 (gdb) echo ======================= Defuse Secret_Phase ==============================\n\n ======================= Defuse Secret_Phase ============================== (gdb) disassemble phase_defused Dump of assembler code for function phase_defused: 0x c <phase_defused+0>: push 0x d <phase_defused+1>: mov 0x f <phase_defused+3>: sub 0x <phase_defused+6>: push 0x <phase_defused+7>: cmpl %ebp %esp,%ebp $0x64,%esp %ebx $0x6,0x804b480 0x a <phase_defused+14>: jne 0x804959f <phase_defused+115> 0x c <phase_defused+16>: lea -0x50(%ebp),%ebx 0x f <phase_defused+19>: push %ebx 0x <phase_defused+20>: lea -0x54(%ebp),%eax 0x <phase_defused+23>: push %eax 0x <phase_defused+24>: push $0x8049d03 0x <phase_defused+29>: push $0x804b770 0x e <phase_defused+34>: call 0x x <phase_defused+39>: add $0x10,%esp 0x <phase_defused+42>: cmp $0x2,%eax 0x <phase_defused+45>: jne 0x <phase_defused+102> 0x b <phase_defused+47>: add $0xfffffff8,%esp 0x e <phase_defused+50>: push $0x8049d09 0x <phase_defused+55>: push %ebx 0x <phase_defused+56>: call 0x <strings_not_equal> 0x <phase_defused+61>: add $0x10,%esp 0x c <phase_defused+64>: test %eax,%eax 0x <phase_defused+89>: call 0x x a <phase_defused+94>: add $0x20,%esp 0x d <phase_defused+97>: call 0x8048ee8 <secret_phase> 0x <phase_defused+102>: add $0xfffffff4,%esp 0x <phase_defused+105>: push $0x8049da0 0x a <phase_defused+110>: call 0x x f <phase_defused+115>: mov -0x68(%ebp),%ebx 0x080495a2 <phase_defused+118>: mov %ebp,%esp 0x080495a4 <phase_defused+120>: pop %ebp 0x080495a5 <phase_defused+121>: (gdb) x /32c 0x8049d03 ret 0x8049d03: 37 '%' 100 'd' 32 ' ' 37 '%' 115 's' 0 '\0' 97 'a' 117 'u' 0x8049d0b: 115 's' 116 't' 105 'i' 110 'n' 112 'p' 111 'o' 119 'w' 101 'e' 0x8049d13: 114 'r' 115 's' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0x8049d1b: 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 67 'C' 117 'u' 114 'r' Secret_phase 的入口隐藏在这里 从 0x8049d03 来看要求输入 %d %s, 从下面调用 strings_not_equal 来看, 输入字符 串应该是 austinpowers 但 0x804b770 不是正常的输入变 量, 所有有两种办法来给它填数 据 : 一种是利用缓冲区溢出 ; 另一 种更简单粗暴的方法就是用 gdb 直接向那块内存区域写数据 这里 采用了第二种 具体参见下页 输入检查通过后调用 secret_phase() 10

11 (gdb) x /32c 0x804b770 0x804b770 <input_strings+240>: 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0x804b778 <input_strings+248>: 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0x804b780 <input_strings+256>: 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0x804b788 <input_strings+264>: 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' (gdb) x /32c 0x8049d09 0x8049d09: 97 'a' 117 'u' 115 's' 116 't' 105 'i' 110 'n' 112 'p' 111 'o' 0x8049d11: 119 'w' 101 'e' 114 'r' 115 's' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0x8049d19: 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 0 '\0' 67 'C' 0x8049d21: 117 'u' 114 'r' 115 's' 101 'e' 115 's' 44 ',' 32 ' ' 121 'y' (gdb) set *(char*)0x804b770 = '2' Cannot access memory at address 0x804b770 (gdb) r Starting program: /memex/ybao/bomb Welcome to my fiendish little bomb. You have 6 phases with which to blow yourself up. Have a nice day! Program received signal SIGINT, Interrupt. 0xffffe410 in kernel_vsyscall () (gdb) set *(char*)0x804b770 = '2' (gdb) set *(char*)0x804b771 = ' ' (gdb) set *(char*)0x804b772 = 'a' (gdb) set *(char*)0x804b773 = 'u' (gdb) set *(char*)0x804b774 = 's' (gdb) set *(char*)0x804b775 = 't' (gdb) set *(char*)0x804b776 = 'i' (gdb) set *(char*)0x804b777 = 'n' (gdb) set *(char*)0x804b778 = 'p' (gdb) set *(char*)0x804b779 = 'o' (gdb) set *(char*)0x804b77a = 'w' (gdb) set *(char*)0x804b77b = 'e' (gdb) set *(char*)0x804b77c = 'r' (gdb) set *(char*)0x804b77d = 's' (gdb) disassemble secret_phase Dump of assembler code for function secret_phase: 0x08048ee8 <secret_phase+0>: push %ebp 0x08048eef <secret_phase+7>: call 0x80491fc <read_line> 0x08048ef4 <secret_phase+12>: push $0x0 0x08048ef6 <secret_phase+14>: push $0xa 0x08048ef8 <secret_phase+16>: push $0x0 0x08048efa <secret_phase+18>: push %eax 0x08048efb <secret_phase+19>: call 0x80487f0 < strtol_internal@plt> 0x08048f00 <secret_phase+24>: add $0x10,%esp 进入 secret_phase 后 有要求输入一个数 11

12 0x08048f03 <secret_phase+27>: mov %eax,%ebx 0x08048f05 <secret_phase+29>: lea -0x1(%ebx),%eax 很关键, 压入两个参数, 然后 0x08048f08 <secret_phase+32>: cmp $0x3e8,%eax 调用 fun7(0x804b320, %ebx) 0x08048f0d <secret_phase+37>: jbe 0x8048f14 <secret_phase+44> 0x08048f0f <secret_phase+39>: call 0x80494fc <explode_bomb> 根据 func7 的操作, 可以知道 0x08048f14 <secret_phase+44>: add $0xfffffff8,%esp 第一个参数是一个二叉排序 0x08048f17 <secret_phase+47>: push %ebx 树的 root, 而 %ebx 就是输入的 0x08048f18 <secret_phase+48>: push $0x804b320 数 0x08048f1d <secret_phase+53>: call 0x8048e94 <fun7> 0x08048f22 <secret_phase+58>: add $0x10,%esp 0x08048f25 <secret_phase+61>: cmp $0x7,%eax Func7 返回值应该是 7 0x08048f28 <secret_phase+64>: je 0x8048f2f <secret_phase+71> 0x08048f2a <secret_phase+66>: call 0x80494fc <explode_bomb> 0x08048f2f <secret_phase+71>: add $0xfffffff4,%esp 0x08048f32 <secret_phase+74>: push $0x x08048f37 <secret_phase+79>: call 0x <printf@plt> 0x08048f3c <secret_phase+84>: call 0x804952c <phase_defused> 有了 root, 我们可以把二叉排 0x08048f41 <secret_phase+89>: mov -0x18(%ebp),%ebx 序树恢复出来 0x08048f44 <secret_phase+92>: mov %ebp,%esp 0x08048f46 <secret_phase+94>: pop %ebp 0x08048f47 <secret_phase+95>: ret (gdb) x /32x 0x804b320 0x804b320 <n1>: 0x24 0x00 0x00 0x00 0x14 0xb3 0x04 0x08 0x804b328 <n1+8>: 0x08 0xb3 0x04 0x08 0x00 0x00 0x00 0x00 0x804b330: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x804b338: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x /32x 0x804b314 0x804b314 <n21>: 0x08 0x00 0x00 0x00 0xe40xb2 0x04 0x08 0x804b31c <n21+8>: 0xfc 0xb2 0x04 0x08 0x24 0x00 0x00 0x00 0x804b324 <n1+4>: 0x14 0xb3 0x04 0x08 0x08 0xb3 0x04 0x08 0x804b32c: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 (gdb) x /16x 0x804b308 0x804b308 <n22>: 0x32 0x00 0x00 0x00 0xf0 0xb2 0x04 0x08 0x804b310 <n22+8>: 0xd8 0xb2 0x04 0x08 0x08 0x00 0x00 0x00 (gdb) x /16x 0x804b2f0 0x804b2f0 <n33>: 0x2d 0x00 0x00 0x00 0xcc 0xb2 0x04 0x08 0x804b2f8 <n33+8>: 0x84 0xb2 0x04 0x08 0x16 0x00 0x00 0x00 (gdb) x /16x 0x804b2d8 0x804b2d8 <n34>: 0x6b 0x00 0x00 0x00 0xb4 0xb2 0x04 0x08 0x804b2e0 <n34+8>: 0x78 0xb2 0x04 0x08 0x06 0x00 0x00 0x00 (gdb) x /16x n31 0x6: Cannot access memory at address 0x6 (gdb) x /16x &n31 12

13 0x804b2e4 <n31>: 0x06 0x00 0x00 0x00 0xc00xb2 0x04 0x08 0x804b2ec <n31+8>: 0x9c 0xb2 0x04 0x08 0x2d 0x00 0x00 0x00 (gdb) x /16x &n32 0x804b2fc <n32>: 0x16 0x00 0x00 0x00 0x90 0xb2 0x04 0x08 0x804b304 <n32+8>: 0xa80xb2 0x04 0x08 0x32 0x00 0x00 0x00 (gdb) info symbol Argument required (address). (gdb) p n1 $7 = 36 (gdb) p n21 $8 = 8 (gdb) p n22 36 $9 = 50 (gdb) p n31 $10 = 6 (gdb) p n $11 = 22 (gdb) p n33 $12 = (gdb) p n34 $13 = 107 (gdb) p n41 $14 = 1 (gdb) p n42 $15 = 7 (gdb) p n43 $16 = 20 (gdb) p n44 $17 = 35 (gdb) p n45 $18 = 40 (gdb) p n46 $19 = 47 (gdb) p n47 $20 = 99 (gdb) p n48 $21 =

14 (gdb) disassemble fun7 Dump of assembler code for function fun7: 0x08048e94 <fun7+0>: push %ebp 0x08048e95 <fun7+1>: mov %esp,%ebp 0x08048e97 <fun7+3>: sub $0x8,%esp 0x08048e9a <fun7+6>: mov 0x8(%ebp),%edx 0x08048e9d <fun7+9>: mov 0xc(%ebp),%eax 0x08048ea0 <fun7+12>: test %edx,%edx 0x08048ea2 <fun7+14>: jne 0x8048eb0 <fun7+28> 0x08048ea4 <fun7+16>: mov $0xffffffff,%eax 0x08048ea9 <fun7+21>: jmp 0x8048ee2 <fun7+78> 0x08048eab <fun7+23>: nop 0x08048eac <fun7+24>: lea 0x0(%esi,%eiz,1),%esi 0x08048eb0 <fun7+28>:cmp (%edx),%eax 0x08048eb2 <fun7+30>:jge 0x8048ec5 <fun7+49> 0x08048eb4 <fun7+32>:add $0xfffffff8,%esp 0x08048eb7 <fun7+35>:push %eax 0x08048eb8 <fun7+36>:mov 0x4(%edx),%eax 0x08048ebb <fun7+39>:push %eax 0x08048ebc <fun7+40>: call 0x8048e94 <fun7> 0x08048ec1 <fun7+45>: add %eax,%eax 0x08048ec3 <fun7+47>: jmp 0x8048ee2 <fun7+78> 0x08048ec5 <fun7+49>: cmp (%edx),%eax 0x08048ec7 <fun7+51>: je 0x8048ee0 <fun7+76> 0x08048ec9 <fun7+53>: add $0xfffffff8,%esp 0x08048ecc <fun7+56>: push %eax 0x08048ecd <fun7+57>: mov 0x8(%edx),%eax 0x08048ed0 <fun7+60>:push %eax 0x08048ed1 <fun7+61>:call 0x8048e94 <fun7> 0x08048ed6 <fun7+66>:add %eax,%eax 0x08048ed8 <fun7+68>:inc %eax 0x08048ed9 <fun7+69>:jmp 0x8048ee2 <fun7+78> 0x08048edb <fun7+71>:nop 0x08048edc <fun7+72>: lea 0x0(%esi,%eiz,1),%esi 0x08048ee0 <fun7+76>: xor %eax,%eax 0x08048ee2 <fun7+78>: mov %ebp,%esp 0x08048ee4 <fun7+80>: pop %ebp 0x08048ee5 <fun7+81>: ret fun7 也是一个递归函数, 对应的代码是 : int fun7(node, value) { If(node == NULL) return -1; if(value == *node) return 0; else if(value < *node) return 2*func7(node->left, value); else return 2*func7(node->right,value)+1; } 因此,func7 返回值要是 7, 那么可以得到 value 对应节点的值应该是 1001 所以 secret_phase 的输入时

+00DE _01EN.book

+00DE _01EN.book TCS-NET MODBUS TCS-NET Modbus TCB-IFMB640TLE 1...... 2 2 RS 485... 3 3... 3 4... 4 5... 4 6... 5 7... 6 8... 16 TCS-NET Modbus 1 http://www.modbus-ida.org/ >=3.5 8 8 N*8 ( N = 252.) 16 >= 3.5 Modbus-Master

More information

于是 run, 输入, 果然 :Phase 1 defused. How about the next one? 然后来看 phase2: 08048bb6 <phase_2>: 8048bb6: 55 push %ebp 8048bb7: 89 e5 mov %esp,%ebp 8048bb9:

于是 run, 输入, 果然 :Phase 1 defused. How about the next one? 然后来看 phase2: 08048bb6 <phase_2>: 8048bb6: 55 push %ebp 8048bb7: 89 e5 mov %esp,%ebp 8048bb9: 二进制炸弹实验报告 登录服务器后, 首先运行静态分析工具 OBJDUMP 来获得程序的反汇编版本 bomb.txt, 用 word 打开便可通过汇编代码来分析程序 运行 gdb bomb, 便可以在开始进行动态调试 首先要做的是 break explode_bomb, 即在爆炸函数的的入口设置断点, 这样就可以避免调试过程中各种原因引起的爆炸 首先来看 phase1 的代码 : 08048b90 :

More information

MODBUS RTU MODE

MODBUS RTU MODE MODBUS RTU MODE 一 基本命令結構 ( 均為 16 進制 Hexadecimal) 1. START OF FRAME: 至少有 4 個字元的時間沒有傳送資料 2. ADDRESS FILED: 欲讀取或控制 Meter 的位址 ( 位址範圍為 1~255),Address 0 為廣播方式, 只對 Function Code:06H 有效 3. FUNCTION CODE: A. 03H:

More information

Linux kernel exploit研究和探索

Linux kernel exploit研究和探索 Linux kernel exploit DOC alert7 PPT e4gle 2002-12-2 1 2002-12-2 2 Linux kernel exploit kernel exploit exploit exploit exploit (Kernel Buffer Overflow) (Kernel

More information

ROP_bamboofox.key

ROP_bamboofox.key ROP Return Oriented Programming Lays @ BambooFox Who Am I Lays / L4ys / 累死 - l4ys.tw Reverse Engineering BambooFox / HITCON Outline Buffer Overflow ret2libc / ret2text Return Oriented Programming Payload

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20 (Jump) (Loop) (Conditional jump) CMP CALL AND SAR/SHR TEST JMP NOT SAL/SHL Jnnn* OR RCR/ROR LOOP XOR RCL/ROL RETn * nnn, JNE JL -128 127-32,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far

More information

漏 洞 攻 防 EXPLOIT ATTACK & DEFENCE 栏 目 编 辑 脚 本 小 子 scriptsboy@hacker.com.cn HEAD 部 分 大 小 当 然 也 就 是 固 定 的 18200H 如 果 要 提 取 出 HEAD, 我 们 可 以 选 中 前 18200H 字

漏 洞 攻 防 EXPLOIT ATTACK & DEFENCE 栏 目 编 辑 脚 本 小 子 scriptsboy@hacker.com.cn HEAD 部 分 大 小 当 然 也 就 是 固 定 的 18200H 如 果 要 提 取 出 HEAD, 我 们 可 以 选 中 前 18200H 字 适 合 读 者 : 入 侵 爱 好 者 溢 出 爱 好 者 前 置 知 识 : 汇 编 语 言 缓 冲 区 溢 出 基 本 原 理 文 / 图 何 永 强 Word 畸 形 数 据 结 构 溢 出 漏 洞 分 析 与 利 用 以 前 都 是 写 远 程 溢 出 漏 洞, 感 觉 也 该 换 换 口 味 了 事 实 上,2005 年 以 来 的 远 程 溢 出 漏 洞, 如 MS05-039 MS06-040

More information

1 CPU interrupt INT trap CPU exception

1 CPU interrupt INT trap CPU exception 1 CPU interrupt INT trap CPU exception 2 X86 CPU gate 64 16 1 2 5 8 16 16 P DPL 00101 TSS 101 DPL P 1 64 16 1 2 1 1 3 3 5 16 16 16 P DPL 0 D 000 16 110 111 100 D 1=32 0=16 DPL P 1 INT DPL1>=CPL>=DPL CPU

More information

Modbus 协议

Modbus 协议 Modbus 协议 工业控制已从单机控制走向集中监控 集散控制, 如今已进入网络时代, 工业控制器连网也为网络管理提供了方便 Modbus 就是工业控制器的网络协议中的一种 一 Modbus 协议简介 Modbus 协议是应用于电子控制器上的一种通用语言 通过此协议, 控制器相互之间 控制器经由网络 ( 例如以太网 ) 和其它设备之间可以通信 它已经成为一通用工业标准 有了它, 不同厂商生产的控制设备可以连成工业网络,

More information

今天刚发现的, 比较简单, 于是就来简单分析下吧 该感染样本很简单, 新加了个区段放病毒执行代码, 执行病毒代码, 最后跳回原入口点来执行原文件 下面就是感染后的代码的简单分析 : ; =============== S U B R O U T I N E =====================

今天刚发现的, 比较简单, 于是就来简单分析下吧 该感染样本很简单, 新加了个区段放病毒执行代码, 执行病毒代码, 最后跳回原入口点来执行原文件 下面就是感染后的代码的简单分析 : ; =============== S U B R O U T I N E ===================== 吾爱破解论坛 [LCG] [LSG] 立足软件安全和病毒分析最前端, 丰富的技术版块交相辉映, 由无数加密解密及反病毒爱好者共同维护, 留给世界一抹值得百年回眸的惊 艳, 沉淀百年来计算机应用之精华与优雅, 信息线条与生活质感淡定交融, 任岁月流转, 低调而奢华的技术交流与研究却是亘古不变 标题 : 一个感染样本的简单分析 作者 :ximo 今天刚发现的, 比较简单, 于是就来简单分析下吧 该感染样本很简单,

More information

Ö

Ö 转矩转速传感器 赛亚思科技 科技创造未来合作共赢明天 开箱检查 开箱后, 查看物品在运输过程中是否有破损现象, 同时核对发货产品 的铭牌, 确认产品的型号 规格及参数与您的订货要求一致 如有问题, 请速与我公司联系 铭牌 : SCI 智能总线扭矩传感器 规格型号 转矩量程 牛. 米 准确度 级 出厂编号 出厂日期 命名规则 SCI 型号 : A S P 规格 : 代表转矩 转速传感器的扭矩量程 1

More information

Microsoft Word - PR9200 v2.0协议

Microsoft Word - PR9200 v2.0协议 深圳市铨顺宏科技有限公司 PR9200 系列产品协议概述 www.fuwit.com 目录 一 系列产品 PR9200V2.0 指令概述...2 二 设备接口控制.3 三 产品信息指令集..4 四 系统设置指令集.7 五 EPC C1G2 协议指令集......17 六 附录表... 24 1 返回错误码描述... 24 2 CRC 校验算法... 24 2 一 PR9200V2.0 指令概述 指令格式

More information

易语言逆向分析

易语言逆向分析 易语言介绍 易语言功能强大, 具有多个支持库, 可以很快的进行产品开发 与其它语言相比, 学习难度也低一些, 目前很多的外 挂程序, 核心功能编写为动态链接库, 界面开发的工作会使用易语言来进行 易语言编写的程序, 最终的功能实现, 还是需要调用系统的动态链接库 我对易语言的理解是对系统动态库中常用的 功能进行了一次封装, 使其使用起来更加方便简单 由于易语言本身带有多个支持库, 使用我们的逆向分析变得困难重重

More information

How to Debug Tuxedo Server printf( Input data is: %s, inputstr); fprintf(stdout, Input data is %s, inputstr); fprintf(stderr, Input data is %s, inputstr); printf( Return data is: %s, outputstr); tpreturn(tpsuccess,

More information

42 2141601026 2016 11 27 2 1.1............................................. 2 1.2....................................... 2 1.2.1......................................... 2 1.3.............................................

More information

<4D F736F F D20CEC4BCFEBCB6B6F1D2E2B4FAC2EBC9A8C3E8D2FDC7E6D6D0B5C4BCD3BFC7CAB6B1F0BCBCCAF52E646F6378>

<4D F736F F D20CEC4BCFEBCB6B6F1D2E2B4FAC2EBC9A8C3E8D2FDC7E6D6D0B5C4BCD3BFC7CAB6B1F0BCBCCAF52E646F6378> 文件级恶意代码扫描引擎中的加壳识别技术 安天实验室 Swordlea 2003 年 12 月 25 日 在文件级恶意代码扫描引擎的设计与实现过程中, 加壳后样本的特征选取和识别是较为棘手的问题 恶意代码的制作者为了使其作品传播更广, 往往使用软件加壳的方式 样本被加壳以后, 其原有特征码被变形或彻底隐藏, 在一定程度中增加了样本分析与识别的难度 目前反病毒公司在对加壳后样本的处理上一般采用以下几种方式

More information

untitled

untitled 8086/8088 CIP /. 2004.8 ISBN 7-03-014239-X.... TP313 CIP 2004 086019 16 100717 http://www.sciencep.com * 2004 8 2004 8 1 5 500 787 1092 1/16 16 1/2 391 000 1 2 ii 1 2 CAI CAI 3 To the teacher To the student

More information

MCCB EMI EMI

MCCB EMI EMI HD5L HD5L HD5L 4008-858 -959 189 4871 3800 MCCB EMI EMI ... 1 1.1... 1 1.2... 1 1.3... 2... 3 2.1... 3 2.2... 3 2.3... 4 2.4... 5 2.5... 6... 9 3.1... 9 3.2... 9 3.3... 10 3.4... 10 3.5... 12 3.6... 13...

More information

海 南 冯 琳 峰 海 南 省 锅 炉 压 力 容 器 与 特 种 设 备 检 验 所 海 南 省 定 安 县 白 蒙 路 47 号 570203 信 XC22043618311 内 蒙 古 冯 磊 赤 峰 市 特 种 设 备 检 验 所 内 蒙 古 赤 峰 市 红 山 区 八 里 铺 油 库 路

海 南 冯 琳 峰 海 南 省 锅 炉 压 力 容 器 与 特 种 设 备 检 验 所 海 南 省 定 安 县 白 蒙 路 47 号 570203 信 XC22043618311 内 蒙 古 冯 磊 赤 峰 市 特 种 设 备 检 验 所 内 蒙 古 赤 峰 市 红 山 区 八 里 铺 油 库 路 2015 年 容 器 检 验 员 取 证 邮 寄 证 书 查 询 邮 寄 日 期 2016.2.26 查 询 网 址 http://yjcx.chinapost.com.cn/zdxt/yjcx/ 省 份 姓 名 工 作 单 位 通 信 地 址 邮 政 编 码 挂 号 号 码 山 东 丁 宪 振 山 东 省 特 种 设 备 检 验 研 究 院 山 东 省 济 南 市 高 新 区 天 辰 大 街 939

More information

DbgPrint 函数流程分析

DbgPrint 函数流程分析 DbgPrint 函数流程分析 by 小喂 1 DbgPrint 函数流程分析 前言 Windows 下编写内核驱动时经常用到 DbgPrint 函数输出一些调试信息, 用来辅助调试 当正在用 WinDbg 内核调 试时, 调试信息会输出到 WinDbg 中 或者利用一些辅助工具也能看到输出的调试信息, 比如 Sysinternals 公司的 DebugView 工具 本文分析了 Vista 系统上

More information

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt MINIX ( 730000) ( 730000) MINIX MINIX2.0 MINIX : MINIX TP3 1 MINIX UNIX Tanenbaum UNIX MINIX LINUX MINIX MINIX MINIX1.0 UNIX V7 MINIX2.0[3] POSIX MINIX3 MINIX Gabriel A. Wainer 1994-1995 [5] 1998 I/O 2002

More information

<4D6963726F736F667420576F7264202D20C9BEB7B1BECDBCF2B5A5C6ACBBFAC8EBC3C5B5BDBEABCDA8BDDAD1A12E646F63>

<4D6963726F736F667420576F7264202D20C9BEB7B1BECDBCF2B5A5C6ACBBFAC8EBC3C5B5BDBEABCDA8BDDAD1A12E646F63> 第 四 章 单 片 机 C 语 言 终 于 结 束 了 晦 涩 枯 燥 的 第 三 章, 我 自 己 也 长 吁 了 一 口 气, 现 在 我 真 的 是 非 常 同 情 那 些 教 专 业 基 础 课 或 者 工 程 数 学 的 老 师, 这 里 真 诚 的 说 一 声 : 辛 苦 你 们 了 这 一 章 要 轻 松 不 少, 相 信 就 算 是 刚 走 出 校 门 的 雏 鸟, 多 少 都 有

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 whym1987@126.com! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

More information

一 学 校 基 本 情 况 目 录 二 部 门 预 算 报 表 ( 一 ) 收 支 总 表 ( 二 ) 收 入 总 表 ( 三 ) 支 出 总 表 ( 四 ) 财 政 拨 款 支 出 表 三 部 门 预 算 报 表 说 明 ( 一 ) 收 支 总 表 说 明 ( 二 ) 收 入 总 表 说 明 (

一 学 校 基 本 情 况 目 录 二 部 门 预 算 报 表 ( 一 ) 收 支 总 表 ( 二 ) 收 入 总 表 ( 三 ) 支 出 总 表 ( 四 ) 财 政 拨 款 支 出 表 三 部 门 预 算 报 表 说 明 ( 一 ) 收 支 总 表 说 明 ( 二 ) 收 入 总 表 说 明 ( 浙 江 大 学 2016 年 部 门 预 算 2016 年 5 月 1 一 学 校 基 本 情 况 目 录 二 部 门 预 算 报 表 ( 一 ) 收 支 总 表 ( 二 ) 收 入 总 表 ( 三 ) 支 出 总 表 ( 四 ) 财 政 拨 款 支 出 表 三 部 门 预 算 报 表 说 明 ( 一 ) 收 支 总 表 说 明 ( 二 ) 收 入 总 表 说 明 ( 三 ) 支 出 总 表 说 明

More information

目 录 一 学 校 基 本 情 况 二 2016 年 预 算 报 表 ( 一 ) 中 南 大 学 收 支 预 算 总 表 ( 二 ) 中 南 大 学 收 入 预 算 表 ( 三 ) 中 南 大 学 支 出 预 算 表 ( 四 ) 中 南 大 学 财 政 拨 款 支 出 预 算 表 三 2016 年

目 录 一 学 校 基 本 情 况 二 2016 年 预 算 报 表 ( 一 ) 中 南 大 学 收 支 预 算 总 表 ( 二 ) 中 南 大 学 收 入 预 算 表 ( 三 ) 中 南 大 学 支 出 预 算 表 ( 四 ) 中 南 大 学 财 政 拨 款 支 出 预 算 表 三 2016 年 中 南 大 学 2016 年 部 门 预 算 二 一 六 年 五 月 1 目 录 一 学 校 基 本 情 况 二 2016 年 预 算 报 表 ( 一 ) 中 南 大 学 收 支 预 算 总 表 ( 二 ) 中 南 大 学 收 入 预 算 表 ( 三 ) 中 南 大 学 支 出 预 算 表 ( 四 ) 中 南 大 学 财 政 拨 款 支 出 预 算 表 三 2016 年 预 算 情 况 说 明 (

More information

信息参考

信息参考 内 部 资 料 注 意 保 密 信 息 参 考 2016 年 第 1 期 ( 总 第 26 期 ) 党 政 办 公 室 编 2016 年 2 月 29 日 工 作 要 点 教 育 部 2016 年 工 作 要 点 (1) 中 共 北 京 市 委 教 育 工 作 委 员 会 北 京 市 教 育 委 员 会 北 京 市 人 民 政 府 教 育 督 导 室 2015 年 工 作 要 点 (10) 中 共

More information

Microsoft Word - 15dbtb007

Microsoft Word - 15dbtb007 第 7 期 中 共 浙 江 大 学 委 员 会 办 公 室 2015 年 12 月 16 日 按 :2015 年 12 月 15 日, 学 校 召 开 了 2015 年 党 建 工 作 会 议, 党 委 书 记 金 德 水 同 志 作 出 重 要 讲 话, 深 刻 分 析 了 学 校 改 革 发 展 面 临 的 形 势, 对 加 强 和 改 进 学 校 党 的 建 设 进 行 了 部 署, 对 充

More information

Microsoft Word - “调戏”反遭“反调戏”—记Visual Toolbar 的破解过程.doc

Microsoft Word - “调戏”反遭“反调戏”—记Visual Toolbar 的破解过程.doc 调戏 反遭 反调戏 记 Visual Toolbar 的破解过程 cntrump 由于要做工具栏, 在网上找到了 Visual Toolbar 这个工具, 看了介绍挺不错的, 下载回 来之后发现软件要注册, 但是这是个 04 年的软件, 已经没法向作者购买了, 更重要的原因 是俺还在失业中, 吃饭都成问题了, 哪里还有钱注册呀 ~~ 用 PEID 检测是 UPX 的老壳, 直接手脱, 过程不是重点反正能脱壳就行了

More information

> u eip l 3 002f2aa9 90 nop 002f2aaa 90 nop >!chkimg -d -lo 1 ping // 检查文件是否被篡改? 002f2aa7-002f2aaa 4 bytes - ping!maincrtstartup [ e :f0 cc 9

> u eip l 3 002f2aa9 90 nop 002f2aaa 90 nop >!chkimg -d -lo 1 ping // 检查文件是否被篡改? 002f2aa7-002f2aaa 4 bytes - ping!maincrtstartup [ e :f0 cc 9 在 WINDBG 中定位 ExceptionAddress 核心技术部陈庆 关键字 : 调试异常 windbg second chance ExceptionAddress 摘要 : 在 windbg 中调试时, 碰上 second chance 时, 栈回溯已经看不到与 ExceptionAddress 直接相关的信息, 但我们调试的目的就是要找到 ExceptionAddress 本文介绍了几种通用思路来解决这个问题

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

浙江大学本科论文模板

浙江大学本科论文模板 本 科 生 毕 业 设 计 报 告 项 目 名 称 微 型 操 作 系 统 的 设 计 与 实 现 姓 名 与 学 号 曲 国 铖 3063027053 指 导 老 师 王 新 宇 专 业 计 算 机 科 学 与 技 术 学 院 计 算 机 学 院 A Dissertation Submitted to Zhejiang University for the Degree of Bachelor of

More information

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63> 因 为 路 过 你 的 路, 因 为 苦 过 你 的 苦, 所 以 快 乐 着 你 的 快 乐, 追 逐 着 你 的 追 逐 内 容 简 介 本 书 根 据 2005 年 下 半 年 实 施 的 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 嵌 入 式 系 统 设 计 师 级 考 试 大 纲 精 神, 在 深 入 研 究 历 年 计 算 机 技 术 与 软

More information

Simulator By SunLingxi 2003

Simulator By SunLingxi 2003 Simulator By SunLingxi sunlingxi@sina.com 2003 windows 2000 Tornado ping ping 1. Tornado Full Simulator...3 2....3 3. ping...6 4. Tornado Simulator BSP...6 5. VxWorks simpc...7 6. simulator...7 7. simulator

More information

untitled

untitled CPU!! 00-11-8 Liping zhang, Tsinghua 1 : ADD(r1, r, r) CMPLEC(r, 5, r0) MUL(r1, r, r) SUB(r1, r, r5) ADD r, ( ) r CMP. CMP r.. t t + 1 t + t + t + t + 5 t + 6 IF( ) ADD CMP MUL SUB RF NOP ADD CMP MUL SUB

More information

PowerPoint Presentation

PowerPoint Presentation TOEFL Practice Online User Guide Revised September 2009 In This Guide General Tips for Using TOEFL Practice Online Directions for New Users Directions for Returning Users 2 General Tips To use TOEFL Practice

More information

untitled

untitled 1 5 IBM Intel 1. IBM 第 1/175 页 第 2/175 页 第 3/175 页 80 第 4/175 页 2. IBM 第 5/175 页 3. (1) 第 6/175 页 第 7/175 页 第 8/175 页 = = 第 9/175 页 = = = = = 第 10/175 页 = = = = = = = = 3. (2) 第 11/175 页 第 12/175 页 第 13/175

More information

2 = ( O C) =? C 112 + 120 100% = 18. 08% 1051 + 232 p ( 1 p) / n 100% 0. 1808( 1 0. 1808) / 1283 100% = 1. 07% 328 + 294 100% = 17. 9% 3469 0. 179( 1 0179. ) / 3469 = 0. 65% { m-sn m-w w-sn sn3 w m

More information

安 全 须 知 使 用 前, 请 先 阅 读 安 全 须 知 危 险 - 为 了 降 低 触 电 的 危 险 : 在 您 使 用 后 ; 清 洁 机 器 时 ; 进 行 本 说 明 书 中 提 到 的 任 何 用 户 维 护 保 养 操 作 时 ; 或 当 缝 纫 机 无 人 看 管 时, 请 务

安 全 须 知 使 用 前, 请 先 阅 读 安 全 须 知 危 险 - 为 了 降 低 触 电 的 危 险 : 在 您 使 用 后 ; 清 洁 机 器 时 ; 进 行 本 说 明 书 中 提 到 的 任 何 用 户 维 护 保 养 操 作 时 ; 或 当 缝 纫 机 无 人 看 管 时, 请 务 使 用 说 明 书 缝 纫 机 Product Code ( 产 品 型 号 ): 888-X/X/X/X6 欢 迎 访 问 http://solutions.brother.com 在 这 里 可 以 得 到 产 品 的 支 持 和 常 见 问 题 解 答 (FAQs) 安 全 须 知 使 用 前, 请 先 阅 读 安 全 须 知 危 险 - 为 了 降 低 触 电 的 危 险 : 在 您 使 用

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持

第 一 节 认 识 自 我 的 意 义 一 个 人 只 有 认 识 自 我, 才 能 够 正 确 地 认 识 到 自 己 的 优 劣 势, 找 出 自 己 的 职 业 亮 点, 为 自 己 的 顺 利 求 职 推 波 助 澜 ; 一 个 人 只 有 认 识 自 我, 才 能 在 求 职 中 保 持 第 一 篇 知 己 知 彼, 百 战 不 殆 基 本 评 估 篇 第 一 章 认 识 自 我 我 就 是 一 座 金 矿 人 啊, 认 识 你 自 己! 塔 列 斯 ( 希 腊 学 者 ) 要 想 知 道 去 哪 儿, 必 须 先 知 道 你 现 在 在 哪 儿 和 你 是 谁 茜 里 娅. 德 纽 斯 ( 美 国 职 业 指 导 学 家 ) 本 章 提 要 了 解 认 识 自 我 在 职 业 生

More information

返回导向编程 (ROP) 译者 :Netfairty 前言 欢迎来到第七部分, 经过前面的学习, 可能你想做一些更有挑战性的事. 好的, 本节我们将 要学习的是 ROP( 返回导向编程 ). 不像前一节我们把参数精心布置在堆栈然后调用 Windwos API 去执行它们. 所有介绍 ROP 教程都需

返回导向编程 (ROP) 译者 :Netfairty 前言 欢迎来到第七部分, 经过前面的学习, 可能你想做一些更有挑战性的事. 好的, 本节我们将 要学习的是 ROP( 返回导向编程 ). 不像前一节我们把参数精心布置在堆栈然后调用 Windwos API 去执行它们. 所有介绍 ROP 教程都需 返回导向编程 (ROP) 译者 :Netfairty 前言 欢迎来到第七部分, 经过前面的学习, 可能你想做一些更有挑战性的事. 好的, 本节我们将 要学习的是 ROP( 返回导向编程 ). 不像前一节我们把参数精心布置在堆栈然后调用 Windwos API 去执行它们. 所有介绍 ROP 教程都需要你做很多的工作才能掌握它. 但是在次提醒本教 程不会覆盖 ROP 所有细节. 如果你想更好的理解 ROP

More information

前沿技术 全面绕过执行流保护 安全研究部张云海 执行流保护 (CFG,Control Flow Guard) 是微软在 Windows 10 技术预览版与 Windows 8.1 update 3 中, 默认启用的一项缓解技术 在分析 CFG 的实现机制的过程中, 我们发现了一种全面绕过 CFG 的

前沿技术 全面绕过执行流保护 安全研究部张云海 执行流保护 (CFG,Control Flow Guard) 是微软在 Windows 10 技术预览版与 Windows 8.1 update 3 中, 默认启用的一项缓解技术 在分析 CFG 的实现机制的过程中, 我们发现了一种全面绕过 CFG 的 全面绕过执行流保护 安全研究部张云海 执行流保护 (CFG,Control Flow Guard) 是微软在 Windows 10 技术预览版与 Windows 8.1 update 3 中, 默认启用的一项缓解技术 在分析 CFG 的实现机制的过程中, 我们发现了一种全面绕过 CFG 的方法, 并配合微软修复了这一问题 背景 FG 是微软在 Windows 10 技术预览 C版与 Windows

More information

國 立 臺南 大 學

國 立 臺南 大 學 交 換 學 生 心 得 報 告 獲 補 助 年 度 : ( 非 教 育 部 學 海 系 列 補 助 者 免 填 ) 校 名 : 國 立 臺 南 大 學 姓 名 : 許 瑛 芝 學 號 : 系 所 : 國 語 文 學 系 年 級 : 研 修 國 家 : 韓 國 研 修 學 校 : 韓 國 加 圖 立 大 學 研 修 院 所 : 研 修 期 間 :2015 年 02 月 25 日 至 2016 年 02

More information

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

38 47995529 威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 1059003070 號 39 47995534 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民 1 08414159 惠 鴻 眼 鏡 行 桃 園 市 中 壢 區 福 德 里 中 華 路 一 段 186 號 1 樓 30,000 獨 資 宋 耀 鴻 105/04/27 府 經 登 字 第 1059003866 號 2 17891110 承 元 冷 氣 空 調 工 程 行 桃 園 市 桃 園 區 中 德 里 國 際 路 1 段 98 巷 50 號 2 樓 之 4 200,000 獨 資 詹 安 平

More information

Microsoft Word - 20160602.docx

Microsoft Word - 20160602.docx 搭立榮 FUN 假趣 獨立出團 不湊團 馬祖卡蹓趣三日遊 厭倦行軍般的行程嗎?本次旅遊將特別安排芹壁午茶時光 徐徐的海風搭配著迷人閩東愛情海風情 將是這次旅行最棒的回憶 馬祖卡蹓趣-南竿 DAY. 壹 台灣 南竿 240 大砲連 南竿遊客中心 北海坑道(不含船) 鐵堡 雲台山軍情館 民俗文物館 乘船前往北竿 入住飯店 早餐 午餐 晚餐 飯店 北竿-龍福山莊或同級 固守北疆的雷霆巨砲 240 大砲連

More information

的 開 銷, 請 務 必 先 和 家 裡 討 論 後 再 做 決 定 二 研 修 學 校 簡 介 卡 內 基 美 隆 大 學 (Carnegie Mellon University), 位 於 賓 州 匹 茲 堡 會 選 擇 來 這 裡 交 換, 我 相 信 大 部 分 的 人 都 已 經 知 道

的 開 銷, 請 務 必 先 和 家 裡 討 論 後 再 做 決 定 二 研 修 學 校 簡 介 卡 內 基 美 隆 大 學 (Carnegie Mellon University), 位 於 賓 州 匹 茲 堡 會 選 擇 來 這 裡 交 換, 我 相 信 大 部 分 的 人 都 已 經 知 道 學 海 專 用 學 海 飛 颺 / 學 海 惜 珠 學 生 出 國 研 修 心 得 報 告 獲 補 助 年 度 105 薦 送 學 校 系 所 年 級 中 文 姓 名 研 修 國 家 研 修 學 校 國 立 交 通 大 學 電 機 工 程 學 系 四 年 級 陳 瑞 邦 美 國 卡 內 基 美 隆 大 學 (Carnegie Mellon University) 一 緣 起 趁 年 輕, 給 自 己

More information

Slide 1

Slide 1 1 分钟用 Java 原生层漏洞搞定 Win7+JRE7 一个漏洞, 三种利用 今天我们不会讲如何挖掘 Java 原生 层漏洞, 而是讲如何 料理 它们 自我介绍 趋势科技中国研发中心, 架构师 研究方向包括 漏洞挖掘, 沙盒技术, APT 攻击解决方案 重度动漫宅 议程 背景介绍 今天要使用的漏洞 Exploit 方法 1 Exploit 方法 2 Exploit 方法 3 总结 何为 Java

More information

e 2 3 2

e 2 3 2 e 1 3 3.1 3.2 3.3 NextDate 3.4 3.5 3.6 3.7 3.8 3.9 3 1 e 2 3 2 e 3 3.1 3.1.1 3.1.2 3.1.3 3.1.4 Return 3 3 e 4 3.1.1 1 2 1 2 3 4 3 4 e 5 3.1.2 3 5 e 6 3.1.3 FAX MODEM 3 6 e 7 3.1.4 ANSI/IEEE829-1983 3 1

More information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016 档 案 局 2016 年 度 部 门 预 算 1 目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016 年 度 市 级 部 门 财 政 拨 款 支 出 预

More information

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 168738.36 一 一 般 公 共 服 务 支 出 53.83 二

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 168738.36 一 一 般 公 共 服 务 支 出 53.83 二 2015 年 度 部 门 决 算 报 表 ( 含 三 公 经 费 决 算 ) 2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 168738.36 一 一 般 公 共 服 务 支 出 53.83 二 上 级 补 助 收 入

More information

C++ 程式設計

C++ 程式設計 C C 料, 數, - 列 串 理 列 main 數串列 什 pointer) 數, 數, 數 數 省 不 不, 數 (1) 數, 不 數 * 料 * 數 int *int_ptr; char *ch_ptr; float *float_ptr; double *double_ptr; 數 (2) int i=3; int *ptr; ptr=&i; 1000 1012 ptr 數, 數 1004

More information

1273 1265 1274 1272 1845 1922 1862 1874 20 1875 30 200 1861 1945 1888 817 34 1945 4 1 1866 1921 1894 1900 1912 8 1919 55 2 1907 1931 13 15 1926 16 1927 17 1928 19 1930 818 20 1931 1 2 7 23 1909 1987 10

More information

Abstract arm linux tool-chain root NET-Start! 2

Abstract arm linux tool-chain root NET-Start! 2 Lab III - Embedding Linux 1 Abstract arm linux tool-chain root NET-Start! 2 Part 1.4 Step1. tool-chain 4 Step2. PATH 4 Part 2 kernel 5 Step1. 5 Step2... 6 Step3...8 Part 3 root. 8 Step1. 8 Step2. 8 Part

More information

(2) Function 0BH: Function 0CH: (pixel, picture element) Function 0DH: Function 0FH: Function 13H:

(2) Function 0BH: Function 0CH: (pixel, picture element) Function 0DH: Function 0FH: Function 13H: (1) INT 10H Function 00H: Function 01H: Function 02H: Function 03H: Function 05H: Function 06H: Function 07H: Function 08H: Function 09H: Function 0AH: (2) Function 0BH: Function 0CH: (pixel, picture element)

More information

什么是函数式编程?

什么是函数式编程? 函数式编程 FUNCTIONAL PROGRAMMING byvoid@byvoid.com 什么是函数式编程? 真相是 从停机问题开始 Bug 假设有停机判定算法 function halting(func, input) { } return if_func_will_halt_on_input; 充分利用停机判定 function ni_ma(func) { if (halting(func,

More information

行 为 描 述 : 激 活 设 备 管 理 器 详 情 信 息 : {"ACTION":"android.app.action.ADD_DEVICE_ADMI

行 为 描 述 : 激 活 设 备 管 理 器 详 情 信 息 : {ACTION:android.app.action.ADD_DEVICE_ADMI 文 件 检 测 评 级 : 高 度 风 险 文 件 名 称 : 视 频.apk 基 本 信 息 文 件 名 称 : 视 频.apk MD5 值 : b5bc6b0730d91cc642f4a112c211fb88 文 件 大 小 : 207.88KB 上 传 时 间 : 2016-07-12 13:52:39 包 名 : com.zxfth95951.sucruri 最 低 运 行 环 境 : Android

More information

ebook121-20

ebook121-20 20 ASCII Call me Ishmael Call me Ishmael Å n o 9 9 % 6 e s c a p e s h i f t s h i f t I have 27 sisters 208 1 8 ( 2 7 ) 10 111 2 7 2 7, 5 1874 Emile Baudot 1877 Donald Murray 1931 C C I T T (ITU) N O.

More information

读取文件加载链接库文件删除文件写入文件写入 sdcard 隐私行为 获取安装应用列表获取当前连接的 Wifi 热点信息获取用户 ID 查询上次位置信息查询 Wifi 热点扫描结果获得当前运行的程序列表获取设备 ID 定位移动终端 服务行为 启动服务获取运行 service 广播行为 注册广播接收器发

读取文件加载链接库文件删除文件写入文件写入 sdcard 隐私行为 获取安装应用列表获取当前连接的 Wifi 热点信息获取用户 ID 查询上次位置信息查询 Wifi 热点扫描结果获得当前运行的程序列表获取设备 ID 定位移动终端 服务行为 启动服务获取运行 service 广播行为 注册广播接收器发 文件检测评级 : 高度风险 文件名称 : 微商伙伴 3.0S_02.apk 基本信息 文件名称 : MD5 值 : 微商伙伴 3.0S_02.apk 2a8530cf7bb05ee966a912c2764974ad 文件大小 : 51.73MB 上传时间 : 2017-05-14 16:11:36 包名 : com.tencent.mo 最低运行环境 : Android 4.0.3, 4.0.4 版权

More information

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2

VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2 VHDL (Statements) VHDL(Statements) (Sequential Statement) (Concurrent Statement) VHDL (Architecture)VHDL (PROCESS)(Sub-program) 2 (Assignment Statement) (Signal Assignment Statement) (Variable Assignment

More information

<4D6963726F736F667420576F7264202D2058462D5334323430D6D0CEC4D3EFD2F4BACFB3C9C4A3BFE9BFAAB7A2D6B8C4CF312E302E646F63>

<4D6963726F736F667420576F7264202D2058462D5334323430D6D0CEC4D3EFD2F4BACFB3C9C4A3BFE9BFAAB7A2D6B8C4CF312E302E646F63> XF-S4240 中 文 语 音 合 成 模 块 开 发 指 南 V 1.0-2007 年 12 月 12 日 安 徽 科 大 讯 飞 信 息 科 技 股 份 有 限 公 司 安 徽 省 合 肥 市 国 家 级 高 新 技 术 产 业 开 发 区 信 息 产 业 基 地 讯 飞 语 音 大 厦 86-0551-5331878/5397818 86-0551- 5331837 www.iflytek.com

More information

详 情 信 息 :

详 情 信 息 : 文 件 检 测 评 级 : 高 度 风 险 文 件 名 称 : 相 片.apk 基 本 信 息 文 件 名 称 : 相 片.apk MD5 值 : cce08557d62035a058269d90aae2b38d 文 件 大 小 : 208.21KB 上 传 时 间 : 2016-08-19 11:55:19 包 名 : com.dfghjktyu.yydfv 最 低 运 行 环 境 : Android

More information

32 91320301136426860D 江 苏 汉 邦 建 设 集 团 有 限 公 司 201601 41.50 45.00 0.00 86.50 33 05021063-9 江 苏 邦 实 建 设 工 程 有 限 公 司 201601 37.00 49.50 0.00 86.50 34 703

32 91320301136426860D 江 苏 汉 邦 建 设 集 团 有 限 公 司 201601 41.50 45.00 0.00 86.50 33 05021063-9 江 苏 邦 实 建 设 工 程 有 限 公 司 201601 37.00 49.50 0.00 86.50 34 703 2016 年 徐 州 市 建 筑 业 施 工 企 业 上 半 年 综 合 信 用 评 价 得 分 表 日 期 :2016-06-14 序 号 组 织 机 构 代 码 单 位 名 称 批 次 基 本 信 用 分 综 合 考 核 得 分 日 常 扣 分 信 用 考 核 总 分 1 13641102-8 徐 州 市 政 建 设 集 团 有 限 责 任 公 司 201601 50.00 49.33 0.00

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

Microsoft Word - AN3259C

Microsoft Word - AN3259C www.maxim-ic.com.cn 应用笔记 3259 DS31256 Envoy - 寄存器转储列程 概述本应用笔记提供了将 DS31256 的寄存器 排队程序 描述符和 FIFO RAM 的内容转储到一个文件的程序代码 这些数据在 DS31256 无法正常工作时非常关键, 为进一步的研究和调试提供了重要信息 例如, 寄存器数据经过转储后可以显示每个 DS31256 寄存器的设置 为了保证正确地设置器件,

More information

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf("%d", &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf("%

2013 C 1 #include <stdio.h> 2 int main(void) 3 { 4 int cases, i; 5 long long a, b; 6 scanf(%d, &cases); 7 for (i = 0; i < cases; i++) 8 { 9 scanf(% 2013 ( 28 ) ( ) 1. C pa.c, pb.c, 2. C++ pa.cpp, pb.cpp Compilation Error long long cin scanf Time Limit Exceeded 1: A 10 B 1 C 1 D 5 E 5 F 1 G II 5 H 30 1 2013 C 1 #include 2 int main(void) 3

More information

1.5招募说明书(草案)

1.5招募说明书(草案) PUBLIC 2014 1 PUBLIC - 1 2014 1 PUBLIC - 2 2014 1 PUBLIC - 3 2014 1 PUBLIC - 4 2014 1 PUBLIC - 5 2014 1 PUBLIC - 6 2014 1 PUBLIC - 7 2014 1 PUBLIC - 8 2014 1 PUBLIC - 9 2014 1 PUBLIC - 10 2014 1 PUBLIC

More information

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x 115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0

More information

第十一届“21世纪杯”全国中小学生英语演讲比赛

第十一届“21世纪杯”全国中小学生英语演讲比赛 第 十 四 届 21 世 纪 新 东 方 杯 全 国 中 小 学 生 英 语 演 讲 比 赛 天 津 赛 区 小 学 低 年 级 组 半 决 赛 通 知 中 国 日 报 社 21 世 纪 杯 全 国 英 语 演 讲 比 赛 创 办 于 1996 年, 是 每 年 在 英 国 伦 敦 举 办 的 国 际 公 众 英 语 演 讲 比 赛 (INTERNATIONAL PUBLIC SPEAKING COMPETITION)

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

为 了 衡 量 一 个 算 法 时 间 效 率 上 的 优 劣, 计 算 机 科 学 中 引 入 了 时 间 复 杂 度 的 概 念 回 忆 我 们 习 惯 使 用 的 大 O 表 示 法, 我 们 说 一 个 算 法 运 行 时 间 的 界 是 O(f(n)), 所 表 示 的 意 义 是, 假

为 了 衡 量 一 个 算 法 时 间 效 率 上 的 优 劣, 计 算 机 科 学 中 引 入 了 时 间 复 杂 度 的 概 念 回 忆 我 们 习 惯 使 用 的 大 O 表 示 法, 我 们 说 一 个 算 法 运 行 时 间 的 界 是 O(f(n)), 所 表 示 的 意 义 是, 假 论 程 序 底 层 优 化 的 一 些 方 法 与 技 巧 成 都 七 中 骆 可 强 摘 要 : 本 文 以 优 化 程 序 运 行 的 时 间 效 率 为 目 地, 从 编 译 器 汇 编 代 码 CPU 特 性 等 较 为 底 层 的 概 念 着 眼, 对 程 序 优 化 进 行 了 全 方 位 的 探 讨, 总 结 了 在 优 化 中 实 用 的 思 想 原 则 方 法 和 技 巧, 并 对

More information

我 覺 得 流 病 的 各 單 元 之 間 常 常 都 有 相 連 的 觀 念, 中 間 要 是 有 觀 念 不 清 楚, 後 面 的 東 西 有 時 會 比 較 接 不 上 來 重 要 的 解 釋 名 詞 都 有 要 好 好 背, 容 易 考 的 申 論 題 要 整 理 成 筆 記 4. 衛 生

我 覺 得 流 病 的 各 單 元 之 間 常 常 都 有 相 連 的 觀 念, 中 間 要 是 有 觀 念 不 清 楚, 後 面 的 東 西 有 時 會 比 較 接 不 上 來 重 要 的 解 釋 名 詞 都 有 要 好 好 背, 容 易 考 的 申 論 題 要 整 理 成 筆 記 4. 衛 生 國 立 臺 灣 師 範 大 學 104( 下 ) 年 度 申 請 國 家 考 試 獎 學 金 心 得 分 享 蔡 臻 ( 衛 教 系 ) 104 普 考 - 衛 生 行 政 一. 準 備 歷 程 大 四 上 學 期 + 畢 業 後 半 年, 約 一 年 1. 大 三 升 大 四 的 暑 假 : 這 個 暑 假 我 一 直 在 思 考 我 是 要 繼 續 修 教 育 學 程 考 健 康 教 育 老 師

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

Microsoft Word - 中耳的主要疾病~中耳炎.doc

Microsoft Word - 中耳的主要疾病~中耳炎.doc 投 稿 類 別 : 生 物 類 篇 名 : 中 耳 的 主 要 疾 病 中 耳 炎 作 者 : 周 譽 積 市 立 大 理 高 中 高 307 班 李 宗 遠 市 立 大 理 高 中 高 307 班 林 岑 聿 市 立 大 理 高 中 高 307 班 指 導 老 師 : 牟 建 明 老 師 - 0 - 壹 前 言 中 耳 的 主 要 疾 病 中 耳 炎 一 研 究 目 的 我 們 常 聽 到 一 些

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

Lorem ipsum dolor sit amet, consectetuer adipiscing elit

Lorem ipsum dolor sit amet, consectetuer adipiscing elit English for Study in Australia 留 学 澳 洲 英 语 讲 座 Lesson 3: Make yourself at home 第 三 课 : 宾 至 如 归 L1 Male: 各 位 朋 友 好, 欢 迎 您 收 听 留 学 澳 洲 英 语 讲 座 节 目, 我 是 澳 大 利 亚 澳 洲 广 播 电 台 的 节 目 主 持 人 陈 昊 L1 Female: 各 位

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

Microsoft Word - 09.數學136-281.docx

Microsoft Word - 09.數學136-281.docx 136. 計 算 梯 型 面 積 (1 分 ) 請 以 JAVA 運 算 式 計 算 下 面 梯 形 面 積, 並 輸 出 面 積 結 果 梯 形 面 積 公 式 為 :( 上 底 + 下 底 ) 高 2 每 一 組 依 序 分 別 輸 入 梯 形 的 上 底 下 底 及 高 的 整 數 輸 出 梯 形 面 積 輸 入 輸 出 94 190 120 99 54 47 137. 計 算 三 角 形 面

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

四川省普通高等学校

四川省普通高等学校 四 川 省 普 通 高 等 学 校 计 算 机 应 用 知 识 和 能 力 等 级 考 试 考 试 大 纲 (2013 年 试 行 版 ) 四 川 省 教 育 厅 计 算 机 等 级 考 试 中 心 2013 年 1 月 目 录 一 级 考 试 大 纲 1 二 级 考 试 大 纲 6 程 序 设 计 公 共 基 础 知 识 6 BASIC 语 言 程 序 设 计 (Visual Basic) 9

More information

TX-NR3030_BAS_Cs_ indd

TX-NR3030_BAS_Cs_ indd TX-NR3030 http://www.onkyo.com/manual/txnr3030/adv/cs.html Cs 1 2 3 Speaker Cable 2 HDMI OUT HDMI IN HDMI OUT HDMI OUT HDMI OUT HDMI OUT 1 DIGITAL OPTICAL OUT AUDIO OUT TV 3 1 5 4 6 1 2 3 3 2 2 4 3 2 5

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

epub 61-2

epub 61-2 2 Web Dreamweaver UltraDev Dreamweaver 3 We b We b We Dreamweaver UltraDev We b Dreamweaver UltraDev We b We b 2.1 Web We b We b D r e a m w e a v e r J a v a S c r i p t We b We b 2.1.1 Web We b C C +

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_06

Microsoft PowerPoint - C15_LECTURE_NOTE_06 61 Flag-Control 8088/8086 MICROPROCESSOR PROGRAMMING CONTROL FLOW INSTRUCTIONS AND PROGRAM STRUCTURES LAHF SAHF CLC STC CMC CLI STI Load AH from flags Store AH into flags Clear carry flag Set carry flag

More information

提纲

提纲 VGUS 3.2 用 户 开 发 指 南 (V3.2 2015.12) 武 汉 中 显 科 技 有 限 公 司 目 录 1 VGUS 屏 概 述... 4 1.1 认 识 中 显 VGUS 屏... 4 1.2 开 发 流 程... 5 1.3 集 成 大 容 量 Flash 存 储 器... 7 1.4 USB 下 载 及 SD 卡 下 载... 8 2 串 口 操 作... 11 2.1 串 口

More information

Perl

Perl Perl 磊 Goal Introduction The first perl program Basical coding style Variable Data structure Control structure Regular expression Lab Reference Outline The first perl program Just type this following string

More information

标题:【翻译】突破win2003 sp2中基于硬件的DEP

标题:【翻译】突破win2003 sp2中基于硬件的DEP 前置知识 : 汇编关键词 : 漏洞 Shellcode 堆栈 菜鸟版 Exploit 编写指南之五十六 : 2009 年第 10 期 突破 Windows 2003 基于硬件的 DEP 文 / david kennedy 译 / riusksk 创建数据执行保护 DEP(Data Exectution Protection) 的初衷是为了防止不可运行 的内存区域运行代码 在写本文之前, 我仔细阅读了

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_06

Microsoft PowerPoint - C15_LECTURE_NOTE_06 8088/8086 MICROPROCESSOR PROGRAMMING CONTROL FLOW INSTRUCTIONS AND PROGRAM STRUCTURES 8088/8086 MICROPROCESSOR PROGRAMMING CONTROL FLOW INSTRUCTIONS AND PROGRAM STRUCTURES 61 Flag-Control 62 Compare 63

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

中国矿业大学研招办

中国矿业大学研招办 中 国 矿 业 大 学 研 究 生 院 中 国 矿 业 大 学 2016 年 硕 士 研 究 生 复 试 录 取 工 作 实 施 办 法 各 学 院 : 研 究 生 院 通 字 [2016]5 号 为 做 好 2016 年 硕 士 研 究 生 复 试 录 取 工 作, 根 据 教 育 部 和 江 苏 省 研 究 生 招 生 工 作 有 关 文 件 精 神, 结 合 我 校 实 际 情 况, 制 定

More information

药大研〔2015〕78号

药大研〔2015〕78号 中 国 药 科 大 学 学 位 授 权 点 合 格 评 估 (2014-2019 年 ) 工 作 方 案 一 评 估 工 作 - 2 - 二 评 估 范 围 ( 一 )2014-2019 年 学 位 授 权 点 合 格 评 估 范 围 : - 3 - ( 二 )2014-2015 年 学 位 授 权 点 专 项 评 估 范 围 : 三 评 估 组 织 - 4 - 学 位 授 权 点 名 称 学 位

More information