三菱PLC三菱PLCFX3U解密研究最新進展_第1頁
三菱PLC三菱PLCFX3U解密研究最新進展_第2頁
三菱PLC三菱PLCFX3U解密研究最新進展_第3頁
三菱PLC三菱PLCFX3U解密研究最新進展_第4頁
三菱PLC三菱PLCFX3U解密研究最新進展_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 HYPERLINK /St221084 三菱 PLC 三菱PLC FX3U解密研究最新進展 我是從2010年5月26日開始研究FX3U解密,查遍網(wǎng)絡找不到只言半語,看來FX3U解密沒人研究,或者研究的人怕人家學,竟然找不到一丁點有用的信息??磥碇挥锌孔粤Ω?。 雖然目前已經(jīng)研究成功了FX3U解密,免拆機的,讀出正確程序和參數(shù),包括禁止上載的問題也能讀出正確程序和參數(shù)。但我還是想把當時研究解密的過程整理出來,供有興趣的朋友參考,我這里所講的過程也是我實踐研究的過程,這當中也難免要走彎路的。但最終是要通往成功的大道的。其實 沒必要搞得這么神秘,PLC解密沒那么復雜。 1、三菱 PLC FX3U

2、 用的編程軟件必須采用GX Developer8.10以上的版本,我是從網(wǎng)上下載個GX Developer Version8.52E就可以支持FX3U的編程。啟動GX Developer,從幫助菜單就可以看到編程軟件的版本號,如下圖所示。 從工程菜單,創(chuàng)建新工程,PLC系列中選擇FXCPU,PLC類型中選FX3U(C)就可以對FX3U進行編程的各種操作。 2、FX3U的加密方法是:打開GX Developer 后從菜單 在線登錄關(guān)鍵字新建登錄,改變.進入,顯示如下界面: FX3U可以設置兩個密碼,即關(guān)鍵字和第2關(guān)鍵字,每個有8個字符(字符只能是0-F共16個16進制的字符),這樣說明如果兩個關(guān)

3、鍵字都設定的話密碼總共有16個字符。這樣可以組合多少種密碼呢,即1616=18446744073709551616.這是個天文數(shù)字,有人想要用窮舉法解密,那是不可能的。 3、首先隨便編個測試程序,不加密,兩個關(guān)鍵字都不設定,寫入FX3U,然后用FXWIN軟件選取FX2N型號讀出程式,竟然能讀出正確的程序來。相信三菱FX PLC的FXWIN程軟件大家應該很熟悉了。界面如下所示: 用自編的FX三菱解密軟件連線顯示,F(xiàn)X3U PLC竟然顯示成FX2N版本號為2.41,說明FX3U是FX2N的高級版本。 4、繼續(xù)測試,用 GX Developer 只設定第1關(guān)鍵字,第2關(guān)鍵字為空。用自編的FX三菱解密

4、軟件(可解FX0N、1N、2N、1S、FX2),進行解密。竟然解出密碼來。按FX2N型號進行下載也能下載程序,說明當只設一個關(guān)鍵字的時候,F(xiàn)X3U加密機制和FX2N的是一模一樣的。CP1H解密 FX3U解密 FX3G解密 FPX解密 CP1E解密CJ1M解密 CP1Eusb口解密 MT6000解密 MT8000解密 GOT1000解密看看我的FX解密軟件: 5、繼續(xù)測試,用 GX Developer 同時設定第1關(guān)鍵字,第2關(guān)鍵字。 這時用老的解密軟件解不出來了,用老的編程軟件FXGP-WIN-C,企圖讀入程序,顯示通信錯誤。 6、看來只有祭出法寶了,那就是PLC解密

5、通用的法寶串口監(jiān)控軟件。 先啟用串口監(jiān)控軟件,設置好開始監(jiān)控,然后運行編程軟件。注意順序要搞對喔。從菜單-在線-傳輸設置,進入傳輸設置界面,然后“按通信測試”鍵,顯示CPU類型為FX3U,通信成功。此時從串口監(jiān)控到的數(shù)據(jù)是:# Time Function Data ( Hex )1 00000000 IRP_MJ_CREATE Port Opened - Gppw.exe2 00000000 IOCTL_SERIAL_SET_BAUD_RATE Baud Rate: 1152003 00000000 IOCTL_SERIAL_SET_LINE_CONTROL StopBits: 1, Pari

