版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第三章 計(jì)算機(jī)病毒結(jié)構(gòu)分析本章學(xué)習(xí)目標(biāo) 掌握計(jì)算機(jī)病毒的結(jié)構(gòu) 掌握計(jì)算機(jī)病毒的工作機(jī)制 了解引導(dǎo)型病毒原理 了解com、exe、ne、pe可執(zhí)行文件格式 掌握com文件病毒原理及實(shí)驗(yàn) 掌握pe文件型病毒及實(shí)驗(yàn)總體概念 dos是vxer的樂園(aver) 9x病毒 ring3, ring0 2k病毒 主要是ring3 windows文件格式變遷: com exe:mz-ne-pe vxd: le(16bit, 32bit)一、計(jì)算機(jī)病毒的結(jié)構(gòu)和工作機(jī)制計(jì)算機(jī)病毒的結(jié)構(gòu)和工作機(jī)制 四大模塊: 感染模塊 觸發(fā)模塊 破壞模塊(表現(xiàn)模塊) 引導(dǎo)模塊(主控模塊) 兩個狀態(tài): 靜態(tài) 動態(tài)工作機(jī)制引導(dǎo)模塊 引
2、導(dǎo)前寄生 寄生位置: 引導(dǎo)區(qū) 可執(zhí)行文件 寄生手段: 替代法(寄生在引導(dǎo)區(qū)中的病毒常用該法) 鏈接法(寄生在文件中的病毒常用該法) 引導(dǎo)過程 駐留內(nèi)存 竊取系統(tǒng)控制權(quán) 恢復(fù)系統(tǒng)功能 引導(dǎo)區(qū)病毒引導(dǎo)過程 搬遷系統(tǒng)引導(dǎo)程序-替代為病毒引導(dǎo)程序 啟動時-病毒引導(dǎo)模塊-加載傳染、破壞和觸發(fā)模塊到內(nèi)存-使用常駐技術(shù) 最后,轉(zhuǎn)向系統(tǒng)引導(dǎo)程序-引導(dǎo)系統(tǒng) 文件型病毒引導(dǎo)過程 修改入口指令-替代為跳轉(zhuǎn)到病毒模塊的指令 執(zhí)行時-跳轉(zhuǎn)到病毒引導(dǎo)模塊-病毒引導(dǎo)模塊-加載傳染、破壞和觸發(fā)模塊到內(nèi)存-使用常駐技術(shù) 最后,轉(zhuǎn)向程序的正常執(zhí)行指令-執(zhí)行程序感染模塊感染模塊 病毒傳染的條件 被動傳染(靜態(tài)時) 用戶在進(jìn)行拷貝磁
3、盤或文件時,把一個病毒由一個載體復(fù)制到另一個載體上?;蛘呤峭ㄟ^網(wǎng)絡(luò)上的信息傳遞,把一個病毒程序從一方傳遞到另一方。這種傳染方式叫做計(jì)算機(jī)病毒的被動傳染。 主動傳染(動態(tài)時) 以計(jì)算機(jī)系統(tǒng)的運(yùn)行以及病毒程序處于激活狀態(tài)為先決條件。在病毒處于激活的狀態(tài)下,只要傳染條件滿足,病毒程序能主動地把病毒自身傳染給另一個載體或另一個系統(tǒng)。這種傳染方式叫做計(jì)算機(jī)病毒的主動傳染。 傳染過程 系統(tǒng)(程序)運(yùn)行-各種模塊進(jìn)入內(nèi)存-按多種傳染方式傳染 傳染方式 立即傳染,即病毒在被執(zhí)行的瞬間,搶在宿主程序開始執(zhí)行前,立即感染磁盤上的其他程序,然后再執(zhí)行宿主程序。 駐留內(nèi)存并伺機(jī)傳染,內(nèi)存中的病毒檢查當(dāng)前系統(tǒng)環(huán)境,在執(zhí)
4、行一個程序、瀏覽一個網(wǎng)頁時傳染磁盤上的程序,駐留在系統(tǒng)內(nèi)存中的病毒程序在宿主程序運(yùn)行結(jié)束后,仍可活動,直至關(guān)閉計(jì)算機(jī)。 文件型病毒傳染機(jī)理 首先根據(jù)病毒自己的特定標(biāo)識來判斷該文件是否已感染了該病毒; 當(dāng)條件滿足時,將病毒鏈接到文件的特定部位,并存入磁盤中; 完成傳染后,繼續(xù)監(jiān)視系統(tǒng)的運(yùn)行,試圖尋找新的攻擊目標(biāo)。 文件型病毒傳染途徑 加載執(zhí)行文件 瀏覽目錄過程 創(chuàng)建文件過程 破壞模塊破壞模塊 破壞是vxer的追求,病毒魅力的體現(xiàn) 破壞模塊的功能 破壞、破壞、還是破壞 破壞對象 系統(tǒng)數(shù)據(jù)區(qū)、文件、內(nèi)存、系統(tǒng)運(yùn)行速度、磁盤、cmos、主板和網(wǎng)絡(luò)等。 破壞的程度觸發(fā)模塊觸發(fā)模塊 觸發(fā)條件 計(jì)算機(jī)病毒在
5、傳染和發(fā)作之前,往往要判斷某些特定條件是否滿足,滿足則傳染或發(fā)作,否則不傳染或不發(fā)作或只傳染不發(fā)作,這個條件就是計(jì)算機(jī)病毒的觸發(fā)條件。 觸發(fā)模塊的目的是調(diào)節(jié)病毒的攻擊性和潛伏性之間的平衡 大范圍的感染行為、頻繁的破壞行為可能給用戶以重創(chuàng),但是,它們總是使系統(tǒng)或多或少地出現(xiàn)異常,容易使病毒暴露。 而不破壞、不感染又會使病毒失去其特性。 可觸發(fā)性是病毒的攻擊性和潛伏性之間的調(diào)整杠桿,可以控制病毒感染和破壞的頻度,兼顧殺傷力和潛伏性。病毒常用的觸發(fā)條件 日期觸發(fā) 時間觸發(fā) 鍵盤觸發(fā) 感染觸發(fā) 例如,運(yùn)行感染文件個數(shù)觸發(fā)、感染序數(shù)觸發(fā)、感染磁盤數(shù)觸發(fā)、感染失敗觸發(fā)等。 啟動觸發(fā) 訪問磁盤次數(shù)觸發(fā) cp
6、u型號/主板型號觸發(fā)二、二、16位操作系統(tǒng)病毒編制技術(shù)位操作系統(tǒng)病毒編制技術(shù) 1 引導(dǎo)型病毒編制原理引導(dǎo)型病毒編制原理 2 com、exe、ne文件結(jié)構(gòu)及運(yùn)行原理文件結(jié)構(gòu)及運(yùn)行原理 3 com文件病毒原理文件病毒原理1 引導(dǎo)型病毒編制原理引導(dǎo)型病毒編制原理 pc引導(dǎo)流程加電cpubios初始化post自檢引導(dǎo)區(qū)、分區(qū)表檢查發(fā)現(xiàn)操作系統(tǒng)執(zhí)行引導(dǎo)程序mbr和分區(qū)表裝載dos引導(dǎo)區(qū)運(yùn)行dos引導(dǎo)程序加載io.sysmsdos.sys加載引導(dǎo)型病毒從軟盤加載到內(nèi)存尋找dos引導(dǎo)區(qū)的位置將引導(dǎo)區(qū)移動到別的位置病毒將自己寫入原引導(dǎo)區(qū)的位置mbr和分區(qū)表將病毒的引導(dǎo)程序加載入內(nèi)存運(yùn)行病毒引導(dǎo)程序病毒駐留內(nèi)存
7、原引導(dǎo)程序執(zhí)行并加載系統(tǒng)2comexene文件結(jié)構(gòu)及運(yùn)行原文件結(jié)構(gòu)及運(yùn)行原理理com格式最簡單的可執(zhí)行文件就是dos下的以com(copy of memory)文件。com格式文件最大64kb,內(nèi)含16位程序的二進(jìn)制代碼映像,沒有重定位信息。com文件包含程序二進(jìn)制代碼的一個絕對映像,也就是說,為了運(yùn)行程序準(zhǔn)確的處理器指令和內(nèi)存中的數(shù)據(jù),dos通過直接把該映像從文件拷貝到內(nèi)存來加載com程序,系統(tǒng)不需要作重定位工作。 加載com程序 dos嘗試分配內(nèi)存。因?yàn)閏om程序必須位于一個64k的段中,所以com文件的大小不能超過65,024(64k減去用于psp的256字節(jié)和用于一個起始堆棧的至少25
8、6字節(jié))。 如果dos不能為程序、一個psp、一個起始堆棧分配足夠內(nèi)存,則分配嘗試失敗。 否則,dos分配盡可能多的內(nèi)存(直至所有保留內(nèi)存),即使com程序本身不能大于64k。 在試圖運(yùn)行另一個程序或分配另外的內(nèi)存之前,大部分com程序釋放任何不需要的內(nèi)存。 分配內(nèi)存后,dos在該內(nèi)存的頭256字節(jié)建立一個psp(program segment prefix:程序段前綴)。 創(chuàng)建psp后,dos在psp后立即開始(偏移100h)加載com文件,它置ss、ds和es為psp的段地址,接著創(chuàng)建一個堆棧。 dos通過把控制傳遞偏移100h處的指令而啟動程序。程序設(shè)計(jì)者必須保證com文件的第一條指令是
9、程序的入口點(diǎn)。 因?yàn)槌绦蚴窃谄?00h處加載,因此所有代碼和數(shù)據(jù)偏移也必須相對于100h。匯編語言程序設(shè)計(jì)者可通過置程序的初值為100h而保證這一點(diǎn)(例如,通過在源代碼的開始使用語句org 100h)。 psp結(jié)構(gòu)偏移大小 長度(byte) 說 明0000h 02 中斷20h0002h 02 以節(jié)計(jì)算的內(nèi)存大小(利用它可看出是否感染引導(dǎo)型病毒)0004h 01 保留0005h 05 至dos的長調(diào)用000ah 02 int 22h 入口 ip000ch 02 int 22h 入口 cs000eh 02 int 23h 入口 ip0010h 02 int 23h 入口 cs0012h 02 i
10、nt 24h 入口 ip0014h 02 int 24h 入口 cs0016h 02 父進(jìn)程的psp段值(可測知是否被跟蹤)0018h 14 存放20個soft號002ch 02 環(huán)境塊段地址(從中可獲知執(zhí)行的程序名)002eh 04 存放用戶棧地址指針0032h 1e 保留0050h 03 dos調(diào)用(int 21h / retf)0053h 02 保留0055h 07 擴(kuò)展的fcb頭005ch 10 格式化的fcb1006ch 10 格式化的fcb2007ch 04 保留0080h 80 命令行參數(shù)長度0081h 127 命令行參數(shù)mz格式 mz格式:com發(fā)展下去就是mz格式的可執(zhí)行文件
11、,這是dos中具有重定位功能的可執(zhí)行文件格式。mz可執(zhí)行文件內(nèi)含16位代碼,在這些代碼之前加了一個文件頭,文件頭中包括各種說明數(shù)據(jù),例如,第一句可執(zhí)行代碼執(zhí)行指令時所需要的文件入口點(diǎn)、堆棧的位置、重定位表等。 裝載過程: 操作系統(tǒng)根據(jù)文件頭的信息將代碼部分裝入內(nèi)存, 然后根據(jù)重定位表修正代碼, 最后在設(shè)置好堆棧后從文件頭中指定的入口開始執(zhí)行。 dos可以把mz格式的程序放在任何它想要的地方。mz標(biāo)志mz文件頭其它信息重定位表的字節(jié)偏移量重定位表重定位表可重定位程序映像二進(jìn)制代碼/ mz格式可執(zhí)行程序文件頭struct headexeword wtype; / 00h mz標(biāo)志word wlas
12、tsecsize; / 02h 最后扇區(qū)被使用的大小word wfilesize; / 04h 文件大小word wrelocnum; / 06h 重定位項(xiàng)數(shù)word wheadsize; / 08h 文件頭大小word wreqmin; / 0ah 最小所需內(nèi)存word wreqmax; / 0ch 最大所需內(nèi)存word winitss; / 0eh ss初值word winitsp; / 10h sp初值word wchksum; / 12h 校驗(yàn)和word winitip; / 14h ip初值word winitcs; / 16h cs初值word wfirstreloc; / 18h
13、 第一個重定位項(xiàng)位置word woverlap; / 1ah覆蓋word wreserved0 x20;/1ch 保留word wneoffset; / 3ch ne頭位置; ne格式 為了保持對dos的兼容性并滿足windows的需要,win3.x中出現(xiàn)的ne格式的可執(zhí)行文件中保留了mz格式的頭,同時ne文件又加了一個自己的頭,之后才是可執(zhí)行文件的可執(zhí)行代碼。ne類型包括了exe、dll、drv和fon四種類型的文件。ne格式的關(guān)鍵特性是:它把程序代碼、數(shù)據(jù)、資源隔離在不同的可加載區(qū)中;藉由符號輸入和輸出,實(shí)現(xiàn)所謂的運(yùn)行時動態(tài)鏈接。ne裝載 16位的ne格式文件裝載程序(ne loader)
14、讀取部分磁盤文件,并生成一個完全不同的數(shù)據(jù)結(jié)構(gòu),在內(nèi)存中建立模塊。 當(dāng)代碼或數(shù)據(jù)需要裝入時,裝載程序必須從全局內(nèi)存中分配出一塊,查找原始數(shù)據(jù)在文件的位置,找到位置后再讀取原始的數(shù)據(jù),最后再進(jìn)行一些修正。 每一個16位的模塊(module)要負(fù)責(zé)記住現(xiàn)在使用的所有段選擇符,該選擇符表示該段是否已經(jīng)被拋棄等信息。 ms-dos頭dos文件頭保留區(qū)域windows頭偏移dos stub程序信息塊ne文件頭段表資源表駐留名表模塊引用表引入名字表入口表非駐留名表代碼段和數(shù)據(jù)段程序區(qū)重定位表3 com文件病毒原理文件病毒原理 感染過程: 將開始的3個字節(jié)保存在orgcode中 將這3個字節(jié)更改為0e9h和
15、com文件的實(shí)際大小的二進(jìn)制編碼。 將病毒寫入原com文件的后邊。 在病毒的返回部分,將3個字節(jié)改為0e9h和表達(dá)式(當(dāng)前地址com文件的實(shí)際大小病毒代碼大小)的二進(jìn)制編碼,以便在執(zhí)行完病毒后轉(zhuǎn)向執(zhí)行原程序。e9:e9源代碼:jump源代碼示例講解三、三、32位操作系統(tǒng)病毒示例分析位操作系統(tǒng)病毒示例分析 pe文件結(jié)構(gòu)及其運(yùn)行原理文件結(jié)構(gòu)及其運(yùn)行原理 win32文件型病毒編制技術(shù)文件型病毒編制技術(shù) 從從ring3到到ring0概述pe文件結(jié)構(gòu)及其運(yùn)行原理文件結(jié)構(gòu)及其運(yùn)行原理(1)pe文件格式總體結(jié)構(gòu)文件格式總體結(jié)構(gòu) pe(portable executable:可移植的執(zhí)行體) 是win32環(huán)境
16、自身所帶的可執(zhí)行文件格式。 它的一些特性繼承自unix的coff(common object file format)文件格式。 可移植的執(zhí)行體意味著此文件格式是跨win32平臺的,即使windows運(yùn)行在非intel的cpu上,任何win32平臺的pe裝載器都能識別和使用該文件格式。 當(dāng)然,移植到不同的cpu上pe執(zhí)行體必然得有一些改變。 除vxd和16位的dll外,所有 win32執(zhí)行文件都使用pe文件格式。因此,研究pe文件格式是我們洞悉windows結(jié)構(gòu)的良機(jī)。 pe文件結(jié)構(gòu)總體層次分布dos mz headermz格式頭dos stubdos樁程序pe headerpe文件頭sect
17、ion table節(jié)表section 1第1個節(jié)section 2第2個節(jié)section n第n個節(jié) 所有 pe文件必須以一個簡單的dos mz header開始。有了它,一旦程序在dos下執(zhí)行,dos就能識別出這是有效的執(zhí)行體。 dos stub實(shí)際上是個有效的exe,在不支持 pe文件格式的操作系統(tǒng)中,它將簡單顯示一個錯誤提示,類似于字符串 “該程序不能在dos模式下運(yùn)行”或者程序員可根據(jù)自己的意圖實(shí)現(xiàn)完整的dos代碼。 pe header是pe相關(guān)結(jié)構(gòu)image_nt_headers的簡稱,其中包含了許多pe裝載器用到的重要域。 section table(節(jié)表) 是節(jié)的索引。 pe文件
18、的真正內(nèi)容被劃分成塊,我們稱之為sections(節(jié))。 每節(jié)是一塊擁有共同屬性的數(shù)據(jù),比如代碼/數(shù)據(jù)、讀/寫等。 把pe文件想象成一邏輯磁盤,pe header是磁盤的boot扇區(qū),而sections就是各種文件,每種文件自然就有不同屬性如只讀、系統(tǒng)、隱藏、文檔等等。其中節(jié)表就像目錄。 值得我們注意的是節(jié)的劃分是基于各組數(shù)據(jù)的共同屬性而不是邏輯概念。因此,我么不必關(guān)心節(jié)中類似于data, code或其他的邏輯概念。如果數(shù)據(jù)和代碼擁有相同屬性,它們就可以被歸入同一個節(jié)中。 節(jié)名稱僅僅是個區(qū)別不同節(jié)的符號而已,類似于data和code等的節(jié)名稱只為了便于識別,惟有節(jié)的屬性設(shè)置決定了節(jié)的特性和功能
19、。如果某塊數(shù)據(jù)想作為只讀屬性,就可以將該塊數(shù)據(jù)放入屬性為只讀的節(jié)中。裝載pe文件的主要步驟 第一,當(dāng)pe文件被執(zhí)行,pe裝載器檢查dos mz header里的pe header偏移量。如果找到,則跳轉(zhuǎn)到pe header。 第二,pe裝載器檢查pe header的有效性。如果有效,就跳轉(zhuǎn)到pe header的尾部。 第三,緊跟pe header的是節(jié)表。pe裝載器讀取其中的節(jié)索引信息,并采用文件映射方法將這些節(jié)映射到內(nèi)存,同時附上節(jié)表里指定的節(jié)屬性。 第四,pe文件映射入內(nèi)存后,pe裝載器將處理pe文件中類似import table(引入表)邏輯部分。(2)檢驗(yàn)pe文件的有效性 什么樣的文件
20、是有效的? 只要一些關(guān)鍵數(shù)據(jù)結(jié)構(gòu)有效,我們就認(rèn)為是有效的pe文件了。 這個重要數(shù)據(jù)結(jié)構(gòu)就是pe header。從編程角度看,pe header實(shí)際就是一個 image_nt_headers 結(jié)構(gòu)。 image_nt_headers 結(jié)構(gòu)的定義如下:image_nt_headers struct signature dd fileheader image_file_header optionalheader image_optional_header32image_nt_headers ends signature:該域?yàn)閜e標(biāo)記,值為50h, 45h, 00h, 00h(pe00)。 imag
21、e_dos_signature equ 5a4dh image_os2_signature equ 454eh image_os2_signature_le equ 454ch image_vxd_signature equ 454ch image_nt_signature equ 4550h fileheader:該結(jié)構(gòu)域包含了關(guān)于pe文件物理分布的信息,比如節(jié)數(shù)目、文件執(zhí)行機(jī)器等。optionalheader:該結(jié)構(gòu)域包含了關(guān)于pe文件邏輯分布的信息。定位pe header dosmz header(image_dos_header )包含了指向pe header 的文件偏移量,即e_lf
22、anew。 定位步驟為: 第一,檢驗(yàn)文件頭部第一個字的值是否等于image_dos_signature,是則dos mz header有效。 第二,一旦證明文件的dos mz header有效后,就可用e_lfanew來定位pe header了。 第三,比較pe header的第一個字的值是否等于image_nt_ signature。如果前后兩個值都匹配,那我們就認(rèn)為該文件是一個有效的pe文件。(3)文件頭(fileheader) 文件頭(fileheader)是image_nt_headers的一個重要的域。文件頭的表示結(jié)構(gòu)為: image_file_header struct machi
23、ne word numberofsections word timedatestamp dd pointertosymboltable dd numberofsymbols dd sizeofoptionalheader word characteristics word image_file_header ends 域名含義machine該文件運(yùn)行所要求的cpu。對于intel平臺,該值是image_file_machine_i386 (14ch)。numberofsections文件的節(jié)數(shù)目。如果我們要在文件中增加或刪除一個節(jié),就需要修改這個值。timedatestamp文件創(chuàng)建日期和時間
24、。要讓它保持原樣,不要變pointertosymboltable用于調(diào)試。numberofsymbols用于調(diào)試。sizeofoptionalheader指示緊隨本結(jié)構(gòu)之后的optionalheader結(jié)構(gòu)大小,必須為有效值。characteristics關(guān)于文件信息的標(biāo)記,比如文件是exe還是dll。注:節(jié)、節(jié)表和numberofsections的關(guān)系節(jié)表數(shù)組邊界確定numberofsections全標(biāo)示(4) optional header optional header是pe header中最后,最大,也是最重要的成員,包含了pe文件的邏輯分布信息。該結(jié)構(gòu)共有31個域。 虛擬地址(vav
25、irtual address) rva(relative virtual address,相對虛擬地址)域名含義addressofentrypointpe裝載器準(zhǔn)備運(yùn)行的pe文件的第一個指令的rva。若您要改變整個執(zhí)行的流程,可以將該值指定到新的rva,這樣新rva處的指令首先被執(zhí)行。imagebasepe文件的優(yōu)先裝載地址。比如,如果該值是400000h,pe裝載器將嘗試把文件裝到虛擬地址空間的400000h處。若該地址區(qū)域已被其他模塊占用,那pe裝載器會選用其他空閑地址。sectionalignment內(nèi)存中節(jié)對齊的粒度。例如,如果該值是4096 (1000h),那么每節(jié)的起始地址必須是4
26、096的倍數(shù)。若第一節(jié)從401000h開始且大小是10個字節(jié),則下一節(jié)必定從402000h開始,即使401000h和402000h之間還有很多空間沒被使用。filealignment文件中節(jié)對齊的粒度。含義類似sectionalignment。majorsubsystemversionminorsubsystemversion win32系統(tǒng)版本。sizeofimage內(nèi)存中整個pe映像體的尺寸。它是所有頭和節(jié)經(jīng)過節(jié)對齊處理后的大小。 sizeofheaders所有頭+節(jié)表的大小,也就等于文件尺寸減去文件中所有節(jié)的尺寸??梢砸源酥底鳛閜e文件第一節(jié)的文件偏移量。subsystemnt用來識別pe文件屬于哪個子系統(tǒng)。對于大多數(shù)win32程序,只有兩類值: windows gui 和 windows cui (控制臺)。(5)節(jié)表 (section table) section table是用來索引節(jié)的數(shù)組結(jié)構(gòu),其詳細(xì)表示為: image_sizeof_short_name equ 8 image_section_header struct name db image_sizeof_short_name dup(?) union misc physicaladdress dd v
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度農(nóng)村房屋轉(zhuǎn)讓合同(含土地流轉(zhuǎn)服務(wù))
- 二零二五年度公寓樓出租合同樣本(精裝修物業(yè)費(fèi)家具家電)3篇
- 2025年度美容院投資入股合作協(xié)議模板3篇
- 2025年度兼職軟件開發(fā)外包合同3篇
- 二零二五年度綠色能源項(xiàng)目公司貸款協(xié)議書3篇
- 二零二五年度全新教育機(jī)構(gòu)兼職教師職稱評定合同3篇
- 二零二五年度公司與員工數(shù)字貨幣合作合伙協(xié)議3篇
- 2025年度全日制勞務(wù)合同書(環(huán)保能源設(shè)施運(yùn)維)3篇
- 2025年度綠色有機(jī)農(nóng)產(chǎn)品直供合作購銷合同協(xié)議3篇
- 2025年度水果店轉(zhuǎn)讓及供應(yīng)鏈管理合同模板3篇
- 社區(qū)工作者招聘模擬測試題附答案
- 模糊決策培訓(xùn)課件教案模板
- 混凝土攪拌站安全操作規(guī)程技術(shù)交底培訓(xùn)
- 2023年江蘇省南京市南師附中特長生考試數(shù)學(xué)試題
- 2023年高爾夫球車行業(yè)市場突圍建議及需求分析報(bào)告
- 陵水黎族自治縣食品公司椰林屠宰場生豬定點(diǎn)屠宰項(xiàng)目環(huán)評報(bào)告
- 迎新年卡拉OK比賽主持詞
- 2023叉車使用安全管理規(guī)范
- 膠粘劑行業(yè)銷售人員工作匯報(bào)
- 3-6歲兒童學(xué)習(xí)與發(fā)展指南語言領(lǐng)域解讀
- 2023-2024學(xué)年浙教版科學(xué)九年級上冊期末測試+
評論
0/150
提交評論