$V2EX
Solana
Give SOL to Copy Address
使用 SOL 向 234235 打赏,数额会 100% 进入 234235 的钱包。
 234235's recent timeline updates
234235

234235

V2EX member #109133, joined on 2015-04-04 19:35:06 +08:00
Per 234235's settings, the topics list is hidden
Deals info, including closed deals, is not hidden
234235's recent replies
下载了可执行程序用,发现字体太小了,UI 还有优化空间
Jul 23, 2018
Replied to a topic by jayan2358 游戏 请问有哪些好玩的免费单机游戏?
World of Guns ?
有卖涂层喷雾的,防雾涂层掉了喷点就行。
@tom #10 直接取低八位就 ok 了。C0 加到 00 一共是 0x025E,取低八位 5E。
你直接用八位变量来加,溢出的自动丢掉就行了。
看你协议里写的,这好像是个远程抄表的?
不知道你是想拿来做什么,如果只是想用相同的协议和服务器通信的话,直接在电脑上开个 TCP 连接到服务器就行,不过你得知道服务器的 IP 和端口号,还有设备的的 ID,就是那个表地址。
如果你是要破解这个板子,那就有点复杂了,不是很容易能说请了。不知道你有没有 USB 转 TTL 的接口板。
最好是先让对方给你单独开一台测试设备,你用 socket 往上面发消息,看服务器的回复,每个指令都试几次,再开始写协议。特别注意的就是数据长度,包类型和校验位。还有如果你不太熟悉进制转换的话,也要注意进制的问题。
对,看起来 AFN 确实是指代数据包类型,接口检测是 0x02,后面应该还有其他的包 0x03、0x04 等,你看下面的例子,服务器下发给你的 AFN 也是 0x02。
看来你对十六进制理解的不透彻啊,还是看他给你的这个例子吧,开头是 68 60 00 60 00,这两遍 60 00 就是这个包从控制域 C0 到倒数第三个 TP 位 00 的总长度十进制 24*4=96 转为十六进制就是 0x60,数据包里的长度是十六位的,所以这个包的长度就是 0x0060,高八位是 00,低八位是 60,数据包里要求低字节在前,所以发送时候就是 60 00。
不管数据长度是多少,究竟是先发高位还是先发低位,都要看协议里的要求,比如你这个里面表地址就是要求先发高位。
还有如果数据只有八位是不存在高低字节的,就按正常的发,只有数据超过八位了,会涉及这个问题,你需要把数据拆成多个八字节的数据来发送。
引导 68 就是十六进制 0x68
LL HL 下面标注了,就是有效数据的总长度乘 4,看起来是发两遍?而且低字节在前,反过来发。注意都是按照十六字节
AFN 下面标注查表,应该是标识数据包类型之类的关键字了,对方应该有给你表的。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   871 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 14ms · UTC 23:01 · PVG 07:01 · LAX 16:01 · JFK 19:01
♥ Do have faith in what you're doing.