6、ty: Even, DataBits: 74 00000001 IRP_MJ_WRITE Length: 0001, Data: 05 5 00000002 IRP_MJ_READ Length: 0001, Data: 06 6 00000002 IRP_MJ_WRITE Length: 0011, Data: 02 30 30 45 30 32 30 32 03 36 43 7 00000003 IRP_MJ_READ Length: 0001, Data: 02 8 00000003 IRP_MJ_READ Length: 0001, Data: 42 9 00000003 IRP_MJ

7、_READ Length: 0001, Data: 31 10 00000003 IRP_MJ_READ Length: 0001, Data: 35 11 00000003 IRP_MJ_READ Length: 0001, Data: 45 12 00000003 IRP_MJ_READ Length: 0001, Data: 03 13 00000003 IRP_MJ_READ Length: 0001, Data: 46 14 00000003 IRP_MJ_READ Length: 0001, Data: 30 15 00000004 IRP_MJ_WRITE Length: 001

8、1, Data: 02 30 30 45 43 41 30 32 03 38 45 16 00000004 IRP_MJ_READ Length: 0001, Data: 02 17 00000004 IRP_MJ_READ Length: 0001, Data: 37 18 00000004 IRP_MJ_READ Length: 0001, Data: 31 19 00000004 IRP_MJ_READ Length: 0001, Data: 33 20 00000004 IRP_MJ_READ Length: 0001, Data: 46 21 00000004 IRP_MJ_READ

9、 Length: 0001, Data: 03 22 00000004 IRP_MJ_READ Length: 0001, Data: 45 23 00000004 IRP_MJ_READ Length: 0001, Data: 34 24 00000005 IRP_MJ_WRITE Length: 0011, Data: 02 30 30 45 30 32 30 32 03 36 43 25 00000006 IRP_MJ_READ Length: 0001, Data: 02 26 00000006 IRP_MJ_READ Length: 0001, Data: 42 27 0000000

10、6 IRP_MJ_READ Length: 0001, Data: 31 28 00000006 IRP_MJ_READ Length: 0001, Data: 35 29 00000006 IRP_MJ_READ Length: 0001, Data: 45 30 00000006 IRP_MJ_READ Length: 0001, Data: 03 31 00000006 IRP_MJ_READ Length: 0001, Data: 46 32 00000006 IRP_MJ_READ Length: 0001, Data: 30 33 00000006 IRP_MJ_WRITE Len

11、gth: 0011, Data: 02 30 30 45 43 41 30 32 03 38 45 34 00000007 IRP_MJ_READ Length: 0001, Data: 02 35 00000007 IRP_MJ_READ Length: 0001, Data: 37 36 00000007 IRP_MJ_READ Length: 0001, Data: 31 37 00000007 IRP_MJ_READ Length: 0001, Data: 33 38 00000007 IRP_MJ_READ Length: 0001, Data: 46 39 00000007 IRP

12、_MJ_READ Length: 0001, Data: 03 40 00000007 IRP_MJ_READ Length: 0001, Data: 45 41 00000007 IRP_MJ_READ Length: 0001, Data: 34 42 00000015 IRP_MJ_CLOSE Port Closed開始花大量時間來分析這些數(shù)據(jù)吧。 上述從串口監(jiān)控到的數(shù)據(jù)是十六進制的數(shù)據(jù),還真不好看,先轉(zhuǎn)換成ASC碼,就好看多了。# Time Function Data ( String )1 00000000 IRP_MJ_CREATE Port Opened - Gppw.exe2

13、00000000 IOCTL_SERIAL_SET_BAUD_RATE Baud Rate: 1152003 00000000 IOCTL_SERIAL_SET_LINE_CONTROL StopBits: 1, Parity: Even, DataBits: 74 00000001 IRP_MJ_WRITE Length: 0001, Data: 5 00000002 IRP_MJ_READ Length: 0001, Data: 6 00000002 IRP_MJ_WRITE Length: 0011, Data: 00E02026C7 00000003 IRP_MJ_READ Lengt

