[工控安全][原创]西门子PLC固件逆向之socket API(总览)
【未经同意禁止转载】
鉴于本博客涉及的信息安全技术具有破坏计算机信息系统的风险,建议读者在学习/研究/探讨之间,确保已经充分了解以下内容:
本博客所讨论的技术仅限于研究和学习,旨在提高计算机信息系统的安全性,严禁用于不良动机,任何个人/团队/组织不得将其用于非法目的,否则后果自负,特此声明。
目前已经逆向出了这些类似于BSD SOCKET的API函数
socket (int, int, int);
bind (long, struct sockaddr *, int);
listen (long, int);
accept (long, struct sockaddr *, int *);
connect (long, struct sockaddr *, int);
getpeername (long, struct sockaddr *, int * addrlen);
getsockname (long, struct sockaddr *, int * addrlen);
setsockopt (long sock, int level, int op, void * data, int dlen);
getsockopt (long sock, int level, int op, void * data, int dlen);
recv (long, char *, int, int);
send (long, char *, int, int);
recvfrom (long s, char * buf, int len, int flags, struct sockaddr , int);
sendto (long s, char * buf, int len, int flags, struct sockaddr *, int);
shutdown (long, int);
socketclose (long);
没有函数名表的私有操作系统固件逆向总是困难且乏味的,万幸不是死胡同,加油吧。
致谢
感谢众多安全研究员公开发表自己的研究成果,并热情地回复我的疑问,这些人包括但不限于Dillon Beresford/Ali Abbasi/Thomas Weber/Ralf Ramsauer/Gene blue。
posted on 2019-12-30 23:24 大单GreatDane 阅读(755) 评论(0) 编辑 收藏 举报