PLC程序解密,密碼破解方法步驟分析,有關(guān)plc得解決方法,在進(jìn)行plc編程得過(guò)程中,有時(shí)需要plc解密得一些操作,這里說(shuō)一說(shuō)plc得解密方法,并總結(jié)了詳細(xì)得解密過(guò)程,有需要得朋友參考下。
PLC解密方法1、使用串口調(diào)試器。
2、設(shè)置好有關(guān)參數(shù)。
設(shè)置串口:COM1,波特率:9600,數(shù)據(jù)位:7,校驗(yàn):E偶,停止位:1
輸入:輸入EHX,顯示:顯示ASC
確定三菱PLC型號(hào)。根據(jù)PLC型號(hào)選擇在串口調(diào)試程序得 文本 中輸入對(duì)應(yīng)字符串。
PLC型號(hào) 對(duì)應(yīng)字符串
FX2 /STX0700808/ETX6A
FX2N /STX0300808/ETX66
FX2_EPROM /STX0800808/ETX6B
FXON/FXOX /STX0800808/ETX6B
FX1N/FX1X /STX0800808/ETX6B
3、發(fā)送后在接收框中顯示得字符串就是plc得密碼。
如果看不出來(lái)得話,將這些字符串拷貝到 HEX格式 中。發(fā)送一次看看。(發(fā)送前記得先斷開(kāi)PLC)
建議你自己設(shè)置一個(gè)密碼,然后用這個(gè)方法讀取一次看看,以后就知道是怎么回事了。
密碼字符:0-9,A-F。
A系列:
發(fā)送:A2 07 00 FF 02 05 AE 00 08 C3
接收:0B 00 FF 02 00 AA 77 55 BB EF CD AB A4 00
密碼:ABCDEF
發(fā)送:A2 07 00 FF 02 05 AE 00 08 C3
接收:0B 00 FF 02 00 AA 77 55 BB C1 B1 A1 A4
密碼:A1B1C1
分析:密碼為返回字符中BB至A4之間得字符,以每2字符為單位,從右往左讀出。
FX系列:
返回:34 31 34 32 34 33 34 34 34 35 34 36 34 31 34 32
密碼:ABCDEFAB
分析:接收到得是ASC碼,對(duì)應(yīng)得字符為 4 1 4 2 4 3 4 4 4 5 4 6 4 1 4 2,以每2字符為單位組合,即
41 42 43 44 45 46 41 42,
再譯為對(duì)應(yīng)得字符即為 ABCDEFAB.
1、在發(fā)送字符欄輸入下面得字符串后點(diǎn)發(fā)送;
02 30 38 30 30 38 30 38 03 36 42
3、返回一串16進(jìn)制得ASCII碼,30H為數(shù)字0,31H為數(shù)字1,以此類推;
例:02 30 38 30 30 38 30 38 03 36 42
( 37ms )
/STX4236353433323130/ETX41
密碼是:B6543210 《42=B》
以上就是PLC解密方法及解密過(guò)程得全部?jī)?nèi)容,希望對(duì)大家有所幫助。
Typescript 中得整形和浮點(diǎn)數(shù)類型都是 number,這點(diǎn)和 Javascript 是一樣得,比如:十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制得類型都是 number。
let decAge: number = 22; let hexAge: number = 0x0016; let binaryAge: number = 0b10110; let octalAge: number = 0o026; // 以上變量使用 (number).toString(10) 轉(zhuǎn)換為十進(jìn)制都為 22 復(fù)制代碼
字符串 → string可使用 (number).toString(進(jìn)制) 將數(shù)字轉(zhuǎn)換為任意進(jìn)制得類型。
和 Javascript 一樣,字符串得值使用單引號(hào)或者雙引號(hào)包裹:
let myName: string = "編程三昧"; let myHomepage: string = `example感謝原創(chuàng)分享者/${myName}`; 復(fù)制代碼
數(shù)組Typescript 中定義數(shù)組得方式有兩種。
第壹種是元素類型后面接上 [],表示由此類型元素組成得一個(gè)數(shù)組:
let arr: number[] = [1, 2, 3, 4]; // 如果在數(shù)組中加入其他元素會(huì)報(bào)錯(cuò) 復(fù)制代碼
第二種是使用數(shù)組泛型定義數(shù)組:
let arr1: any[] = [1, "2", 3, "4"]; // 這個(gè)數(shù)組中可以假如任意類型得元素 復(fù)制代碼
元組 Tuple元組類型允許表示一個(gè)已知元素?cái)?shù)量和類型得數(shù)組,各元素得類型不必相同。
let arr2:[number, string, number] = [1,"2",3]; // 若果寫(xiě)成 [1,2,3] 會(huì)報(bào)錯(cuò) 復(fù)制代碼
元素是嚴(yán)格規(guī)定了數(shù)組得長(zhǎng)度和每個(gè)位置得元素類型,并且在賦值時(shí)需要嚴(yán)格對(duì)應(yīng),否則會(huì)報(bào)錯(cuò)。
枚舉enum類型是對(duì)Javascript標(biāo)準(zhǔn)數(shù)據(jù)類型得一個(gè)補(bǔ)充。像C#等其它語(yǔ)言一樣,使用枚舉類型可以為一組數(shù)值賦予友好得名字。
enum Color {Red, Green, Blue} let c: Color = Color.Green; 復(fù)制代碼
默認(rèn)情況下,從0開(kāi)始為元素編號(hào)。你也可以手動(dòng)地指定成員得數(shù)值。例如,我們將上面得例子改成從 1開(kāi)始編號(hào):
enum Color {Red = 1, Green, Blue} let c: Color = Color.Green; 復(fù)制代碼
或者,全部都采用手動(dòng)賦值:
enum Color {Red = 1, Green = 2, Blue = 4} let c: Color = Color.Green; 復(fù)制代碼
枚舉類型提供得一個(gè)便利是你可以由枚舉得值得到它得名字。例如,我們知道數(shù)值為2,但是不確定它映射到Color里得哪個(gè)名字,我們可以查找相應(yīng)得名字:
enum Color {Red = 1, Green, Blue} let colorName: string = Color[2]; console.log(colorName); // 顯示'Green'因?yàn)樯厦娲a里它得值是2
上一節(jié),我們已經(jīng)把gitlab、jenkins、harbor、k8s都已經(jīng)搭建好了,這一節(jié)我們來(lái)編寫(xiě)jenkins得pipline將我們得服務(wù)通過(guò)jenkins完整得發(fā)布到k8s中。
2、部署中間件將mysql、redis、es等部署到k8s之外 , 模擬用作線上獨(dú)立環(huán)境(至于線上你想把某些中間件部署到k8s內(nèi)部這個(gè)自行處理,本次重點(diǎn)是如何將go-zero開(kāi)發(fā)得微服務(wù)部署到k8s集群內(nèi)部),這里我就直接使用項(xiàng)目下得docker-compose-env.yaml了,把所有依賴得第三方中間件環(huán)境直接安裝在srv-data感謝原創(chuàng)分享者(192.168.1.181)這臺(tái)服務(wù)器,前提是這臺(tái)服務(wù)器已經(jīng)安裝好docker、docker-compose。
登陸到 192.168.1.181
$ mkdir data && cd data && vim docker-compose.yml$ docker-compose up -d$ docker-compose ps #查看確認(rèn)
3、獨(dú)立配置將每個(gè)服務(wù)得配置都獨(dú)立出來(lái),統(tǒng)一放在一個(gè)git倉(cāng)庫(kù),這樣只給一個(gè)人線上倉(cāng)庫(kù)得權(quán)限,如果線上配置有變直接修改這個(gè)倉(cāng)庫(kù)得文件,在jenkins做cd得時(shí)候,會(huì)先拉取代碼再拉取對(duì)應(yīng)服務(wù)得配置自動(dòng)構(gòu)建,具體可以看后面得pipline。
【問(wèn)】為什么不用配置中心?
1)修改db、redis等需要重啟服務(wù),但是有一些配置又不需要重啟服務(wù),運(yùn)維又要去記,記混了比較容易造成線上事故
2)方便回滾。我們發(fā)新版本到線上,并且又改了新版本配置。這時(shí)候線上用戶反饋有問(wèn)題,線上需要快速回滾得話,如果我們使用將文件構(gòu)建到鏡像中,直接使用k8s一行命令就可以將上一個(gè)版本代碼加配置直接回滾回來(lái)。如果使用了配置中心,回滾了代碼,還要將上個(gè)版本得配置去配置中心改回來(lái),很麻煩。