14、h: 0001, Data: 8 00000003 IRP_MJ_READ Length: 0001, Data: B9 00000003 IRP_MJ_READ Length: 0001, Data: 110 00000003 IRP_MJ_READ Length: 0001, Data: 511 00000003 IRP_MJ_READ Length: 0001, Data: E12 00000003 IRP_MJ_READ Length: 0001, Data: 13 00000003 IRP_MJ_READ Length: 0001, Data: F14 00000003 IRP_MJ

15、_READ Length: 0001, Data: 015 00000004 IRP_MJ_WRITE Length: 0011, Data: 00ECA028E16 00000004 IRP_MJ_READ Length: 0001, Data: 17 00000004 IRP_MJ_READ Length: 0001, Data: 718 00000004 IRP_MJ_READ Length: 0001, Data: 119 00000004 IRP_MJ_READ Length: 0001, Data: 320 00000004 IRP_MJ_READ Length: 0001, Da

16、ta: F21 00000004 IRP_MJ_READ Length: 0001, Data: 22 00000004 IRP_MJ_READ Length: 0001, Data: E23 00000004 IRP_MJ_READ Length: 0001, Data: 424 00000005 IRP_MJ_WRITE Length: 0011, Data: 00E02026C25 00000006 IRP_MJ_READ Length: 0001, Data: 26 00000006 IRP_MJ_READ Length: 0001, Data: B27 00000006 IRP_MJ

17、_READ Length: 0001, Data: 128 00000006 IRP_MJ_READ Length: 0001, Data: 529 00000006 IRP_MJ_READ Length: 0001, Data: E30 00000006 IRP_MJ_READ Length: 0001, Data: 31 00000006 IRP_MJ_READ Length: 0001, Data: F32 00000006 IRP_MJ_READ Length: 0001, Data: 033 00000006 IRP_MJ_WRITE Length: 0011, Data: 00EC

18、A028E34 00000007 IRP_MJ_READ Length: 0001, Data: 35 00000007 IRP_MJ_READ Length: 0001, Data: 736 00000007 IRP_MJ_READ Length: 0001, Data: 137 00000007 IRP_MJ_READ Length: 0001, Data: 338 00000007 IRP_MJ_READ Length: 0001, Data: F39 00000007 IRP_MJ_READ Length: 0001, Data: 40 00000007 IRP_MJ_READ Len

19、gth: 0001, Data: E41 00000007 IRP_MJ_READ Length: 0001, Data: 442 00000015 IRP_MJ_CLOSE Port Closed從上面數(shù)據(jù)看到,其實只有四個回合的數(shù)據(jù)通信,其中還有兩個回合是一模一樣的重復的數(shù)據(jù)。分析如下:電腦發(fā):00E0202 查詢D8001的值PLC回:B15E 回復為5EB1,回復的數(shù)據(jù)高位在后、低位在前,所以要對調(diào)個位,5EB1轉(zhuǎn)為10進數(shù)據(jù)值為:24241,24表示PLC型號FX2N或3U,241表示版本號電腦發(fā):00ECA02碼 查詢D8101的值PLC回:713F 回復為3F71轉(zhuǎn)為10進數(shù)據(jù)值

20、為:16241,16表示PLC型號為FX3U,241表示版本號以上這一大段數(shù)據(jù)也就是編程軟件查詢一下PLC的型號,以便接下來按相應的通迅協(xié)議進行通迅。 7、接下來就編個簡單的程序,從PLC上載程序,對上載過程的數(shù)據(jù)交換進行監(jiān)控,現(xiàn)抄錄如下:一次完整的FX3U上載程序的數(shù)據(jù)這上面我標明了通迅協(xié)議的注釋,明眼人一看就明白PLC上載參數(shù)和上載程序采用的命令協(xié)議是什么。這上載參數(shù)與程序的過程中有一大段是先讀取D區(qū)的數(shù)據(jù),關(guān)于這些D區(qū)數(shù)據(jù)的意思在GX-D里有說明,我也整理出來,有助于大家理解這些參數(shù)的意義。 到了這一步,我停了好長一段時間沒有研究,因為解密有時是要靠靈感的,沒有靈感是沒辦法找到解密方法的

