日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

让天之痕窗口化运行!

發布時間:2023/12/10 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让天之痕窗口化运行! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
說明:游戲版本是簡體中文2.02版,其它版本估計部分地址不完全一樣,僅作參考。
??
??這個游戲比較古老了,用的DirectDraw來繪制2D圖像,在創建DirectDraw對象之后,調用SetCooperativeLevel函數來確定是否全屏顯示。但是SetCooperativeLevel這個函數沒有在DDRAW.DLL的輸出表里面,直接下斷點找不到,只能對DirectDrawCreate下斷點了。下斷之后運行,一開始的對話框中選擇繼續游戲,程序中斷在DDRAW.DLL里面,回到程序,來到:
??0043C0E0????????????51??????????????PUSH????ECX
??0043C0E1????????????56??????????????PUSH????ESI
??0043C0E2????????????8D4424?04???????LEA?????EAX,DWORD?PTR?SS:[ESP+4]
??0043C0E6????????????6A?00???????????PUSH????0
??0043C0E8????????????50??????????????PUSH????EAX
??0043C0E9????????????8BF1????????????MOV?????ESI,ECX
??0043C0EB????????????6A?00???????????PUSH????0
??0043C0ED????????????C74424?10?00000>MOV?????DWORD?PTR?SS:[ESP+10],0
??0043C0F5????????????E8?16400600?????CALL????<JMP.&DDRAW.DirectDrawCreate>
??0043C0FA????????????85C0????????????TEST????EAX,EAX
??0043C0FC????????????74?1A???????????JE??????SHORT?swd3_ar.0043C118
??
??0043C118????????????8B4424?04???????MOV?????EAX,DWORD?PTR?SS:[ESP+4]
??0043C11C????????????56??????????????PUSH????ESI????????????????????????????;?lpDD,保存在4C5B28
??0043C11D????????????68?A0B24A00?????PUSH????swd3_Ful.004AB2A0
??0043C122????????????50??????????????PUSH????EAX????????????????????????????;?剛創建的DirectDraw對象
??0043C123????????????8B10????????????MOV?????EDX,DWORD?PTR?DS:[EAX]
??0043C125????????????FF12????????????CALL????DWORD?PTR?DS:[EDX]?????????????;?<DDRAW.DD_QueryInterface(x,x,x)>
??0043C127????????????85C0????????????TEST????EAX,EAX
??
??往下走,返回之后來到:
??
??0043C05E????????????E8?7D000000?????CALL????<swd3_win.CreateDDraw>
??0043C063????????????83F8?01?????????CMP?????EAX,1??????????????????????????????;?在這里返回
??0043C066????????????75?24???????????JNZ?????SHORT?swd3_win.0043C08C
??0043C068????????????817C24?18?214E0>CMP?????DWORD?PTR?SS:[ESP+18],4E21?????????;?比較
??0043C070????????????75?05???????????JNZ?????SHORT?swd3_win.0043C077????????????;?把這個跳轉NOP掉
??0043C072????????????6A?08???????????PUSH????8??????????????????????????????????;?窗口模式應該從這里走
??0043C074????????????57??????????????PUSH????EDI
??0043C075????????????EB?09???????????JMP?????SHORT?swd3_win.0043C080
??0043C077????????????8B86?84000000???MOV?????EAX,DWORD?PTR?DS:[ESI+84]
??0043C07D????????????6A?13???????????PUSH????13?????????????????????????????????;?全屏模式從這里走
??0043C07F????????????50??????????????PUSH????EAX
??0043C080????????????8BCE????????????MOV?????ECX,ESI
??0043C082????????????E8?C9000000?????CALL????swd3_win.0043C150??????????????????;?里面會調用SetCooperativeLevel
??0043C087????????????83F8?01?????????CMP?????EAX,1
??0043C08A????????????74?09???????????JE??????SHORT?swd3e.0043C095???????????????;?下面是全屏運行時的設置顯示分辨率了,要跳走,改為43C0B8
??0043C08C????????????5F??????????????POP?????EDI
??
??
??
??在43C068這里比較,如果是窗口模式就PUSH?8,全屏就PUSH?13,因此把這個跳轉NOP掉。執行完SetCooperativeLevel之后,是按全屏顯示來處理,要設置顯示分辨率。窗口模式就不需要了,但是需要調用設置窗口裁減器等函數,還好本來就有這么一段程序,在43C0B8處開始,因此43C095改為43C0B8。
??運行看一下效果吧:
??
??
??確實是窗口運行了,但是成這個鬼樣子了。想一下,原來游戲內部圖像都是16位處理的,直接改成窗口之后,內部的Surface都已經是32位了,但是數據還是16位的,所以顯示完全不對了。所以在顯示之前要把16位的Buffer改成32位的。這個轉換過程要在所有繪圖已經完成往主表面上貼的時候進行,這樣才不會漏掉任何東西。所以要首先找到主表面的地址。從上面設置顯示模式的地方繼續往下走,來到:
??
??0043C0B8?????????????????????8BCE????????????MOV?????ECX,ESI???????????????????????????????;?<swd3_Ful.lpDD>
??0043C0BA?????????????????????E8?E1010000?????CALL????<swd3_Ful.CreateMainSurf>?????????????;?這個里面創建主表面,F7跟進
??0043C0BF?????????????????????83F8?01?????????CMP?????EAX,1
??0043C0C2?????????????????????74?09???????????JE??????SHORT?swd3_Ful.0043C0CD
??
??43C0BA處F7跟進,來到
??
??0043C3DE?????????????????????8B06????????????MOV?????EAX,DWORD?PTR?DS:[ESI]
??0043C3E0?????????????????????BD?7C000000?????MOV?????EBP,7C
??0043C3E5?????????????????????52??????????????PUSH????EDX????????????????????????????;?lpDDSurface
??0043C3E6?????????????????????8D5424?1C???????LEA?????EDX,DWORD?PTR?SS:[ESP+1C]
??0043C3EA?????????????????????896C24?1C???????MOV?????DWORD?PTR?SS:[ESP+1C],EBP
??0043C3EE?????????????????????C74424?20?01000>MOV?????DWORD?PTR?SS:[ESP+20],1????????;?DDSD_CAPS
??0043C3F6?????????????????????C78424?84000000>MOV?????DWORD?PTR?SS:[ESP+84],2200?????;?DDSCAPS_PRIMARYSURFACE?|?DDSCAPS_3DDEVICE
??0043C401?????????????????????8B08????????????MOV?????ECX,DWORD?PTR?DS:[EAX]
??0043C403?????????????????????52??????????????PUSH????EDX????????????????????????????;?lpDDrawSurfaceDesc
??0043C404?????????????????????50??????????????PUSH????EAX????????????????????????????;?lpDD
??0043C405?????????????????????FF51?18?????????CALL????DWORD?PTR?DS:[ECX+18]??????????;?<DDRAW.DD_CreateSurface4(x,x,x,x)>
??0043C408?????????????????????85C0????????????TEST????EAX,EAX????????????????????????;?創建主表面完成,保存在4C5B2C
??0043C40A?????????????????????74?15???????????JE??????SHORT?swd3_Ful.0043C421
??
??繼續往下走,來到:
??
??0043C496?????????????50??????????????PUSH????EAX
??0043C497?????????????6A?00???????????PUSH????0
??0043C499?????????????FFD7????????????CALL????EDI
??0043C49B?????????????50??????????????PUSH????EAX
??0043C49C?????????????8BCE????????????MOV?????ECX,ESI
??0043C49E?????????????E8?8D010000?????CALL????<swd3_Ful.CreatOffScreenSurfac>???????;創建和主頁面一樣大小的離屏表面,保存在4C5B30,這個函數是后面創建離屏表面時多次調用的函數,加上標簽方便后面識別。
??0043C4A3?????????????8946?08?????????MOV?????DWORD?PTR?DS:[ESI+8],EAX
??
??先F9運行游戲,再對4C5B2C下硬件訪問斷點,中斷在0043C8E5:
??
??0043C8C0?<swd3_ar>??8B4424?04???????MOV?????EAX,DWORD?PTR?SS:[ESP+4]????;這段程序從這里開始,獲取一個表面的指針,作上記號GetSurfacePtr
??0043C8C4????????????2D?11270000?????SUB?????EAX,2711
??...
??0043C8DF????????????C2?0400?????????RETN????4
??0043C8E2????????????8B41?04?????????MOV?????EAX,DWORD?PTR?DS:[ECX+4]
??0043C8E5????????????C2?0400?????????RETN????4???????????????????????????;從這里返回,返回的指針就是主表面的指針
??
??取消硬件斷點,查找所有調用GetSurfacePtr的地方,在所有參考下斷點,運行幾次后來到:
??
??00408B94????????????E8?273D0300?????CALL????<swd3_ar.GetSurfacePtr>
??00408B99????????????8B0D?646E4C00???MOV?????ECX,DWORD?PTR?DS:[4C6E64]
??00408B9F????????????8B10????????????MOV?????EDX,DWORD?PTR?DS:[EAX]
??00408BA1????????????6A?00???????????PUSH????0?????????????????????????????;?在這里開始打補丁,5DE000
??00408BA3????????????68?00000001?????PUSH????1000000???????????????????????;?DDBLT_WAIT
??00408BA8????????????6A?00???????????PUSH????0?????????????????????????????;?SrcRect
??00408BAA????????????51??????????????PUSH????ECX???????????????????????????;?lpSrcSurface
??00408BAB????????????6A?00???????????PUSH????0?????????????????????????????;?DestRect
??00408BAD????????????50??????????????PUSH????EAX???????????????????????????;?lpDestSurface
??00408BAE????????????FF52?14?????????CALL????DWORD?PTR?DS:[EDX+14]?????????;?<DDRAW.DD_Surface_Blt(x,x,x,x,x,x)>
??00408BB1????????????C3??????????????RETN
??
??這里就是向主表面繪圖的代碼了,要在調用Blt函數之前把SrcSurface轉換成32位的Surface。
??首先要寫一個轉換的函數,并導入到主程序的輸入表,方便后面調用。
??
??005DE000????????????60??????????????PUSHAD
??005DE001????????????51??????????????PUSH????ECX
??005DE002????????????FF15?98D15D00???CALL????DWORD?PTR?DS:[<ConvertSurface>;?Swd3e.ConvertSurface
??005DE008????????????61??????????????POPAD
??005DE009????????????6A?00???????????PUSH????0
??005DE00B????????????68?00000001?????PUSH????1000000
??005DE010????????????6A?00???????????PUSH????0
??005DE012??????????-?E9?93ABE2FF?????JMP?????swd3_ar.00408BAA??????????????;?跳回去
??
??運行看一下:
??
??主要的顏色對了,但是圖像大小還不正確,原因是Blt函數的第二個參數DestRect是0,所以顯示到整個屏幕上去了,應該把這個參數設成窗口大小。需要在程序一開始時先保存一下窗口大小,在游戲一開始選擇對話框返回之后保存。查找DialogBoxParamA,下斷點:
??
??0040A66C????????????50??????????????PUSH????EAX
??0040A66D????????????FF15?9CA14A00???CALL????DWORD?PTR?DS:[<&USER32.Dialog>;?游戲一開始的對話框,在這里下斷點
??0040A673????????????48??????????????DEC?????EAX???????????????????????????;?返回之后馬上設置窗口位置并保存,5DE080
??0040A674????????????74?2E???????????JE??????SHORT?swd3_ar.0040A6A4
??0040A676????????????48??????????????DEC?????EAX
??0040A677????????????74?21???????????JE??????SHORT?swd3_ar.0040A69A
??0040A679????????????83E8?04?????????SUB?????EAX,4
??
??005DE080????????????60??????????????PUSHAD
??005DE081????????????A1?44634E00?????MOV?????EAX,DWORD?PTR?DS:[4E6344]????????????;?4E6344保存著窗口的名柄
??005DE086????????????50??????????????PUSH????EAX
??005DE087????????????FF15?4CD15D00???CALL????DWORD?PTR?DS:[<CenterWindow>]????????;?使窗口位置居中,內含保存窗口位置
??005DE08D????????????61??????????????POPAD
??005DE08E????????????48??????????????DEC?????EAX
??005DE08F??????????-?0F84?0FC6E2FF???JE??????swd3_ar.0040A6A4
??005DE095????????????48??????????????DEC?????EAX
??005DE096??????????-?0F84?FEC5E2FF???JE??????swd3_ar.0040A69A
??005DE09C????????????83E8?04?????????SUB?????EAX,4
??005DE09F??????????-?0F85?ABC3E2FF???JNZ?????swd3_ar.0040A450
??005DE0A5??????????-?E9?D8C5E2FF?????JMP?????swd3_ar.0040A682
??
??把上面5DE000作一下修改:
??
??005DE000????????????60??????????????PUSHAD
??005DE001????????????51??????????????PUSH????ECX
??005DE002????????????FF15?58D15D00???CALL????DWORD?PTR?DS:[<ConvertSurface>]??????;?Swd3e.ConvertSurface
??005DE008????????????61??????????????POPAD
??005DE009????????????6A?00???????????PUSH????0
??005DE00B????????????68?00000001?????PUSH????1000000
??005DE010????????????6A?00???????????PUSH????0
??005DE012????????????51??????????????PUSH????ECX
??005DE013????????????891D?D0DF5F00???MOV?????DWORD?PTR?DS:[<varSurfConv>],EBX
??005DE019????????????8B1D?4CD15D00???MOV?????EBX,DWORD?PTR?DS:[<rcWindow>]????????;?Swd3e.rcWindow
??005DE01F????????????53??????????????PUSH????EBX
??005DE020????????????8B1D?D0DF5F00???MOV?????EBX,DWORD?PTR?DS:[<varSurfConv>]
??005DE026????????????50??????????????PUSH????EAX
??005DE027????????????FF52?14?????????CALL????DWORD?PTR?DS:[EDX+14]
??005DE02A??????????-?E9?82ABE2FF?????JMP?????swd3_win.00408BB1
??
??一不小心點到窗口外面了,再恢復時怎么窗口位置又回去了?這個就比較簡單了,查找SetWindowPos函數,改成我們自己寫的CenterWindow函數就可以了,這個函數在40AF6A處,這里不再詳述。
??再運行一下:
??
??差不多快好了,但是中間怎么是花的呢?原來這些地方都是半透明的,程序中Alpha處理函數是按16位處理的,現在變成32位的,沒有進行修改。Alpha處理要針對每一個點的RGB進行處理,一般會調用GetPixelFormat函數,在這個地方:
??
??00427253????????????C74424?1C?20000>MOV?????DWORD?PTR?SS:[ESP+1C],20
??0042725B????????????C74424?20?40000>MOV?????DWORD?PTR?SS:[ESP+20],40
??00427263????????????FF51?54?????????CALL????DWORD?PTR?DS:[ECX+54]????????????????;?GetPixelFormat
??00427266????????????8B6C24?2C???????MOV?????EBP,DWORD?PTR?SS:[ESP+2C]????????????;?藍色掩碼
??0042726A????????????8B5C24?28???????MOV?????EBX,DWORD?PTR?SS:[ESP+28]????????????;?綠色掩碼
??0042726E????????????8B7424?24???????MOV?????ESI,DWORD?PTR?SS:[ESP+24]????????????;?紅色掩碼
??00427272????????????EB?1B???????????JMP?????SHORT?swd3_ar.0042728F???????????????;?這里NOP掉
??00427274????????????BE?007C0000?????MOV?????ESI,7C00
??00427279????????????BB?E0030000?????MOV?????EBX,3E0
??0042727E????????????BD?1F000000?????MOV?????EBP,1F
??
??上面取得RGB的掩碼之后判斷16位色下RGB各自的位數并作處理,16位色分555,565,556等多種模式,都統一成555來處理,由于改成32位色了,所以RGB的掩碼都不對了。把427272處NOP掉,默認為555色進行處理。
??再看一下:
??
??終于顏色都正常了。隨便讀一個檔開始游戲吧,結果一讀進去怎么又花了?原來大地圖和相聚檔時的轉換色深不在一個地方啊!按上面同樣方面修改,一共要修改大地圖,系統設置界面,物品買賣,戰斗等幾處。
??修改完成之后重新進行吧,發現所有字符都變成只有一半了:
??
??字符顯示一般會用到TextOut函數,在這個函數處下斷點,被斷下之后,發現是從439DB0處開始的,這個函數的作用是在一個離屏表面上繪制一個字符。這個表面是在439D2E處創建的,大小是64X64像素:
??
??00439D2C??????????8B0E????????????MOV?????ECX,DWORD?PTR?DS:[ESI]
??00439D2E??????????E8?FD280000?????CALL????<swd3_Ful.CreatOffScreenSurface(w>;?顯示一個字符用的臨時Surface
??00439D33??????????8B0E????????????MOV?????ECX,DWORD?PTR?DS:[ESI]
??
??往下走,來到:
??
??00439D68????????????FF52?58?????????CALL????DWORD?PTR?DS:[EDX+58]????????????????;?<DDRAW.DD_Surface_GetSurfaceDesc4(x,x)>
??00439D6B????????????8B4424?18???????MOV?????EAX,DWORD?PTR?SS:[ESP+18]????????????;?一行的字節數
??00439D6F????????????8B5424?10???????MOV?????EDX,DWORD?PTR?SS:[ESP+10]
??00439D73????????????D1F8????????????SAR?????EAX,1????????????????????????????????;?16位頁面右移一位變成一行的點數,32位要右移兩位
??00439D75????????????8996?DC0F0000???MOV?????DWORD?PTR?DS:[ESI+FDC],EDX
??
??從TextOutA函數往下找,來到:
??
??0043B3B9????????????8BCE????????????MOV?????ECX,ESI
??0043B3BB????????????E8?F0E9FFFF?????CALL????<swd3_ar.PrintChar>
??0043B3C0????????????8BCE????????????MOV?????ECX,ESI
??0043B3C2????????????E8?49FFFFFF?????CALL????swd3_ar.0043B310?????????????????????;?F7跟進
??
??...
??0043B31C????????????896C24?08???????MOV?????DWORD?PTR?SS:[ESP+8],EBP
??0043B320????????????50??????????????PUSH????EAX
??0043B321????????????E8?0AC4FDFF?????CALL????swd3_ar.00417730?????????????????????;?F7跟進后發現此函數是取得一個表面的數據指針
??0043B326????????????894424?10???????MOV?????DWORD?PTR?SS:[ESP+10],EAX
??0043B32A????????????8B83?D40F0000???MOV?????EAX,DWORD?PTR?DS:[EBX+FD4]
??
??在43B321處取得TextOutA寫入的字符表面的數據地址,下面就要對字符的數據進行處理了。在頁面創建和顯示字符時都是32位的,下面處理是16位的,要先把這個字符的表面改成16位的,補丁打在5DE380處:
??
??005DE380????????????E8?AB93E3FF?????CALL????<swd3_ar.GetSurfaceBuffer>
??005DE385????????????60??????????????PUSHAD
??005DE386????????????6A?40???????????PUSH????40
??005DE388????????????6A?40???????????PUSH????40
??005DE38A????????????50??????????????PUSH????EAX
??005DE38B????????????FF15?60D15D00???CALL????DWORD?PTR?DS:[<ButterTo16>]??????????;?Swd3e.BufferTo16,把32位的Surface數據轉換成16位的
??005DE391????????????61??????????????POPAD
??005DE392??????????-?E9?8FCFE5FF?????JMP?????swd3_ar.0043B326
??005DE397????????????90??????????????NOP
??
??這下字符顯示正常了。玩了一段時間之后,發現進系統界面的物品欄時,成了這個鬼樣子:
??
??
??字符的樣子正常,高度和Y坐標都變成了原來的一半,應該是向主背景頁面寫的時候出了問題。
??上面一開始創建主頁完成之后,馬上就會創建一個640X480大小的離屏背景頁面,很容易找到它的數據指針保存在4EE564處(作個記號為BackBuffer)。先在TextOutA處下斷點,斷下之后往下走,注意觀察信息窗口有沒有顯示BackBuffer的地址,一直來到這里:
??
??0043B899????????????8B4C24?28???????MOV?????ECX,DWORD?PTR?SS:[ESP+28]
??0043B89D????????????52??????????????PUSH????EDX??????????????????????????????????;?Y坐標
??0043B89E????????????8D042F??????????LEA?????EAX,DWORD?PTR?DS:[EDI+EBP]
??0043B8A1????????????53??????????????PUSH????EBX??????????????????????????????????;?X坐標
??0043B8A2????????????50??????????????PUSH????EAX
??0043B8A3????????????51??????????????PUSH????ECX??????????????????????????????????;?離屏頁面數據地址,4EE564處的值
??0043B8A4????????????8BCE????????????MOV?????ECX,ESI
??0043B8A6????????????E8?A5EFFFFF?????CALL????swd3_ar.0043A850?????????????????????;?F7跟進,往下走,注意信息窗口
??
??F7跟進之后往下走,注意信息窗口出現離屏頁面的數據地址,來到:
??
??0043A931????????????8B56?14?????????MOV?????EDX,DWORD?PTR?DS:[ESI+14]
??0043A934????????????8B4424?20???????MOV?????EAX,DWORD?PTR?SS:[ESP+20]
??0043A938????????????33DB????????????XOR?????EBX,EBX
??0043A93A????????????8B1402??????????MOV?????EDX,DWORD?PTR?DS:[EDX+EAX]
??0043A93D????????????8B4424?30???????MOV?????EAX,DWORD?PTR?SS:[ESP+30]????????????;?取到離屏頁面的起始地址
??0043A941????????????03D1????????????ADD?????EDX,ECX??????????????????????????????;?加上X坐標
??0043A943????????????8D3450??????????LEA?????ESI,DWORD?PTR?DS:[EAX+EDX*2]?????????;?目標點位置
??0043A946????????????8B4424?40???????MOV?????EAX,DWORD?PTR?SS:[ESP+40]
??
??在43A943處取得地址,是要往頁面上寫字符的點了。但是由于每個字符都要跑過這里一遍,不方便下斷點,所以想了一個笨辦法,打個補丁寫到一個文件里面。最終發現位置出錯時,在43A943處的EDX值不對,進一步跟蹤發現正常時43A931處取得的EDX指向的值都是500,出錯時變成了280,在這里打一個補丁,修正一下這個值,這里就不貼出代碼了。
??顯示正常字符時也會調用這里,所以還要設一個標志,從這個函數返回幾次之后可以來到:
??
??0044FEEA????????????B9?50634E00?????MOV?????ECX,swd3_ar.004E6350
??0044FEEF????????????E8?ACB6FEFF?????CALL????<swd3_ar.ShowString_Buf>?????????????;?在指定位置顯示一個字符串
??0044FEF4????????????46??????????????INC?????ESI
??
??在44FEEF處調用前設置一個標志,調用完之后改回來,可以解決字符位置不對的問題。物品,裝備,奇術,符鬼等界面在大地圖上對話之后字符位置不對的地方都用此方法修改。涉及到的顯示字符的函數除了上面43A850處外,還有43AB00和43AEE0兩處,也用同樣方法修改。
??上面修改完之后,基本不影響正常游戲了,但是顯示ANI動畫時還是會花屏,這同樣是由于頁面沒有轉換的原因,如下圖:
??
??
??先運行游戲,在顯示ANI動畫前對CreateFileA下斷點,直到堆棧中顯示ANI文件名,取消斷點。對BackBuffer的第一個字下硬件寫入斷點,運行后來到:
??
??00415DFA????????????8B15?702A4D00???MOV?????EDX,DWORD?PTR?DS:[4D2A70]
??00415E00????????????33C9????????????XOR?????ECX,ECX
??00415E02????????????8A0E????????????MOV?????CL,BYTE?PTR?DS:[ESI]?????????????????;?每次取一個字節
??00415E04????????????83C0?02?????????ADD?????EAX,2????????????????????????????????;?要寫入的目標地址
??00415E07????????????46??????????????INC?????ESI??????????????????????????????????;?源加1
??00415E08????????????4F??????????????DEC?????EDI??????????????????????????????????;?所有的數據數
??00415E09????????????66:8B0C4A???????MOV?????CX,WORD?PTR?DS:[EDX+ECX*2]
??00415E0D????????????66:8948?FE??????MOV?????WORD?PTR?DS:[EAX-2],CX???????????????;?寫到目標地址里面
??00415E11??????????^?75?E7???????????JNZ?????SHORT?swd3_ar.00415DFA
??
??從上面看到,這里寫到BackBuffer里面是連續的,而顯示到屏幕上的頁面應該是一行一行的,所以要進行相應的轉換,在函數返回前415E23處進行轉換,具體代碼就不貼了。
??更改之后發現畫面成了這個樣子:
??
??
??圖像大小對了,但是好像背景不正確,這是由于ANI動畫的每一幀不是完全重畫,只是重畫有圖像變化的部分,所以要在上面那個函數的一開始時先恢復前一幀的圖像。上面那一個函數從415D40處開始,在這里打補丁:
??
??005DE240????????????60??????????????PUSHAD
??005DE241????????????B9?00B00400?????MOV?????ECX,4B000????????????????????????????;?頁面大小
??005DE246????????????8B3D?64E54E00???MOV?????EDI,DWORD?PTR?DS:[4EE564]????????????;?BackBuffer
??005DE24C????????????A1?88D15D00?????MOV?????EAX,DWORD?PTR?DS:[<lpTemp>]??????????;?在ConvertANISurface里面保存的每一幀圖像
??005DE251????????????8B30????????????MOV?????ESI,DWORD?PTR?DS:[EAX]
??005DE253????????????F3:A5???????????REP?????MOVS?DWORD?PTR?ES:[EDI],DWORD?PTR?DS>;?前一幀圖像恢復到BackBuffer里面
??005DE255????????????61??????????????POPAD
??005DE256????????????51??????????????PUSH????ECX
??005DE257????????????8B0D?941E4B00???MOV?????ECX,DWORD?PTR?DS:[4B1E94]
??005DE25D????????????53??????????????PUSH????EBX
??005DE25E????????????55??????????????PUSH????EBP
??005DE25F????????????56??????????????PUSH????ESI
??005DE260????????????57??????????????PUSH????EDI
??005DE261??????????-?E9?E57AE3FF?????JMP?????swd3_ar.00415D4B
??
??這下ANI顯示正常了,但是ANI里面有對話時又成了這樣:
??
??
??從上面的函數返回兩次之后,發現是從413137處調用的,ANI中出現對話之后在這里下斷,中斷后F7跟進,來到:
??
??00415A2E????????????57??????????????PUSH????EDI
??00415A2F????????????0F84?FF020000???JE??????swd3_ar.00415D34?????????????????????;?直接返回
??00415A35????????????392D?18724C00???CMP?????DWORD?PTR?DS:[4C7218],EBP
??00415A3B????????????0F85?B7020000???JNZ?????swd3_ar.00415CF8?????????????????????;?對話時從這里跳走
??
??00415CF8????????????A1?20294D00?????MOV?????EAX,DWORD?PTR?DS:[<Ani_Talk_Flag>]???;?是否已經保存過對話時的背景,第一次對話時要保存
??00415CFD????????????B9?00580200?????MOV?????ECX,25800????????????????????????????;?大小
??00415D02????????????3BC5????????????CMP?????EAX,EBP
??00415D04????????????75?20???????????JNZ?????SHORT?swd3_ar.00415D26???????????????;?第一次進入對話時不跳
??00415D06????????????8B35?64E54E00???MOV?????ESI,DWORD?PTR?DS:[<BackBuffer>]??????;?第一次對話時保存背景頁面
??00415D0C????????????8B3D?AC1D4D00???MOV?????EDI,DWORD?PTR?DS:[<Ani_Temp_Mem>]
??00415D12????????????F3:A5???????????REP?????MOVS?DWORD?PTR?ES:[EDI],DWORD?PTR?DS>
??....
??00415D26????????????8B35?AC1D4D00???MOV?????ESI,DWORD?PTR?DS:[<Ani_Temp_Mem>]????;?不是第一次進入對話就恢復
??00415D2C????????????8B3D?64E54E00???MOV?????EDI,DWORD?PTR?DS:[<BackBuffer>]
??00415D32????????????F3:A5???????????REP?????MOVS?DWORD?PTR?ES:[EDI],DWORD?PTR?DS>
??
??上面保存應該是轉換ANI背景之后的頁面,所以保存的地方需要修改:
??
??005DE200????????????60??????????????PUSHAD
??005DE201????????????A1?8CD15D00?????MOV?????EAX,DWORD?PTR?DS:[<lpSurf_Temp32>]
??005DE206????????????8B30????????????MOV?????ESI,DWORD?PTR?DS:[EAX]
??005DE208????????????8B3D?AC1D4D00???MOV?????EDI,DWORD?PTR?DS:[<ANI_Mem>]
??005DE20E????????????B9?00B00400?????MOV?????ECX,4B000?????????????????????????????????????;32位的頁面,要增大一倍
??005DE213????????????F3:A5???????????REP?????MOVS?DWORD?PTR?ES:[EDI],DWORD?PTR?DS:[ESI]
??005DE215????????????A1?8CD15D00?????MOV?????EAX,DWORD?PTR?DS:[<lpSurf_Temp32>]
??005DE21A????????????8B30????????????MOV?????ESI,DWORD?PTR?DS:[EAX]
??005DE21C????????????8B3D?64E54E00???MOV?????EDI,DWORD?PTR?DS:[<BackBuffer>]
??005DE222????????????B9?00B00400?????MOV?????ECX,4B000
??005DE227????????????F3:A5???????????REP?????MOVS?DWORD?PTR?ES:[EDI],DWORD?PTR?DS:[ESI]????;也要同時傳到BackBuffer里面
??005DE229????????????61??????????????POPAD
??005DE22A??????????-?E9?E57AE3FF?????JMP?????swd3_win.00415D14
??
??注意由于頁面變成32位的,大小增加了一倍,所以把25800改成了4B000,前面415CFD處的25800也要改成4B000。這時要注意分配的內存也要增加一倍才行,往上面找到分配內存的地方直接修改即可(42EEC6和42EED5)。
??快完成了!這時全屏Alpha的地方只有一半了,如下圖:
??
??
??這個直接搜索push?4B000,改為96000即可。改了之后發現455124,455134,4527AB這幾處不能改,會跳出,再改回來即可。
??同樣戰斗時上半部分淡入淡出,搜索push?3C000,改為push?78000。
??其它幾個小修改:
??買賣東西時下半部分是花屏的:
??No.1
??4550E7,4550F1處96000改為12C000,分配內存
??No.2
??45510C,45514B,456287處25800改為4B000,拷貝內存
??No.3
??455124,455134處4B000改為96000,Alpha混合
??
??存檔時的縮略圖:
??0040E41F??????????^\75?F1???????????JNZ?????SHORT?swd3_win.0040E412
??0040E421????????????05?000F0000?????ADD?????EAX,0F00????????;改為2300
??0040E426????????????4E??????????????DEC?????ESI
??
??按P鍵時保存圖片,不影響游戲正常進行,我用了一個笨辦法,自己重新寫了一個保護圖片的函數,后來想可以直接修改程序里面原來的函數的,不想再弄了。
??
??到此基本結束收工,順便把免CD做了吧。一共要修改下面幾處:
??檢查光盤卷標,412023處:
??JNZ?????SHORT?swd3_win.00412038?????;改為JMP
??地圖數據從硬盤讀:
??0042A877???????????|68?60234D00?????PUSH????swd3_win.004D2360
??0042A87C???????????|68?A8214B00?????PUSH????swd3_win.004B21A8???????????;?ASCII?"%sswd3e\%s"
??改為:
??0042A877????????????68?B4364C00?????PUSH????swd3_win.004C36B4???????????;EXE根目錄
??0042A87C????????????68?98114B00?????PUSH????swd3_win.004B1198???????????;?ASCII?"%s%s"
??
??ANI動畫從硬盤讀:
??ANI動畫從硬盤讀:
??No.1
??0042ED8C???????????|68?60234D00?????PUSH????swd3_win.004D2360
??改為:
??0042ED8C????????????68?B4364C00?????PUSH????OFFSET?<swd3_win.Swd3eDir>
??No.2
??0042ED98????????????68?00284B00?????PUSH????swd3_win.004B2800???????????;?ASCII?"swd3e\Video\"
??改為:
??0042ED98????????????68?06284B00?????PUSH????swd3_win.004B2806???????????;?ASCII?"Video\"
??No.3:
??0042EDA8????????????8803????????????MOV?????BYTE?PTR?DS:[EBX],AL????????;把盤符換成光驅的盤符,直接NOP掉
??
??開始游戲時從硬盤讀地圖:
??004336D7????????????68?60234D00?????PUSH????swd3_win.004D2360
??004336DC????????????68?A8214B00?????PUSH????swd3_win.004B21A8?????????????????????????;?ASCII?"%sswd3e\%s"
??改為:
??004336D7????????????68?B4364C00?????PUSH????OFFSET?<swd3_win.Swd3eDir>
??004336DC????????????68?98114B00?????PUSH????swd3_win.004B1198?????????????????????????;?ASCII?"%s%s"
??
??BIK文件從硬盤讀取:
??No.1
??0049C789????????????68?60234D00?????PUSH????swd3_win.004D2360
??改為:
??0049C789????????????68?B4364C00?????PUSH????OFFSET?<swd3_win.Swd3eDir>
??No.2
??0049C795????????????68?00284B00?????PUSH????swd3_win.004B2800???????????????????????;?ASCII?"swd3e\Video\"
??改為:
??0049C795????????????68?06284B00?????PUSH????swd3_win.004B2806???????????????????????;?ASCII?"Video\"
??No.3直接NOP掉,替換盤符
??0049C7A5????????????884D?00?????????MOV?????BYTE?PTR?SS:[EBP],CL
??
??
??最后,附上SWD3E.DLL中幾個用到的函數說明:
??1.SaveBitmap32,把一個32位的頁面保存成位圖
??2.CenterWindow,主窗口居中顯示,同時把窗口位置保存在rcWindow中,并且會限制鼠標只能在游戲窗口中移動
??3.rcWindow,保存窗口位置,方便向窗口傳送圖像時使用
??4.ConvertSurface,把一個16位的頁面轉換成32位,要求原來的16位頁面是按行顯示的
??5.ConvertANIBuf,把ANI動畫的頁面轉換成按行顯示的頁面,供ConvertSurface使用
??6.BufferTo16,把一個32位的頁面轉換成16位的頁面,主要在顯示字符時使用
??7.PrintText,在一個頁面指定位置處顯示字符串,調試時使用
??8.DebugMsg,向Debug.txt文件中輸出調試信息
??9.lpTemp,ANI動畫時保存每幀原始數據,供下一幀恢復數據時使用
??10.lpTemp32,ANI動畫時保存轉換完成的數據,供ANI中的對話時恢復背景使用
??
??附上修改后的EXE文件和SWD3E.DLL文件。
??附件的EXE還有一個BUG,戰斗時敵人死亡時有時會跳出,三個以上敵人,最下面一個死去之后四面散開時(不是向左散開),會出現內存寫入錯誤。還沒有搞明白怎么回事,所以還沒有改。


2009-10-08解決此BUG,四面散開時散點的Y坐標會大于窗口高度,由于原來是全屏,所以窗口高度就是屏幕高度,現在改成窗口了,這里的最大值只能到窗口高度.
解決辦法:搜索常量0B54,把所有涉及到比較的地方都改成與1E0相比較,共有439103,4393C6,4394B1,439622,4396BF,439746,4397A7共七處.

同時把原來比較難看的宋體字改成比較好看的字體了.

??免CD之后的Huge.lmf文件要放在游戲根目錄下,BIK和ANI動畫要放在Video文件夾下!
??另外,還放了一個小小的彩蛋啦,不影響游戲畫面,這里就賣個關子啰!
??
--------------------------------------------------------------------------------
【經驗總結】
??由于DDRAW.DLL的導出函數很少,一開始不知道從何下手。某年月日突然用IDA把DDRAW.DLL打開了,一打開就提示我是否到
??MS$的網站上去下載符號表,這一下就發現快了很多。看來MS$有時還是很對得起勞苦大眾啊!
??幾個難點:
??1.字符顯示,找了好久才搞明白
??2.Alpha混色,一開始是想找到對應的函數進行修改,搞了好久發現太慢,突然來了靈感,改成用現在方法,果然有效
??3.字符位置不對,想了N種辦法也沒找到是從哪里出的錯,只好用現在這樣打補丁了
??4.現在還有一個問題,播放BIK動畫時會出錯。無奈水平不夠,還一點頭緒也沒有,反正BIK動畫也不影響游戲體驗,就懶得
??管了,等以后水平提高了有精力再去搞吧。
??
??終于寫完了,太累了,收工!


總結

以上是生活随笔為你收集整理的让天之痕窗口化运行!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产无遮挡猛进猛出免费软件 | 午夜久久 | 国产剧情av在线播放 | 久久久久久久av麻豆果冻 | 美女久久视频 | 在线免费观看一区二区三区 | 成人免费xyz网站 | 久久一精品 | 久久综合激情 | 成人91av | 亚洲成人免费在线 | 日本h视频在线观看 | 国产一区二区视频在线播放 | 国产做a爱一级久久 | 亚洲一区二区视频在线播放 | 欧美日韩天堂 | 天天插天天射 | 午夜国产一区二区三区四区 | 亚洲一区视频免费观看 | 青青草在久久免费久久免费 | 精品亚洲成人 | 91大神在线看 | 97超碰在线久草超碰在线观看 | 99国产视频 | 天天插天天爽 | 欧美福利视频一区 | 免费在线黄 | 久久视频在线看 | 国产视频手机在线 | 五月天堂色 | 四虎影视精品 | 久久在线免费观看 | 成人午夜电影在线播放 | 天天躁天天狠天天透 | 亚洲午夜久久久久久久久电影网 | 久久99久久99精品中文字幕 | 婷婷亚洲综合五月天小说 | 午夜国产福利在线观看 | 婷婷在线免费视频 | 99国产高清 | 天天操网站| 人人插人人做 | 夜夜夜夜爽 | 国产精品亚洲片在线播放 | 69中文字幕 | 青草视频在线 | 欧美精品被 | 国产成人一区二区三区久久精品 | h视频在线看 | 玖玖爱在线观看 | 精品麻豆入口免费 | 免费av观看 | 国产一区二区高清 | 天天射一射 | 亚洲欧洲在线视频 | 中文字幕久久精品亚洲乱码 | 精品视频999 | www,黄视频 | 在线精品在线 | 亚洲国产影院av久久久久 | 免费看片成人 | 99免费观看视频 | 黄色亚洲精品 | 69视频永久免费观看 | 在线观看免费观看在线91 | 成年人在线免费看视频 | 黄a在线看| 日韩av网站在线播放 | 深爱激情五月婷婷 | 欧美亚洲国产精品久久高清浪潮 | 日韩网站一区 | 精品亚洲一区二区三区 | 亚洲综合色视频在线观看 | 国产婷婷色 | 亚洲视频在线观看网站 | av中文天堂在线 | 日本丰满少妇免费一区 | 99精品视频网站 | 国产精品精品久久久久久 | 欧美色888 | 97视频免费观看2区 亚洲视屏 | 午夜色站| 亚洲免费精品一区二区 | 日韩免费高清在线观看 | www.天天操| 久色网 | 久久免费公开视频 | 亚洲精品视频在线播放 | 国产精品系列在线 | 韩国av在线播放 | 色在线中文字幕 | 99免在线观看免费视频高清 | av大全在线看 | 天天拍天天爽 | 少妇超碰在线 | 欧美精品在线免费 | 人人盈棋牌 | 丁香久久婷婷 | 免费网站观看www在线观看 | 2023av在线| 久久精品视频在线 | 国产韩国日本高清视频 | 久久国语| 视频国产在线观看18 | 国产成人久久av | 国产日韩视频在线观看 | 婷婷色在线播放 | 久久影院中文字幕 | 噜噜色官网 | 91精品国产一区二区三区 | 日日操日日| 国产精品亚| 国内丰满少妇猛烈精品播 | 成人av网页 | 成人欧美一区二区三区黑人麻豆 | 黄色资源在线 | 国产成人综合在线观看 | 久久国产精品免费一区 | 国产精品久久久久久久久久久免费看 | 97精品超碰一区二区三区 | 日韩av高清| 最近字幕在线观看第一季 | 深夜成人av | 久久久久久久久久久久av | 久久丁香网 | 久久爱资源网 | 日操操 | 亚洲专区欧美 | 天天干视频在线 | 国产精品美女免费看 | 成全在线视频免费观看 | 最新99热| 在线免费观看国产视频 | 国产在线国产 | 国产一二区视频 | 国内视频在线观看 | 就要干b| 中文字幕91在线 | 亚洲天天摸日日摸天天欢 | 中文字幕av最新 | 国产不卡在线观看 | 免费黄色在线网址 | 999成人网| 成 人 黄 色 片 在线播放 | 久久人网| 日日夜夜人人天天 | 国产日韩欧美精品在线观看 | 女人18精品一区二区三区 | 在线观看国产高清视频 | 国产在线播放一区二区三区 | 久久精品视频4 | 成人avav| 久久激情精品 | 最新国产在线 | 婷婷色网视频在线播放 | 亚洲国产中文字幕 | 国产精品久久久久久久久久妇女 | av免费电影网站 | 欧美成人xxx | 欧美性成人 | 在线观看免费黄视频 | 在线观看岛国 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 免费精品在线 | 色偷偷88欧美精品久久久 | 久久久久久久久久电影 | 中文字幕传媒 | 99国产精品一区二区 | 精品一二三四在线 | 性色大片在线观看 | 成年人免费电影 | 久久久www成人免费毛片麻豆 | 91麻豆福利 | 国产免费久久av | av免费网站 | 正在播放国产一区二区 | 91中文在线| 国产精品资源在线 | 久久婷婷色| 国产精品专区一 | 黄色午夜网站 | 日韩精品你懂的 | 99久久99久久免费精品蜜臀 | 黄色福利网 | 在线观看av黄色 | 精品1区2区3区 | 日韩精品一卡 | 精品久久国产一区 | av免费看av | 国产精品小视频网站 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国内精品久久久久影院一蜜桃 | 人人插人人舔 | 久久国产影视 | 久久久精品 | 成人理论电影 | 国产精品不卡在线观看 | 天天在线视频色 | 久久黄色片 | 一本之道乱码区 | 91欧美视频网站 | 500部大龄熟乱视频 欧美日本三级 | 激情婷婷av | 免费在线观看成人 | 毛片一区二区 | 国产精品成人a免费观看 | 三级在线国产 | 国产在线探花 | 中文久久精品 | 色综合天天爱 | 欧美高清成人 | 在线视频一区观看 | 手机在线免费av | 狠狠综合久久 | 国产高清专区 | 国产精品视频永久免费播放 | 人人添人人澡人人澡人人人爽 | 亚洲最快最全在线视频 | 中文一区二区三区在线观看 | 国产va精品免费观看 | 激情小说 五月 | 天天躁天天狠天天透 | 国产一区欧美在线 | 国产伦精品一区二区三区高清 | 香蕉视频在线看 | 成人av日韩| 欧美 亚洲 另类 激情 另类 | 日韩成人精品在线观看 | 麻豆国产精品va在线观看不卡 | 日韩网站在线观看 | 中文字幕av一区二区三区四区 | 97在线影视| 日韩欧美国产视频 | 精品国产理论 | 一级黄色免费网站 | www亚洲一区 | 777奇米四色 | 99在线热播精品免费99热 | 99国产视频 | 99色| 成人免费视频网址 | 高清在线观看av | 亚洲欧美乱综合图片区小说区 | 午夜av在线播放 | 00av视频| 欧美日韩激情网 | 亚洲另类视频在线 | 国产亚洲综合精品 | 日韩免费一级a毛片在线播放一级 | 色综合天天视频在线观看 | 成人在线观看av | 久久激情婷婷 | 色小说av | 视频1区2区| 久久久天堂 | 精品久久1| 激情丁香在线 | a级国产毛片 | 一区二区三区av在线 | 国产黄视频在线观看 | 欧美福利片在线观看 | 黄色在线网站噜噜噜 | 日韩在线视 | 91在线在线观看 | 97人人爽人人 | 日韩av综合网站 | 久久人人爽av | av五月婷婷 | 在线黄色免费 | 国产精品第| 99久久精品免费看国产一区二区三区 | 最近日本中文字幕 | 狠狠色丁香婷婷 | 久草在线看片 | 国产精品久久久久国产精品日日 | 在线观看午夜av | 97天天综合网 | 国产精品一区二区三区四 | 久久成人精品电影 | 国产在线观| 日韩精品免费专区 | 99久久久久 | 成人免费在线播放视频 | 久久久官网 | 午夜精品久久久久久中宇69 | 九九久久婷婷 | 欧美日韩在线观看一区二区 | 欧美国产精品久久久久久免费 | 国产色秀视频 | 91网址在线 | 国产精品18久久久久久久久 | 亚洲免费成人 | 久久国产精彩视频 | 干天天| 超碰人人草人人 | 亚洲国产欧美在线人成大黄瓜 | 国产成人av电影在线观看 | 婷婷综合五月 | 精品麻豆入口免费 | 国产精品视频永久免费播放 | 日韩精品第一区 | 激情视频免费在线 | 91久久久国产精品 | 欧美视频不卡 | 狠狠色丁香婷婷综合久小说久 | 人人爱人人做人人爽 | www.av在线.com| 天天看天天干 | 亚洲 欧美 综合 在线 精品 | 婷婷五月色综合 | 国产亲近乱来精品 | 国产精品一区二区三区在线免费观看 | 国产一区二区午夜 | 日韩av一区二区在线播放 | 国产99久久久久 | 国产视频 久久久 | 色a在线观看 | 久久区二区 | 一级黄色在线视频 | 狠狠的日 | 亚洲免费小视频 | 日韩免费av片| 亚洲视频久久久 | 亚洲va天堂va欧美ⅴa在线 | 国产日韩一区在线 | 亚洲一级片在线看 | 97久久精品午夜一区二区 | 中文字幕在线观看日本 | 国产美女黄网站免费 | 亚洲极色| 青青河边草观看完整版高清 | 91色欧美| 349k.cc看片app| 日韩中文字幕一区 | 最近日本字幕mv免费观看在线 | 国产精品毛片久久蜜 | 久久婷婷一区二区三区 | 91精品国产综合久久福利 | 久久精品福利 | 欧美精品在线视频观看 | av先锋中文字幕 | 成人免费观看完整版电影 | 香蕉网在线观看 | 大荫蒂欧美视频另类xxxx | 视频一区二区免费 | 五月开心激情网 | 国产精品99久久久久久小说 | 91在线免费观看网站 | 日日干夜夜操视频 | 欧美日韩在线观看一区 | 在线观看你懂的网站 | 香蕉久久国产 | 在线观看国产日韩 | 亚洲免费高清视频 | 国产精品久久久久久久婷婷 | 免费高清无人区完整版 | 亚洲成人欧美 | 天天干,夜夜操 | 欧美一区,二区 | 婷婷丁香五 | 免费福利在线观看 | 久久久精品久久日韩一区综合 | 夜夜澡人模人人添人人看 | 国语对白少妇爽91 | 97电影在线看视频 | 欧美精彩视频在线观看 | 欧美韩国日本在线观看 | 国产精品久久久久永久免费 | 久久精品国产一区二区 | 国产又粗又猛又色又黄视频 | 日韩专区在线播放 | 99欧美视频 | 久久久三级视频 | 97超碰在线久草超碰在线观看 | 91亚洲精品久久久蜜桃网站 | 天堂在线一区 | 人人操日日干 | 久久久免费精品视频 | 国产精品免费大片视频 | www.天天色 | 国产成人亚洲精品自产在线 | 麻豆国产精品视频 | 在线观看亚洲专区 | 日本系列中文字幕 | 欧美另类色图 | 激情图片区 | 亚洲黄色小说网址 | www.99av| 国产精品久久久久久久久久99 | 人人添人人 | 国产小视频你懂的 | 国产在线视频一区二区 | 91成人精品 | 婷婷六月丁香激情 | 热九九精品 | 久久免费毛片 | 中文字幕在线播放第一页 | 丁香 久久 综合 | 亚洲一区美女视频在线观看免费 | 91在线视频免费91 | 日韩久久精品一区二区三区下载 | 久久久高清免费视频 | 久久精品国产亚洲 | 日韩高清免费在线观看 | 色婷婷福利 | 热久在线 | 欧美精品小视频 | 国产色在线观看 | 97成人免费视频 | avove黑丝| 欧美疯狂性受xxxxx另类 | 中文字幕在线观看视频一区 | 99久热 | 在线一级片 | 国产成人三级在线 | 97超碰人人看| 96国产精品视频 | 国产在线综合视频 | 婷婷国产在线 | av网站播放 | www.一区二区三区 | 色婷婷a| 国产精品ssss在线亚洲 | 在线观看91 | 亚洲精品国产精品乱码不99热 | 日本最新高清不卡中文字幕 | 国产最新视频在线 | 亚洲一本视频 | 国产日韩精品在线观看 | 亚洲精品久久久久999中文字幕 | 精品视频不卡 | 在线免费亚洲 | 五月婷婷丁香在线观看 | 国产精品九九热 | 五月天久久久 | 成人黄色免费在线观看 | 色香天天| 二区三区毛片 | 色七七亚洲影院 | 99视频在线观看免费 | 四虎影视4hu4虎成人 | 五月天狠狠操 | 黄色成人在线 | 国内精品小视频 | 韩国精品福利一区二区三区 | 国产在线精品国自产拍影院 | 欧美日韩在线免费视频 | 中文字幕在线影院 | 久久高清毛片 | 六月丁香社区 | 日韩精品三区四区 | 婷婷在线免费视频 | 国产精品久久久久免费观看 | 亚洲人毛片| 亚洲天天干 | 黄色特一级片 | 久久精品永久免费 | 国产亚洲精品久久19p | www.夜夜操.com | 国产精品亚洲a | av电影在线观看完整版一区二区 | 国产精品嫩草69影院 | 91片在线观看| 国产一区二区三区高清播放 | 91成人在线免费观看 | 久久精品视频免费观看 | 91av视频播放 | 999国产 | 中文字幕在线免费看 | 波多野结衣视频一区 | 在线中文字幕视频 | 精品一二三四在线 | 黄色av一区二区 | 香蕉在线观看 | 中文字幕av免费在线观看 | 亚洲全部视频 | 午夜精品电影 | av电影在线观看完整版一区二区 | 久久国产精品一区二区三区四区 | 久久久男人的天堂 | 久久精品一区二区三 | 免费麻豆视频 | 美女精品国产 | 91精品在线免费视频 | 欧美一区二区精品在线 | 中文字幕免费成人 | 青青草华人在线视频 | 免费成人在线视频网站 | 成人黄色电影免费观看 | 乱子伦av| 国产色婷婷 | 久久精品女人毛片国产 | 国产在线a视频 | 日韩丝袜| 欧美热久久 | 懂色av懂色av粉嫩av分享吧 | 在线观看一区视频 | 国产成人精品av在线观 | 国产精品一级在线 | 免费观看黄色12片一级视频 | 黄色特一级片 | 天天爱天天操 | 国产美女精品久久久 | 夜夜看av | 97成人在线视频 | 中文字幕一区二区三区在线视频 | 丁香六月av| 97超碰中文字幕 | 91精品久久久久久综合乱菊 | 欧美一区二区伦理片 | 国产v欧美 | 日本aaaa级毛片在线看 | 中文字幕精品一区二区三区电影 | 色婷婷在线播放 | 欧美一级免费黄色片 | 三级av网站 | 91成品人影院 | 日韩资源视频 | 青青河边草免费观看 | 午夜免费福利片 | 中文字幕 国产视频 | 亚洲一区视频在线播放 | 西西人体www444 | 成人在线视频免费看 | 国产精品 日韩 欧美 | 特级毛片在线 | 97在线看片 | 波多野结衣视频一区二区 | 久久久久久久国产精品影院 | 综合激情久久 | 国产福利精品一区二区 | 国产高清99 | 午夜久久网 | 在线视频国产区 | 国产精品99久久久久人中文网介绍 | 96久久| 视频 天天草 | 国产在线视频一区 | 国产手机免费视频 | 亚洲激色 | 午夜精品久久久久久久99水蜜桃 | 日韩高清在线一区二区三区 | 成人sm另类专区 | 天天干天天操av | 在线观看精品黄av片免费 | 国产精品网在线观看 | 国产色视频一区二区三区qq号 | 日韩黄视频| 成人av网页| 欧美另类高清 | 综合激情伊人 | 国产大尺度视频 | 又黄又爽又刺激的视频 | 亚洲网久久 | 精品高清美女精品国产区 | 久久久久伊人 | 久久的色 | 欧美a视频在线观看 | 久久久国产一区二区三区四区小说 | 婷婷丁香激情五月 | 正在播放一区二区 | 亚洲高清视频一区二区三区 | 国产在线观看免费观看 | 99r在线播放 | 欧美日在线观看 | 国产精品久久影院 | 午夜a区 | 欧美有色| 丁香激情网 | 亚洲精品99久久久久中文字幕 | 久久久视屏 | 国产精品免费一区二区三区在线观看 | 国产一级片毛片 | 国产精品va在线观看入 | 一区二区三区 亚洲 | 日日夜夜天天 | 国产小视频在线看 | 香蕉视频网站在线观看 | 男女激情麻豆 | 不卡中文字幕在线 | 97在线免费视频 | www.888av| 欧美日韩二区在线 | 色中色综合 | 国产成人精品不卡 | 亚洲码国产日韩欧美高潮在线播放 | 国产黄色片网站 | 亚洲激情电影在线 | a√天堂中文在线 | 日日夜夜天天久久 | 91精品久久久久久综合五月天 | 久久不卡电影 | 久久国产美女 | 在线一区电影 | 日韩欧美高清一区二区 | www.夜夜操 | 国产精品视频你懂的 | 欧美日韩国产伦理 | 69绿帽绿奴3pvideos | 欧美激情片在线观看 | 中文字幕在线观看一区 | 国产高清成人 | 免费黄色av电影 | 黄色软件网站在线观看 | 丁香五香天综合情 | 亚洲视频电影在线 | 日韩天堂在线观看 | 日韩黄色在线 | 久久久久在线视频 | 免费网站在线 | 三级视频片 | 狠狠狠色丁香综合久久天下网 | 亚洲精品小视频在线观看 | 国产一级a毛片视频爆浆 | 中文字幕制服丝袜av久久 | 久久av中文字幕片 | 国产精品va | 欧美精品成人在线 | 国产又粗又猛又黄又爽 | 亚洲欧美视频一区二区三区 | 亚洲综合在线发布 | 久久a级片| 国产精品毛片一区二区在线看 | 天堂在线成人 | 国产 日韩 欧美 在线 | 91热爆视频 | 97超碰中文字幕 | 欧美日韩视频在线播放 | 欧美日韩天堂 | 福利av在线 | 久久极品| a在线播放 | 97超碰人人澡人人 | 亚洲日本国产精品 | 久久九九九九 | 黄色免费网战 | 精品久久网站 | 免费观看十分钟 | 香蕉网址 | 成人免费亚洲 | 97超级碰碰 | 超碰九九| 久久国产视频网站 | 久久综合给合久久狠狠色 | 午夜av片 | 亚洲国产精品视频在线观看 | 日韩最新中文字幕 | 在线免费观看一区二区三区 | 性色av免费观看 | 2019中文在线观看 | 亚洲第一伊人 | 亚洲伦理一区 | 国产中文字幕在线免费观看 | 在线观看一区二区精品 | 97av免费视频 | 狠狠狠狠狠狠狠狠干 | 国产精品五月天 | 国产精品一二 | 亚洲视频在线看 | 欧美日韩另类视频 | 国产成人亚洲在线观看 | 99久久精品国产网站 | 97热久久免费频精品99 | 中文字幕在线看视频国产 | 又黄又爽的免费高潮视频 | 亚洲国产精品第一区二区 | 亚洲精品字幕在线观看 | 欧美做受xxx | 热久久国产 | 欧美在线视频不卡 | 欧美va天堂va视频va在线 | 91精品免费看 | 久久永久免费视频 | 久久精品一区二区三区国产主播 | a极黄色片 | 亚洲黄色一级视频 | 久久久久国产精品一区 | 欧美在线99 | 91网免费看 | 成年免费在线视频 | 亚洲午夜av | 最近免费观看的电影完整版 | 国产一区二区三区四区大秀 | 综合激情婷婷 | 亚洲精品一区二区三区在线观看 | 日日爽天天 | 久久免费国产视频 | 久久免费国产电影 | 欧美亚洲国产一卡 | 欧美激情h| 国产精品99精品久久免费 | 婷婷丁香综合 | 久久蜜臀一区二区三区av | 亚洲精品视频免费看 | 久久九九国产视频 | 麻豆系列在线观看 | 九九热免费精品视频 | 久久精品99视频 | 国产精品a级 | 日韩精品高清不卡 | 日韩一区二区三区观看 | 最近高清中文字幕在线国语5 | 亚洲精品在线观看不卡 | 日韩伦理一区二区三区av在线 | 免费看成人a | 四虎在线视频免费观看 | 日韩网站视频 | av线上免费看 | 在线播放日韩av | 国内精品视频久久 | 天天操天天是 | 国产色拍拍拍拍在线精品 | 999电影免费在线观看2020 | 久影院 | 亚洲动漫在线观看 | 日韩欧美久久 | 免费福利片2019潦草影视午夜 | 色婷婷狠狠18| 亚洲成人精品国产 | 娇妻呻吟一区二区三区 | 中文字幕丝袜制服 | 日韩av成人在线观看 | 久久精品久久精品久久39 | 亚洲 欧美 国产 va在线影院 | 激情网站免费观看 | 日韩欧美视频一区二区三区 | 99人久久精品视频最新地址 | 国产精品亚洲成人 | 欧美 日韩 国产 中文字幕 | 亚洲精品国产精品久久99热 | 天天草天天草 | 色多多视频在线 | 久草免费电影 | 日韩久久精品一区二区 | 国产一区视频导航 | 欧美日韩精品免费观看视频 | 成人av在线看 | 97超碰中文字幕 | 成人av资源在线 | 二区三区在线观看 | 欧美精品乱码久久久久 | 五月天激情婷婷 | 日日碰夜夜爽 | 国产精品国内免费一区二区三区 | 天天射天天操天天色 | 亚洲区另类春色综合小说 | 国产玖玖精品视频 | 亚洲视频在线看 | 九九热在线精品 | 精品一区二区三区久久久 | 成人免费一级 | 精品国产成人 | 中文字幕在线看视频国产中文版 | 久久夜夜操 | 久久99国产精品免费 | 欧美精品一区在线发布 | 视频一区视频二区在线观看 | 欧美亚洲精品在线观看 | 亚洲综合婷婷 | 五月天色站 | 色播五月婷婷 | 久久久国产一区二区 | 综合色婷婷 | 亚洲精品视频大全 | 国产淫片 | 久久婷婷一区 | 久久午夜电影院 | 中文伊人| 亚欧洲精品视频在线观看 | 中文字幕久久久精品 | 综合中文字幕 | 国产一级一片免费播放放 | 91精品国产成人www | 色偷偷97| 国产 精品 资源 | 色综合五月 | 狠狠狠色丁香婷婷综合久久五月 | 日日添夜夜添 | 91精品在线看 | 国产成人一区二区三区电影 | 国产视频资源 | 亚洲成熟女人毛片在线 | 国产色视频一区二区三区qq号 | 精品国产一区二区三区久久久 | 国产亚洲精品久久19p | 国产一线二线三线在线观看 | 黄色av网站在线观看免费 | 亚洲国产精品第一区二区 | 欧美一区在线观看视频 | 亚洲精品免费在线视频 | 久久综合中文色婷婷 | av电影在线不卡 | 亚洲婷婷免费 | 精品91久久久久 | www.在线观看视频 | 国产午夜麻豆影院在线观看 | 国产九九在线 | 黄色大片免费网站 | 国产成人免费观看 | av丝袜制服 | 鲁一鲁影院 | 伊人久久电影网 | av免费观看在线 | 精品久久久久久久久亚洲 | 麻豆成人网 | 最新免费中文字幕 | 国产精品久久久久久久免费观看 | 在线精品视频免费播放 | 在线观看国产高清视频 | 午夜av一区二区三区 | 天天舔天天搞 | 青草视频在线播放 | 夜夜干夜夜 | 97精品国产91久久久久久久 | 日本精品视频一区 | 2021国产精品视频 | 91久久丝袜国产露脸动漫 | 在线成人免费av | 国产成人综合精品 | 国产精品一区久久久久 | 伊人天天操 | 亚洲视频免费在线观看 | 成人在线视频你懂的 | 免费观看高清 | 久久乐九色婷婷综合色狠狠182 | 亚洲另类xxxx | 中文字幕亚洲精品在线观看 | 伊人久久在线观看 | 日日夜夜综合网 | 美女国产精品 | 亚洲 欧美 国产 va在线影院 | 五月天.com | 久久久久久久久久久免费av | 日韩精品视频免费专区在线播放 | 久久人人爽人人片av | 9i看片成人免费看片 | 夜夜看av | 黄色毛片网站在线观看 | 美女精品网站 | 成年人在线免费看 | 天天操天天操天天 | 欧美日韩一区二区免费在线观看 | 欧美日韩观看 | 午夜婷婷在线播放 | 伊人婷婷网 | 黄网站色 | 日日干夜夜草 | 99热九九这里只有精品10 | a成人v在线| 国产精品一区二区在线观看免费 | www.成人久久 | 日本精品视频在线 | 黄在线免费看 | 久久99免费 | 亚洲精品久久久久久国 | 国产精品久免费的黄网站 | 日韩午夜精品 | 欧美色图另类 | 午夜一级免费电影 | 美女网站免费福利视频 | 日本韩国精品在线 | 香蕉影院在线观看 | 亚洲热视频 | 国产高清视频在线免费观看 | 亚洲高清久久久 | 国产亚洲精品久久久久久移动网络 | 日韩欧美大片免费观看 | 亚洲精品一区二区精华 | 亚洲 欧洲 国产 日本 综合 | 五月激情av| 丁香激情五月婷婷 | 中文字幕一区二区三区乱码不卡 | 国产黄色精品网站 | 成年人视频免费在线播放 | 狠狠操天天操 | 欧美视频在线二区 | 最近中文字幕视频网 | 在线视频1卡二卡三卡 | 中文在线字幕免费观 | 99九九99九九九视频精品 | 91久久精品日日躁夜夜躁国产 | 日韩综合精品 | 午夜精品久久久久久久爽 | 日韩高清一二三区 | 三级黄色欧美 | 亚洲aⅴ乱码精品成人区 | 国产免费视频在线 | 亚洲国产精品影院 | 天堂av最新网址 | 久久av福利 | 99免费在线视频观看 | 亚洲精品视频免费在线观看 | 在线观看黄色的网站 | 欧美日韩在线看 | 久久国产免费看 | 在线欧美a | 久久夜视频 | 日韩精品一区二区三区免费观看 | 免费看国产a | 久久最新视频 | 黄色免费av | 国产高清在线a视频大全 | 91资源在线| 色综合天天狠天天透天天伊人 | 欧美欧美| 国产亚洲观看 | 天天射天天 | 91视频啊啊啊 | www麻豆视频 | 国产精品久久久一区二区三区网站 | 综合久久婷婷 | 国产成人在线看 | 亚洲日本成人 | 在线看欧美| 香蕉91视频 | 久久精品综合网 | 国产精品 美女 | 久久人人做 | 欧美性超爽| 狠狠色狠狠综合久久 | 中文字幕视频一区 | 久久久91精品国产一区二区精品 | 久久艹中文字幕 | 欧美aa级 | www色com| 欧美做受高潮电影o | 婷婷视频在线观看 | 久久a热6 | 午夜久久福利视频 | 亚洲高清在线 | 97在线视 | 久久国产美女视频 | 日本激情视频中文字幕 | 在线播放一区二区三区 | 麻豆视频免费在线 | 久草99 | 6699私人影院 | 天天操天天操天天 | 国产 日韩 中文字幕 | 国产成人香蕉 | 中文字幕专区高清在线观看 | 日韩免费看 | 中文字幕在线观看2018 | 精品国产1区二区 | 午夜日b视频 | 夜夜操网 | 国产成人精品综合久久久 | 天天操天天添天天吹 | 国产亚洲视频中文字幕视频 | 亚洲综合在线五月天 | av免费在线播放 | av成人在线电影 | 色婷在线 | 欧美日韩视频在线观看免费 | 成年人免费在线观看 | 国产精品福利在线 | 精品国产免费一区二区三区五区 | 国产高清成人 | 亚洲 欧美 日韩 综合 | 国产高清视频在线 | 日韩激情影院 | 天天在线视频色 | 亚洲午夜精品一区二区三区电影院 | 国产在线看一区 | 伊人永久 | 久久精品亚洲一区二区三区观看模式 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 国产资源在线观看 | 在线播放av网址 | 日韩电影在线观看一区 | 国产精品高清一区二区三区 | www.色婷婷 | 国产99久久九九精品免费 | 国产高清av免费在线观看 | 久久成人高清 | 91亚洲网| 婷婷色中文字幕 | 四虎在线免费观看 | mm1313亚洲精品国产 | 欧美日韩中 | 久久99久久99久久 | 在线蜜桃视频 | 一区二区 久久 | 久久er99热精品一区二区三区 | 最新日韩精品 | 波多野结衣视频一区 | 一区二区三区四区五区在线 | 国产视频综合在线 | 一级做a爱片性色毛片www | 日韩精品1区2区 | 久久久精品国产免费观看一区二区 | 日本黄色a级大片 | 日韩成人在线免费观看 | 五月婷婷综合激情网 | 激情网在线观看 | 97视频网址 | 久草在线手机观看 | 成人毛片在线视频 |