




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、二進(jìn)制炸彈實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)?zāi)康模?通過二進(jìn)制炸彈實(shí)驗(yàn),熟悉匯編語言及其機(jī)器碼表示,熟悉GDB調(diào)試工具。實(shí)驗(yàn)簡介:這個(gè)實(shí)驗(yàn)是一個(gè)過關(guān)游戲,共有6關(guān)。在一臺(tái)Linux服務(wù)器上有一個(gè)可執(zhí)行的炸彈文件,運(yùn)行它游戲就開始了。每一關(guān)相當(dāng)于是一扇門,要求你輸入密碼,只有密碼正確才能通過,進(jìn)入下一關(guān),否則它會(huì)“爆炸”,每輸入錯(cuò)誤一次就會(huì)“爆炸”一次,服務(wù)器會(huì)記錄你“爆炸”的次數(shù),“爆炸”次數(shù)越多扣分越多。你是一位“黑客”,你所擁有的所有資源就是這個(gè)可執(zhí)行的炸彈文件,你需要破譯這個(gè)炸彈文件,從中找出每一關(guān)的過關(guān)密碼,如果破譯錯(cuò)誤,你需要付出相應(yīng)的代價(jià)。實(shí)驗(yàn)流程:一、 使用PuTTy登錄并修改密碼l PuTTY 是一
2、套免費(fèi)的SSH/Telnet 程序,相當(dāng)于一個(gè)跨平臺(tái)的遠(yuǎn)程登錄工具,通過它登錄遠(yuǎn)程Linux主機(jī)進(jìn)行實(shí)驗(yàn)操作。l 登錄后通過passwd username指令修改密碼。二、 反匯編并利用winscp工具下載反匯編代碼l 通過ls指令顯示當(dāng)前目錄下的文件,找到壓縮包bomb56.tar,即目標(biāo)炸彈。通過tar xvf bomb56.tar解壓此壓縮包,然后再通過ls顯示解壓出的文件:bomb、bomb.c和README。l 通過objdump d bomb >>bomb.txt將炸彈程序反匯編并重定向到bomb.txt,通過ls顯示反匯編出的代碼文件bomb.txt。l 打開wins
3、cp工具,登錄到遠(yuǎn)程主機(jī),將遠(yuǎn)程主機(jī)上的文件下載到本機(jī)上,便于查看。三、 查看目標(biāo)文件并做好調(diào)試準(zhǔn)備l 文件介紹:bomb.txt:反匯編得到的代碼文件,也是主要研究的目標(biāo)文件。bomb.c:主函數(shù),通過調(diào)用每一關(guān)的函數(shù)實(shí)現(xiàn),未顯示每關(guān)的具體代碼。bomb:炸彈程序,當(dāng)調(diào)試得出每一關(guān)的密碼后打開程序運(yùn)行來拆炸彈。l 通過gdb bomb指令進(jìn)入gdb調(diào)試環(huán)境。l 大致瀏覽反匯編代碼,可以觀察到整個(gè)程序一共有六關(guān),分別為phase_1到phase_6,并有一關(guān)隱藏關(guān)secret_phase,每次輸入錯(cuò)誤時(shí)會(huì)調(diào)用引爆函數(shù)explode_bomb,因此為避免調(diào)試時(shí)引爆炸彈,需要首先在引爆函數(shù)前設(shè)置斷
4、點(diǎn),即break explode_bomb。四、 第一關(guān)炸彈拆除08048c10 <phase_1>: 8048c10:83 ec 1c sub $0x1c,%esp /取0x8049a04處的內(nèi)容存入%esp+4 8048c13:c7 44 24 04 04 9a 04 movl $0x8049a04,0x4(%esp) 8048c1a:08 /取用戶輸入的內(nèi)容存入%esp 8048c1b:8b 44 24 20 mov 0x20(%esp),%eax 8048c1f:89 04 24 mov %eax,(%esp) /調(diào)用字符串比較函數(shù) 8048c22:e8 1d 04 00
5、00 call 8049044 <strings_not_equal> /判斷%eax是否為0,為0跳轉(zhuǎn),不為0引爆 8048c27:85 c0 test %eax,%eax 8048c29:74 05 je 8048c30 <phase_1+0x20> 8048c2b:e8 a3 09 00 00 call 80495d3 <explode_bomb> /撤銷棧楨,返回 8048c30:83 c4 1c add $0x1c,%esp 8048c33:c3 ret 程序流程:1. 取內(nèi)存地址0x8049a04處的內(nèi)容;2. 取用戶輸入的內(nèi)容(即密碼);3.
6、比較兩者的值,相等則%eax置為0,進(jìn)入下一關(guān),不相等則調(diào)用引爆程序引爆炸彈。破解思路:通過p (char *) 0x8049a04指令取出該地址的字符串,得到: 因此第一關(guān)的密碼:For NASA, space is still a high priority.五、 第二關(guān)炸彈拆除08048c34 <phase_2>: 8048c34:53 push %ebx 8048c35:83 ec 38 sub $0x38,%esp 8048c38:8d 44 24 18 lea 0x18(%esp),%eax 8048c3c:89 44 24 04 mov %eax,0x4(%esp)
7、/取用戶輸入的內(nèi)容,存入%esp 8048c40:8b 44 24 40 mov 0x40(%esp),%eax 8048c44:89 04 24 mov %eax,(%esp) /調(diào)用函數(shù)read_six_numbers 8048c47:e8 8c 0a 00 00 call 80496d8 <read_six_numbers> /比較第一個(gè)輸入的的數(shù)是否為1 8048c4c:83 7c 24 18 01 cmpl $0x1,0x18(%esp) /若為1則跳轉(zhuǎn)下一步,否則引爆 8048c51:74 05 je 8048c58 <phase_2+0x24> 8048c
8、53:e8 7b 09 00 00 call 80495d3 <explode_bomb> /設(shè)置循環(huán)變量初始值%ebx=1 8048c58:bb 01 00 00 00 mov $0x1,%ebx /循環(huán)開始 /保存當(dāng)前循環(huán)變量 %eax <- %ebx 8048c5d:89 d8 mov %ebx,%eax /循環(huán)變量后移 %edx <- %ebx+=1 8048c5f:83 c3 01 add $0x1,%ebx 8048c62:89 da mov %ebx,%edx /%edx *= *(%esp+%eax*4+14) 8048c64:0f af 54 84 1
9、4 imul 0x14(%esp,%eax,4),%edx /比較%edx與*(%esp+%eax*4+18) 8048c69:39 54 84 18 cmp %edx,0x18(%esp,%eax,4) /相等則跳轉(zhuǎn)下一步,否則引爆 8048c6d:74 05 je 8048c74 <phase_2+0x40> 8048c6f:e8 5f 09 00 00 call 80495d3 <explode_bomb> /比較%ebx是否為6,不等則繼續(xù)循環(huán) 8048c74:83 fb 06 cmp $0x6,%ebx 8048c77:75 e4 jne 8048c5d &l
10、t;phase_2+0x29> /循環(huán)結(jié)束,撤銷棧楨,返回 8048c79:83 c4 38 add $0x38,%esp 8048c7c:5b pop %ebx 8048c7d:c3 ret 程序流程:1. 讀取用戶輸入內(nèi)容(為6個(gè)數(shù)字);2. 判斷輸入的第一個(gè)值是否為1,不是則引爆炸彈;3. 做一個(gè)6次循環(huán),判斷后一個(gè)數(shù)是否等于前一個(gè)數(shù)乘當(dāng)前循環(huán)變量,不是則引爆炸彈;4. 六個(gè)數(shù)字判斷相等結(jié)束后,進(jìn)入下一關(guān)破解思路:設(shè)輸入內(nèi)容為一個(gè)數(shù)組Key6,則可知Key0=1,Keyi+1=Keyi*(i+1)。因此第二關(guān)的密碼是:1 2 6 24 120 720六、 第三關(guān)炸彈拆除08048c
11、7e <phase_3>: 8048c7e:83 ec 2c sub $0x2c,%esp /用戶輸入的參數(shù)2存在%esp+1c 8048c81:8d 44 24 1c lea 0x1c(%esp),%eax 8048c85:89 44 24 0c mov %eax,0xc(%esp) /用戶輸入的參數(shù)1存在%esp+18 8048c89:8d 44 24 18 lea 0x18(%esp),%eax 8048c8d:89 44 24 08 mov %eax,0x8(%esp) /取出地址8049dfa中的內(nèi)容”%d %d” 8048c91:c7 44 24 04 fa 9d 04
12、 movl $0x8049dfa,0x4(%esp) 8048c98:08 8048c99:8b 44 24 30 mov 0x30(%esp),%eax 8048c9d:89 04 24 mov %eax,(%esp) /調(diào)用sscanf函數(shù),傳入輸入?yún)?shù) 8048ca0:e8 6b fc ff ff call 8048910 <_isoc99_sscanfplt> /判斷返回值是否大于1,大于則引爆 8048ca5:83 f8 01 cmp $0x1,%eax 8048ca8:7f 05 jg 8048caf <phase_3+0x31> 8048caa:e8 24
13、 09 00 00 call 80495d3 <explode_bomb> /比較參數(shù)1是否大于7,大于則引爆 8048caf:83 7c 24 18 07 cmpl $0x7,0x18(%esp) 8048cb4:77 66 ja 8048d1c <phase_3+0x9e> /把參數(shù)1存入%eax,作為地址搜索變量 8048cb6:8b 44 24 18 mov 0x18(%esp),%eax /跳轉(zhuǎn)到地址0x8049a60+4*%eax處 8048cba:ff 24 85 60 9a 04 08 jmp *0x8049a60(,%eax,4) /參數(shù)1為1時(shí)跳轉(zhuǎn)到
14、此處,并繼續(xù)跳轉(zhuǎn) 8048cc1:b8 00 00 00 00 mov $0x0,%eax /1 8048cc6:eb 05 jmp 8048ccd <phase_3+0x4f> /參數(shù)1為0時(shí)跳轉(zhuǎn)到此處,并繼續(xù)跳轉(zhuǎn) 8048cc8:b8 40 01 00 00 mov $0x140,%eax /0 8048ccd:2d a6 00 00 00 sub $0xa6,%eax 8048cd2:eb 05 jmp 8048cd9 <phase_3+0x5b> /參數(shù)1為2時(shí)跳轉(zhuǎn)到此處,并繼續(xù)跳轉(zhuǎn) 8048cd4:b8 00 00 00 00 mov $0x0,%eax /2
15、 8048cd9:05 b6 01 00 00 add $0x1b6,%eax 8048cde:eb 05 jmp 8048ce5 <phase_3+0x67>/參數(shù)1為3時(shí)跳轉(zhuǎn)到此處,并繼續(xù)跳轉(zhuǎn) 8048ce0:b8 00 00 00 00 mov $0x0,%eax /3 8048ce5:2d db 01 00 00 sub $0x1db,%eax 8048cea:eb 05 jmp 8048cf1 <phase_3+0x73> /參數(shù)1為4時(shí)跳轉(zhuǎn)到此處,并繼續(xù)跳轉(zhuǎn) 8048cec:b8 00 00 00 00 mov $0x0,%eax /4 8048cf1:05
16、 6d 03 00 00 add $0x36d,%eax 8048cf6:eb 05 jmp 8048cfd <phase_3+0x7f> /參數(shù)1為5時(shí)跳轉(zhuǎn)到此處,并繼續(xù)跳轉(zhuǎn) 8048cf8:b8 00 00 00 00 mov $0x0,%eax /5 8048cfd:2d f4 00 00 00 sub $0xf4,%eax 8048d02:eb 05 jmp 8048d09 <phase_3+0x8b> /參數(shù)1為6時(shí)跳轉(zhuǎn)到此處,并繼續(xù)跳轉(zhuǎn) 8048d04:b8 00 00 00 00 mov $0x0,%eax /6 8048d09:05 f4 00 00 0
17、0 add $0xf4,%eax 8048d0e:eb 05 jmp 8048d15 <phase_3+0x97> /參數(shù)1為7時(shí)跳轉(zhuǎn)到此處,并繼續(xù)跳轉(zhuǎn) 8048d10:b8 00 00 00 00 mov $0x0,%eax /7 8048d15:2d 9e 02 00 00 sub $0x29e,%eax 8048d1a:eb 0a jmp 8048d26 <phase_3+0xa8> 8048d1c:e8 b2 08 00 00 call 80495d3 <explode_bomb> 8048d21:b8 00 00 00 00 mov $0x0,%e
18、ax /比較參數(shù)1是否大于5,大于則引爆 8048d26:83 7c 24 18 05 cmpl $0x5,0x18(%esp) 8048d2b:7f 06 jg 8048d33 <phase_3+0xb5> /比較參數(shù)2與計(jì)算得到的%eax是否相等 8048d2d:3b 44 24 1c cmp 0x1c(%esp),%eax /相等則返回,不相等則引爆 8048d31:74 05 je 8048d38 <phase_3+0xba> 8048d33:e8 9b 08 00 00 call 80495d3 <explode_bomb> 8048d38:83
19、c4 2c add $0x2c,%esp 8048d3b:c3 ret 程序流程:1. 讀取輸入?yún)?shù)1和參數(shù)2,調(diào)用ssanf函數(shù)傳入兩個(gè)參數(shù);2. 比較參數(shù)1與7的大小,小于等于7繼續(xù),大于7引爆;3. 根據(jù)參數(shù)1的值來搜索跳轉(zhuǎn)地址,計(jì)算得到最終的%eax;4. 比較參數(shù)1與5的大小,小于等于5繼續(xù),大于5引爆;5. 比較參數(shù)2與計(jì)算得到的%eax是否相等,相等則進(jìn)入下一關(guān),不相等則引爆。破解思路:首先我們通過p(char *)8049dfa讀取該內(nèi)存地址中的內(nèi)容: 可知輸入的兩個(gè)參數(shù)都是整數(shù),并且進(jìn)一步我們知道參數(shù)1小于等于7(無符合數(shù)),那么參數(shù)1只能是0 1 2 3 4 5 6 7。根
20、據(jù)參數(shù)1的值得到跳轉(zhuǎn)地址向量表:因此我們可以得到一個(gè)Switch函數(shù)表:Case 參數(shù)1 = 0:參數(shù)2 = 0x(140+a6+1b6-1db+36d-f4+f4-29e)=0x290=656;Case 參數(shù)1 = 1:參數(shù)2 = 0x(a6+1b6-1db+36d-f4+f4-29e)=0x150=336;Case 參數(shù)1 = 2:參數(shù)2 = 0x(1b6-1db+36d-f4+f4-29e)=0xaa=170;Case 參數(shù)1 = 3:參數(shù)2 = 0x(-1db+36d-f4+f4-29e)=0xfef4=-268;Case 參數(shù)1 = 4:參數(shù)2 = 0x(36d-f4+f4-29e)
21、=0xcf=207;Case 參數(shù)1 = 5:參數(shù)2 = 0x(-f4+f4-29e)=0xfd62=-670;Case 參數(shù)1 = 6:參數(shù)2 = 0x(f4-29e)=0xfe56=-426;Case 參數(shù)1 = 7:參數(shù)2 = 0x(-29e)=0xfd62=-670;注意到最后有個(gè)判斷條件要求參數(shù)1小于等于5:因此第三關(guān)的密碼是(以下任一組):0 656;1 336;2 170;3 -268;4 207;5 -670七、 第四關(guān)炸彈拆除:08048d7b <phase_4>: 8048d7b:83 ec 2c sub $0x2c,%esp /用戶輸入的參數(shù)存在%esp+1c
22、 8048d7e:8d 44 24 1c lea 0x1c(%esp),%eax 8048d82:89 44 24 08 mov %eax,0x8(%esp) /讀取地址0x8049dfd的內(nèi)容 8048d86:c7 44 24 04 fd 9d 04 movl $0x8049dfd,0x4(%esp) 8048d8d:08 8048d8e:8b 44 24 30 mov 0x30(%esp),%eax 8048d92:89 04 24 mov %eax,(%esp) /調(diào)用函數(shù)sscanf 8048d95:e8 76 fb ff ff call 8048910 <_isoc99_ssc
23、anfplt> /比較返回值是否等于1,不等則引爆 8048d9a:83 f8 01 cmp $0x1,%eax 8048d9d:75 07 jne 8048da6 <phase_4+0x2b> /比較輸入?yún)?shù)與0的大小,小于等于則引爆 8048d9f:83 7c 24 1c 00 cmpl $0x0,0x1c(%esp) 8048da4:7f 05 jg 8048dab <phase_4+0x30> 8048da6:e8 28 08 00 00 call 80495d3 <explode_bomb> /把輸入?yún)?shù)傳入函數(shù)func4,調(diào)用函數(shù)func4
24、 8048dab:8b 44 24 1c mov 0x1c(%esp),%eax 8048daf:89 04 24 mov %eax,(%esp) 8048db2:e8 85 ff ff ff call 8048d3c <func4> /比較返回值是否等于0x1055,不等則引爆 8048db7:3d 55 10 00 00 cmp $0x1055,%eax 8048dbc:74 05 je 8048dc3 <phase_4+0x48> 8048dbe:e8 10 08 00 00 call 80495d3 <explode_bomb> /相等則撤銷棧楨,返
25、回 8048dc3:83 c4 2c add $0x2c,%esp 8048dc6:c3 ret 主程序流程:1. 讀取參數(shù),調(diào)用sscanf函數(shù)傳入?yún)?shù);2. 比較輸入?yún)?shù)與0的大小,小于等于則引爆;3. 把輸入?yún)?shù)傳入函數(shù)func4,并調(diào)用函數(shù)func4;4. 若函數(shù)func4返回值等于0x1055,則返回,進(jìn)入下一關(guān),否則引爆炸彈。08048d3c <func4>: 8048d3c:83 ec 1c sub $0x1c,%esp 8048d3f:89 5c 24 14 mov %ebx,0x14(%esp) 8048d43:89 74 24 18 mov %esi,0x18(
26、%esp) /把參數(shù)傳入%ebx 8048d47:8b 5c 24 20 mov 0x20(%esp),%ebx 8048d4b:b8 01 00 00 00 mov $0x1,%eax /比較%ebx與1的大小,大于則繼續(xù) 8048d50:83 fb 01 cmp $0x1,%ebx 8048d53:7e 1a jle 8048d6f <func4+0x33> /%eax<-%ebx-1并傳入func4繼續(xù)遞歸 8048d55:8d 43 ff lea -0x1(%ebx),%eax 8048d58:89 04 24 mov %eax,(%esp) 8048d5b:e8 d
27、c ff ff ff call 8048d3c <func4> /%esi=%eax,%ebx-=2 8048d60:89 c6 mov %eax,%esi 8048d62:83 eb 02 sub $0x2,%ebx /%esp<-%ebx,并傳入fun4繼續(xù)遞歸 8048d65:89 1c 24 mov %ebx,(%esp) 8048d68:e8 cf ff ff ff call 8048d3c <func4> /%eax += %esi 8048d6d:01 f0 add %esi,%eax /%ebx<=1,返回 8048d6f:8b 5c 24
28、14 mov 0x14(%esp),%ebx 8048d73:8b 74 24 18 mov 0x18(%esp),%esi 8048d77:83 c4 1c add $0x1c,%esp 8048d7a:c3 ret func4函數(shù)流程:1. 比較傳入?yún)?shù)是否大于1,大于1則繼續(xù),小于等于1則返回1;2. 循環(huán)%eax <- %ebx-1,并遞歸調(diào)用函數(shù)func4,直到參數(shù)小于等于1;3. 循環(huán)變量%ebx每次減2,并傳入%esp繼續(xù)遞歸調(diào)用函數(shù)func4;4. 函數(shù)返回的所得值加到%eax;破解思路:首先我們通過p(char *)0x8049dfd讀取該內(nèi)存地址中的內(nèi)容:可知輸入?yún)?shù)
29、為一個(gè)整數(shù),進(jìn)一步我們發(fā)現(xiàn)它大于0。為了更好地理解func4函數(shù),我們可以寫出其大致的框架:通過列舉或用C程序跑該函數(shù)可以得到:Func4(0)=1;Func4(1)=1;Func4(2)=2;Func4(3)=3;Func4(4)=5;Func4(5)=8;Func4(6)=13;Func4(7)=21;Func4(8)=34;Func4(9)=55;Func4(10)=89;Func4(11)=144;Func4(12)=233;Func4(13)=377;Func4(14)=610;Func4(15)=987;Func4(16)=1597;Func4(17)=2584;Func4(18)
30、=4181=0x1055。因此第四關(guān)的密碼是:18八、 第五關(guān)炸彈拆除08048dc7 <phase_5>: 8048dc7:53 push %ebx 8048dc8:83 ec 18 sub $0x18,%esp 8048dcb:8b 5c 24 20 mov 0x20(%esp),%ebx 8048dcf:89 1c 24 mov %ebx,(%esp) /調(diào)用string_length函數(shù) 8048dd2:e8 54 02 00 00 call 804902b <string_length> /比較字符串長度,不等于6則引爆 8048dd7:83 f8 06 cm
31、p $0x6,%eax 8048dda:74 05 je 8048de1 <phase_5+0x1a> 8048ddc:e8 f2 07 00 00 call 80495d3 <explode_bomb> /把%edx和%eax初始化置0 8048de1:ba 00 00 00 00 mov $0x0,%edx /循環(huán)開始 8048de6:b8 00 00 00 00 mov $0x0,%eax /%ecx <- (%ebx+%eax) 8048deb:0f be 0c 03 movsbl (%ebx,%eax,1),%ecx /取%ecx中的內(nèi)容的低四位 804
32、8def:83 e1 0f and $0xf,%ecx /%edx += *(0x8049a80+4*%ecx) 8048df2:03 14 8d 80 9a 04 08 add 0x8049a80(,%ecx,4),%edx /循環(huán)變量%eax+=1 8048df9:83 c0 01 add $0x1,%eax /比較循環(huán)變量%eax與6,不等則再循環(huán) 8048dfc:83 f8 06 cmp $0x6,%eax 8048dff:75 ea jne 8048deb <phase_5+0x24> /循環(huán)結(jié)束 /比較%edx是否等于0x36,不等則引爆 8048e01:83 fa 3
33、6 cmp $0x36,%edx 8048e04:74 05 je 8048e0b <phase_5+0x44> 8048e06:e8 c8 07 00 00 call 80495d3 <explode_bomb> /相等則撤銷棧楨,返回 8048e0b:83 c4 18 add $0x18,%esp 8048e0e:5b pop %ebx 8048e0f:90 nop8048e10:c3 ret程序流程:1. 調(diào)用string_length的字符串長度函數(shù),測得的長度若不為6則引爆;2. 做一個(gè)6次的循環(huán),循環(huán)變量%eax從1到6,令%ecx<-(%ebx+%e
34、ax);3. 只保留%ecx的低四位,并以此作為地址搜索變量,取出0x8049a80+4*%ecx中的數(shù)加到%edx上,如此循環(huán)6次后跳出;4. 比較總和%edx的值是否等于0x36(54),相等則返回進(jìn)入下一關(guān),不等則引爆。破解思路:首先我們得知輸入的字符串長度為6,然后通過p /x *(0x8049a80+4*%ecx)的指令得到:上述值分別對(duì)應(yīng)%eax=04。因?yàn)樽址跈C(jī)器中是以ASCII碼的形式存儲(chǔ),因此我們要尋找的一個(gè)6位字符串要滿足其每個(gè)字符的ASCII碼位數(shù)對(duì)應(yīng)的值相加為0x36即54。因此不妨取3*(c+6)=0x36,即取ASCII碼位數(shù)(16進(jìn)制)分別為2和4的的字母,例如
35、B(42H)和D(44H),重復(fù)三次即可。因此第五關(guān)的密碼為(不唯一):BBBDDD九、 第六關(guān)炸彈拆除08048e11 <phase_6>: 8048e11:56 push %esi 8048e12:53 push %ebx 8048e13:83 ec 44 sub $0x44,%esp 8048e16:8d 44 24 10 lea 0x10(%esp),%eax 8048e1a:89 44 24 04 mov %eax,0x4(%esp) 8048e1e:8b 44 24 50 mov 0x50(%esp),%eax 8048e22:89 04 24 mov %eax,(%e
36、sp) /調(diào)用函數(shù)read_six_numbers 8048e25:e8 ae 08 00 00 call 80496d8 <read_six_numbers> /初始化循環(huán)變量%esi=0 8048e2a:be 00 00 00 00 mov $0x0,%esi /循環(huán)1開始 /%eax <- *(%esp+4*%esi) 8048e2f:8b 44 b4 10 mov 0x10(%esp,%esi,4),%eax /比較%eax-1是否大于5(無符號(hào)數(shù)) 8048e33:83 e8 01 sub $0x1,%eax 8048e36:83 f8 05 cmp $0x5,%e
37、ax /小于等于則繼續(xù) 8048e39:76 05 jbe 8048e40 <phase_6+0x2f> 8048e3b:e8 93 07 00 00 call 80495d3 <explode_bomb> /循環(huán)變量%esi+=1 8048e40:83 c6 01 add $0x1,%esi /判斷%esi是否等于6,等于則跳出循環(huán) 8048e43:83 fe 06 cmp $0x6,%esi 8048e46:74 33 je 8048e7b <phase_6+0x6a> /%ebx=%esi 8048e48:89 f3 mov %esi,%ebx /取出%esp+4*%ebx+10 8048e4a:8b 44 9c 10 mov 0x10(%esp,%ebx,4),%eax /與%esp+4*%esi+c比較,相等則引爆 8048e4e:39 44 b4 0c cmp %eax,0xc(%esp,%esi,4) 8048e52:75 05 jne 8048e59 <phase_6+0x48> 8048e54:e8 7a 07 00 00 call 80495d3 <exp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 區(qū)塊鏈金融的未來之星DeFi項(xiàng)目的創(chuàng)新融資模式
- 2025年管理人員崗前安全培訓(xùn)考試試題及答案高清
- 2025年日常安全培訓(xùn)考試試題及一套參考答案
- 農(nóng)村電商實(shí)操方案設(shè)計(jì)試題及答案
- 2024-2025企業(yè)管理人員安全培訓(xùn)考試試題帶答案(模擬題)
- 2025年中國MDI行業(yè)市場運(yùn)行態(tài)勢、進(jìn)出口貿(mào)易及發(fā)展趨勢預(yù)測報(bào)告
- 二零二五版直播主播合同書范例
- 介紹費(fèi)合同書協(xié)議書范例二零二五年
- 汽車車身光粘結(jié)技術(shù)-全面剖析
- 和解膏藥企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級(jí)戰(zhàn)略研究報(bào)告
- 2025鄂爾多斯準(zhǔn)格爾旗事業(yè)單位引進(jìn)40名高層次人才和急需緊缺專業(yè)人才筆試備考試題及答案解析
- 銀行領(lǐng)導(dǎo)力培養(yǎng)試題及答案
- 中醫(yī)養(yǎng)生館運(yùn)營方案中醫(yī)養(yǎng)生館策劃書
- 醫(yī)療社工筆試題及答案
- 新時(shí)期統(tǒng)戰(zhàn)知識(shí)課件
- 小學(xué)生眼保健操視頻課件
- 西藏參工參建管理制度
- 2024銀行春招招聘面試問答試題及答案
- 機(jī)械系統(tǒng)動(dòng)力學(xué)試題及答案
- 中華文學(xué)經(jīng)典導(dǎo)讀知到課后答案智慧樹章節(jié)測試答案2025年春牡丹江師范學(xué)院
- 小學(xué)教育學(xué)(第5版)課件 第八章 小學(xué)教育環(huán)境
評(píng)論
0/150
提交評(píng)論