21、。最新資料請瀏覽: 經(jīng)過大概半年左右,有個解密的同行,一起再探討此事時說能不能用我們當時解松下FPX的方法試一下FX3U,于是又是幾個不眠之夜,終于搞定了,可以上載程序和參數(shù),可是當時只能是拆機。但是靈感一旦涌現(xiàn),就會像泉水一樣源源不斷,一個又一個的設想,一次又一次的測試,終于完美搞定FX3U解密。程序、參數(shù)、內(nèi)存全部OK。 上面的通迅數(shù)據(jù)中好好研究就有解密的命令喔。三菱FX3U解密軟件開發(fā)成功美讀出程序 參數(shù) 軟元件區(qū)數(shù)據(jù).三菱FX3Uc解密軟件免費下載使用 電話聯(lián)系人:周先生 QQ:121667231CP1H解密 FX3U解密 FX3G解

22、密 FPX解密 CP1E解密CJ1M解密 CP1Eusb口解密 MT6000解密 MT8000解密 GOT1000解密 NEW CP1H CP1E CP1L解密:全國獨創(chuàng)CP1H解密直讀密碼 所以不存在V1.2版本的功能塊被刪的問題 是目前最安全的解密方式。網(wǎng)上目前還沒有查到能直讀密碼的。NEW FX3U FX3UC FX3G解密:通過協(xié)議解FX3U系列PLC密碼 免拆機 可以在機臺上直接解密 安全可靠 也是當前PLC解密界比較好的解密方法。包括最新的禁止上傳的解密。NEW FPX FPG解密:能原始算出密碼 解決禁止上載的問題 保證不破壞原程序和內(nèi)存(FP-X,F(xiàn)P

23、G等,包括禁止上載)。NEW 臺達EH2 ES2解密 臺達EH2 ES2等高加密產(chǎn)品 NEW Koyo(光洋)解密 光洋SH SH1 SM SM1 SN SZ SU SR DL-305 DL-05 DL-06系列PLC 解密。 NEW 艾默生PLC解密 EC10 EC20系列等 NEW 歐姆龍PLC解密 CQM1H CJ1M CJ1G CJ1H CS1D CS1G CS1H CP1L CP1H CP1E解密 NEW 松下GT高加密屏 GT-01 GT-32等 NEW 三菱GOT1000解密 GOT1000全系列解密 NEW 維綸通觸摸屏解密MT6000解密 MT8000解密 MT6056解密

24、MT6070解密 MT8070解密 MT6100解密 MT8100解密 MT8104解密人機界面解密NEW 三菱Q系列解密Q00,Q01,Q00J,Q02,Q02H,Q06H,12H等聯(lián)系方式QQ:632234468歐姆龍CP1H解密、CP1E USB口解密以及OMRON CP系列PLC加密方式的交流 歐姆龍CP1H解密、CP1E解密用232口進行的早就是已經(jīng)是公開的秘密,USB口的解密現(xiàn)在還是鳳毛麟角,從網(wǎng)上有人號稱“國內(nèi)首創(chuàng)USB解密“,到我今天能用USB口解密僅用14天時間,一開始我想從先行者那了解相關(guān)情況,遇到的都是技術(shù)封鎖,經(jīng)過充分研究后,我現(xiàn)在透露,其實U

25、SB解密與232解密是一模一樣的原理。USB發(fā)送的命令其實在232口解密研究時,我就研究過,大家先看看下面這個多年前我寫的的一個軟件界面,用于時序恢復的。 因為多年前研究的sysway協(xié)議與ToolBus協(xié)議在我的軟件里早就有了,校驗,命令格式,早就熟悉了,現(xiàn)在一看USB口是同樣的道理,都沒有太大變化就不在活下。下面上個USB口數(shù)據(jù)的截圖,內(nèi)行的工控人士一看就明白了。 USB傳送的數(shù)據(jù): 下圖是關(guān)于OMRON USB口的參數(shù)說明的截圖: 有了上面參數(shù),你再研究一下USB原理關(guān)于URB、IRP、BLUK/INT 、STAK、SUBMIT_URB的說明。 當然還是離不開下面這個軟件: 只要你弄清楚

