PLC密碼忘了怎么辦 這些方法或許對(duì)你有用
現(xiàn)在市場(chǎng)上主流的PLC,都帶有加密功能,作用就是給你的PLC加上密碼,沒有密碼就不能上載程序,以此來(lái)保護(hù)你的知識(shí)產(chǎn)權(quán),防止別人盜用、篡改你的程序。
另外,還有的PLC編程軟件可以對(duì)子程序、程序庫(kù)等進(jìn)行加密(例如西門子的S7-200系列),這樣別人可以使用你編寫好的庫(kù)或子程序而無(wú)法看到內(nèi)容。這樣可以保護(hù)你的關(guān)鍵算法或流程。
有矛就有盾。看過(guò)電視劇《暗算》嗎?有加密就有解密。
因此,PLC破解,一種就是指對(duì)PLC進(jìn)行解密,讀出里面的程序;一種是指對(duì)電腦里面的工程文件、子程序庫(kù)等進(jìn)行破解,使其可以顯示,可以修改等。
為啥要破解呢?歸納下來(lái),下面幾種情況比較多:
1、 自己的密碼忘了
2、 學(xué)習(xí)別人的程序,增加自己的編程水平
3、 設(shè)備需要維護(hù),原來(lái)的工程師走了
4、 因?yàn)榉N種原因,PLC里面有軟件陷阱
5、 設(shè)備廠家的PLC加了密,過(guò)了保修期廠家又不負(fù)責(zé)
6、 了解設(shè)備的工作原理,了解工藝,仿造設(shè)備
7、 “拿來(lái)主義”,直接復(fù)制別人的產(chǎn)品
……
對(duì)于第1種情況,沒啥說(shuō)的。
對(duì)于第2種情況,是討論比較多的。
對(duì)于第7種情況,肯定是在道德上要進(jìn)行譴責(zé)的。
對(duì)于其他情況,可能需要具體問(wèn)題具體分析。
一些從事自動(dòng)化方面工作的技術(shù)人員想進(jìn)行PLC破解,通過(guò)學(xué)習(xí)別人程序的編程方法。這種做法的意義有多大呢?看懂別人的程序,可能比自己編制一個(gè)新的程序更累,尤其是程序比較大,而且沒什么注釋的時(shí)候(通過(guò)破解PLC讀出得來(lái)的程序,多半沒有注釋,沒有變量名稱)。
下面是一個(gè)網(wǎng)友寫的關(guān)于PLC破解的文章,挺有道理的,引用如下:
“我曾經(jīng)設(shè)計(jì)一個(gè)龍門刨床的項(xiàng)目,采用三菱F140MR PLC,編寫了一個(gè)程序,一名維護(hù)的技術(shù)人員不是很好的了解龍門刨床的設(shè)備工藝,而是癡迷于了解我的程序,我告訴他,你應(yīng)該好好的了解設(shè)備的狀況和工藝,熟悉電氣圖紙,發(fā)現(xiàn)設(shè)備的運(yùn)行狀況中哪些方面還沒有滿足工藝的要求(也就是程序的不足),自己編寫一個(gè),無(wú)從下手時(shí)看看資料或者問(wèn)問(wèn)我,我保證他三、四個(gè)月徹底了解PLC,貴在實(shí)踐。到那時(shí),廢掉我的程序。
而他卻熱衷于了解我的程序的每一步,問(wèn)來(lái)問(wèn)去已達(dá)四年多,至今未能掌握,面對(duì)設(shè)備、面對(duì)PLC仍然茫然無(wú)從下手,四年意味著一個(gè)大學(xué)畢業(yè),意味著一個(gè)研究生,甚至一個(gè)博士。而他連一個(gè)小小的PLC都沒畢業(yè)。而F系列PLC早已淘汰的快無(wú)影無(wú)蹤了。如果僅從了解別人的程序而熱衷于PLC破解,這個(gè)實(shí)例,已經(jīng)告訴你,你已走進(jìn)誤區(qū),成為一些商家和一些網(wǎng)站的靶子。
何謂PLC程序,不過(guò)是你設(shè)計(jì)工程項(xiàng)目的工藝而已,有工藝要求才可能有程序,程序只是設(shè)備工藝的具體反應(yīng),了解了工藝要求也就等于了解了程序。編程不過(guò)是個(gè)規(guī)則,要你用這個(gè)規(guī)則把設(shè)備工藝寫出來(lái),因此你重要是了解設(shè)備的工藝和具體使用PLC品牌的功能。當(dāng)你充分了解了設(shè)備工藝,設(shè)計(jì)完電氣圖紙,你的設(shè)計(jì)任務(wù)可以說(shuō)基本完成了,剩下的就是看看PLC編程規(guī)則,把程序?qū)懗鰜?lái),把工藝寫出來(lái)。
記住!貴在實(shí)踐!我在上學(xué)時(shí),PLC功課是滿分,對(duì)梯形圖、語(yǔ)句非常了解,也在課本上看過(guò)很多程序,可我當(dāng)?shù)谝淮蚊鎸?duì)設(shè)計(jì)時(shí),卻不知道如何下手,當(dāng)把我的程序(問(wèn)題很多)輸進(jìn)去并執(zhí)行時(shí),也就短短的一兩天,我的感覺是PLC不過(guò)如此,海闊天空的感覺,沒有不會(huì)的,只有不做的。
我的一個(gè)朋友告訴我,他在工廠里,一些設(shè)備被一些早進(jìn)廠的人把持著,PLC加了密,也不讓看程序(程序也不是他們編的),以此壓著他們,想讓他們水平超不過(guò)他們,我告訴他,他們不過(guò)是個(gè)永遠(yuǎn)長(zhǎng)不大的丑陋小人(現(xiàn)在國(guó)有企業(yè)比比皆是),莫做他們的繼承者,也不要學(xué)他們的德性,這種人是 脆弱、是 沒水平的,好好了解一下工藝,了解一下設(shè)備的運(yùn)行狀況。自己編一編,不懂問(wèn)問(wèn)學(xué)學(xué),這才是他們 怕的。”
說(shuō)那么多,只是想告訴大家,破解有其存在的合理性,但不要癡迷于此,更不要用這個(gè)來(lái)做違法、違背道德的事。
我所知道和掌握的S7-200系列PLC的破解方法主要有“軟的”和“硬的”兩種方法。
先說(shuō)說(shuō)“來(lái)軟的”:西門子的S7-200系列PLC留有“后門”,可以直接通過(guò)串口電纜(PC/PPI)來(lái)讀出其中的PLC密碼和POU密碼(子程序和庫(kù)密碼),方法和讀取PLC的內(nèi)部寄存器基本類似。讀出來(lái)的密碼是經(jīng)過(guò)位邏輯處理的,經(jīng)過(guò)運(yùn)算可以得到密碼。
再說(shuō)說(shuō)“來(lái)硬的”:S7-200系列PLC的內(nèi)部電路板上有一個(gè)EEPROM芯片,里面保存有PLC的密碼。可以通過(guò)I2C接口(一種電路接口)讀出EEPROM內(nèi)容,分析得出密碼。
據(jù)說(shuō) 新版本的S7-200系列PLC硬件電路有些不同,軟件也有改動(dòng),破解可能困難一些。
另外,國(guó)內(nèi)有幾家“山寨版”的S7-200系列PLC,據(jù)廠家宣傳說(shuō)和西門子的是完全兼容的。但大部分廠家只有擴(kuò)展模塊,沒有CPU單元。有CPU單元的目前據(jù)我所知有兩家。一家在上海,叫正航,一家在深圳,叫合信。兩種產(chǎn)品我都用過(guò),也都嘗試過(guò)破解。
合信的“來(lái)軟的”、“來(lái)硬的”都“招了”。正航的“來(lái)軟的”算出來(lái)是亂碼,剛開始以為是計(jì)算方法不同,后來(lái)折騰了很久, 終我發(fā)現(xiàn)不管什么密碼和PLC給出的亂碼是沒有任何關(guān)聯(lián)的。軟的不行就來(lái)硬的。拆機(jī)后找到EEPROM芯片,讀出BIN文件分析,和“來(lái)軟的”一樣,算出來(lái)仍然是亂碼。看來(lái)正航的加密和西門子還是不同。