26、這些,那么USB接口解密你就不在話下了。 CP1H、CJM1、232口解密并直讀密碼,是我較早發(fā)布的,還找不到其他有人聲稱直讀密碼,現(xiàn)在,只有USB口的PLC我先試了不要密碼的解密方法已成功了,同樣也能讀出密碼,讀出密碼有什么好處呢,一是可能繞過功能塊,解密安全可靠,另外,當你有多臺同一個編程員編的程序,那么密碼相同的可能性是80%,同時觸摸屏的密碼也往往和PLC一樣。這樣搞定一臺就等于搞定全部。何樂而不為呢。 最近經(jīng)常有初學者在網(wǎng)上詢問關(guān)于如何對OMRON CP、CJ、CS系列PLC程序加密保護的問題,下面就這個問題,我們以CP1H為例共同來探討一下,其他型號是一樣的道理的。 首先,一個PL

27、C的加密程度,以及破解的難易程度,已經(jīng)在一定程度影響到PLC銷售的市場份額了,特別是近幾年這個現(xiàn)象越來越明顯了,特別是小型機的銷售的影響,所以幾大PLC品牌廠商也在玩起加密的貓捉老鼠游戲來了,比如這個CP1系統(tǒng)的PLC能加多少種密碼呢,細細數(shù)來有5個級別的加密。而且加密的復雜程度比當年CPM系列產(chǎn)品成幾何級別的增加。我們再來看看這5個級別的加密是什么呢,在CXP編程軟件中這5種加密稱為UM密、任務密,功能塊密,禁止傳送程到儲存卡,禁止覆蓋,其中前三個加密方式是采用密碼加密,后兩個加密是采用標志加密的。下面分析一下這5種密的作用以及如何操作,對一個已加密的PLC我們判定加密情況的方法。 OMRO

28、N PLC編程軟件目前要數(shù)CXP功能最全,也是國內(nèi)工控人用的最多的軟件,在這軟件之前,我是從當年LLS編程軟件用起的,到后來SSS編程軟件,這是一個中文的界面了,再來就是CPT可能就好多人知曉了,這當中還有用過SYSWIN編程軟件,是從歐洲老外那得到了,功能比國內(nèi)流行的CPT好,再來就是這個CXP,CXP的全稱是CX-Programer,我用到的目前版本是9.2,有沒有再高版本我不曉的了。閑話少說,啟動CXP吧!下面這個界面大家肯定很熟悉,這是直接點擊一個CXP文件,CXP就直接關(guān)連打開到這個界面,我這里是打開了一個叫N多段速cp1h.cxp文件。默認情況下CXP左邊這個窗口稱工作區(qū),右邊這個

29、窗口我不曉得,就叫它工作子區(qū),下面的那個窗口叫輸出。在工作區(qū)窗口里有個新工程,新工程下面有個新PLC1,右擊新PLC1,有個彈出菜單,彈出菜單最下面有個屬性(o)菜單。單擊屬性(o)菜單,在PLC屬性界面,選擇“保護”選項卡,我們來到了加密設置的地方。如下圖。在這里你可以設UM讀取密碼,密碼設置是8個字符,字符可以是0-9,a-z,A-Z。任務讀保護密碼,同樣密碼設置是8個字符,字符可以是0-9,a-z,A-Z。禁止存入內(nèi)存卡和從PLC傳送程序,可以選擇V或不選擇。禁止覆蓋受保護程序,可以選擇V或不選擇??聪聢D,是全部選擇加密的最高等級了。設定好退出,必須按按CXP軟件中工具欄PLC設置保護到

30、PLC還有如下幾項細節(jié)必須注意。1、設置密碼有離線和在線兩個情況。離線狀態(tài)下,執(zhí)行,這時是保護程序的任務密,只在保護電腦里的文件,并沒有保護到PLC里,離線狀態(tài)下,按下CPX程序中有加任務保護的程序段就被鎖保護起來,看不到程序圖了。沒有任務保護的程序段就不加鎖。如下圖所示為什么有的程序加鎖有的不加鎖呢,這是在CP、CJ、CS這些新型OMRON PLC中引入了任務的概念。我們一起來看看CP1的編程手冊上怎么講的: 在 CP1 中,可以將程序按功能、控制對象、工序、開發(fā)者等進行劃分,分割為稱為任務的執(zhí)行單位,可將用戶程序結(jié)構(gòu)化。因此具有以下優(yōu)點。1 可將程序分割由多人共同開發(fā)。2 可將程序作為模塊

31、實現(xiàn)標準化。3 提高總體的響應性能。4 修正 調(diào)試更加簡便。5 程序的內(nèi)務處理變得容易。6 用戶程序的理解變得容易。CP1系列PLC最大能管理 288 個任務程序。其中周期執(zhí)行任務32個(NO.0-31) ,中斷任務256個(NO.0-255)CPU 單元對周期執(zhí)行任務按其編號由小到大的順序執(zhí)行。當發(fā)生中斷原因時,中止該任務的執(zhí)行改而執(zhí)行中斷任務。之后再執(zhí)行被中止的任務。上例中新程序1(00)就是周期執(zhí)行任務0也叫循環(huán)任務0,新程序2(01)就是循環(huán)任務1,如果要對任務加密保護就必須右擊該程序名屬性保護選定任務讀保護,對于沒有選定任務讀保護的程序,當在離線執(zhí)行時,該程序就不加鎖,選定任務讀保護

32、的程序,該程序就加鎖。加鎖后程序就看不到。同時PLC屬性保護中的任務密也就成星號。保存后再打開,也看不到具體的任務密。在線狀態(tài)下,執(zhí)行,這時保護PLC內(nèi)部程序的UM密和任務密,UM密是首先被激發(fā)的,任務密加載前提條件是PLC里面的任務必須有選定任務讀保護,也就是下載過任務讀保護的任務,如果下載的是沒有選定任務讀保護,那么在線狀態(tài)下,執(zhí)行,將提示無法加密任務密,必須重新下載有任務保護的程序。2、UM密碼和任務密最多可以設8位字符,包括0-9的數(shù)字,a-Z,26個字母分大小寫不一樣,加載了UM密,PLC里面的程序就被保護,沒有解除密碼,PLC程序?qū)o法上載。加載了任務密后,PLC程序即使上載了,也

33、會在程序中顯示加鎖狀態(tài),不能看到程序。3、設置禁止存入內(nèi)存卡和從PLC傳送程序和禁止覆蓋受保護程序,必須程序重新傳送到PLC一次,才能生效。關(guān)于禁止存入內(nèi)存卡和從PLC傳送程序說明,經(jīng)常有人問內(nèi)存卡什么樣,什么型號,裝在哪里呢。OMRON儲存卡型號是:CP1W-ME05M什么樣子,我上個圖,你就明白了。CP1W-ME05M是容量為8M的儲存卡。如果沒有勾選“禁止存入內(nèi)存卡”,那么PLC的程序可以傳送到儲存卡里備份,當PLC已經(jīng)設置了UM密、任務密,傳送到儲存卡里的程序同樣會有UM密、任務密,如果勾選設置“禁止存入內(nèi)存卡”,那么PLC的程序就不可以傳送到卡里備份。關(guān)于禁止覆蓋受保護程序說明,如果

34、沒有勾選“禁止覆蓋受保護程序”,那么如果想清除PLC的程序,可以從PLC的菜單選擇清除PLC,或者傳送一個空白程序到PLC中,當勾選“禁止覆蓋受保護程序”,同時PLC又有UM密、任務密時,沒有解除密碼前就清除不了PLC里的程序,想用一個新的程序覆蓋也不行,就是禁止寫入的意思。當采用這種“禁止覆蓋受保護程序”時,如果你忘記了密碼,又沒有空白的儲存卡,那就非常非常麻煩了,你就是想把程序清空都難。這時只有一個辦法,突然靈感一動想起密碼,哈哈,用儲存卡清除禁止覆蓋受保護程序,是把儲存卡里的程序在PLC通電一瞬間傳入覆蓋PLC程序,當然原程序就變沒有了,儲存卡里的程序最好是空白的,這樣就清除了,如果儲存卡里的程序是有密碼的和禁止覆蓋,那么傳送后仍舊是禁止覆蓋和加密的。還有一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論