Skip to content

Instantly share code, notes, and snippets.

@fridtjof
Created December 6, 2017 14:17
Show Gist options
  • Save fridtjof/08dbeaa04cf2d40f674e8ecf7d8dd2af to your computer and use it in GitHub Desktop.
Save fridtjof/08dbeaa04cf2d40f674e8ecf7d8dd2af to your computer and use it in GitHub Desktop.
This script adds an enum for all WSA Error codes
# This script adds an enum for all WSA Error codes
# IDA 7 API
# Windows-Sockets Error Codes https://msdn.microsoft.com/de-de/library/windows/desktop/ms740668(v=vs.85).aspx
id = idaapi.add_enum(idaapi.get_enum_qty(), "WSAERROR", idaapi.decflag())
idaapi.add_enum_member(id, "WSA_OPERATION_ABORTED", 995)
idaapi.add_enum_member(id, "WSA_IO_INCOMPLETE", 996)
idaapi.add_enum_member(id, "WSA_IO_PENDING", 997)
idaapi.add_enum_member(id, "WSAEINTR", 10004)
idaapi.add_enum_member(id, "WSAEBADF", 10009)
idaapi.add_enum_member(id, "WSAEACCES", 10013)
idaapi.add_enum_member(id, "WSAEFAULT", 10014)
idaapi.add_enum_member(id, "WSAEINVAL", 10022)
idaapi.add_enum_member(id, "WSAEMFILE", 10024)
idaapi.add_enum_member(id, "WSAEWOULDBLOCK", 10035)
idaapi.add_enum_member(id, "WSAEINPROGRESS", 10036)
idaapi.add_enum_member(id, "WSAEALREADY", 10037)
idaapi.add_enum_member(id, "WSAENOTSOCK", 10038)
idaapi.add_enum_member(id, "WSAEDESTADDRREQ", 10039)
idaapi.add_enum_member(id, "WSAEMSGSIZE", 10040)
idaapi.add_enum_member(id, "WSAEPROTOTYPE", 10041)
idaapi.add_enum_member(id, "WSAENOPROTOOPT", 10042)
idaapi.add_enum_member(id, "WSAEPROTONOSUPPORT", 10043)
idaapi.add_enum_member(id, "WSAESOCKTNOSUPPORT", 10044)
idaapi.add_enum_member(id, "WSAEOPNOTSUPP", 10045)
idaapi.add_enum_member(id, "WSAEPFNOSUPPORT", 10046)
idaapi.add_enum_member(id, "WSAEAFNOSUPPORT", 10047)
idaapi.add_enum_member(id, "WSAEADDRINUSE", 10048)
idaapi.add_enum_member(id, "WSAEADDRNOTAVAIL", 10049)
idaapi.add_enum_member(id, "WSAENETDOWN", 10050)
idaapi.add_enum_member(id, "WSAENETUNREACH", 10051)
idaapi.add_enum_member(id, "WSAENETRESET", 10052)
idaapi.add_enum_member(id, "WSAECONNABORTED", 10053)
idaapi.add_enum_member(id, "WSAECONNRESET", 10054)
idaapi.add_enum_member(id, "WSAENOBUFS", 10055)
idaapi.add_enum_member(id, "WSAEISCONN", 10056)
idaapi.add_enum_member(id, "WSAENOTCONN", 10057)
idaapi.add_enum_member(id, "WSAESHUTDOWN", 10058)
idaapi.add_enum_member(id, "WSAETOOMANYREFS", 10059)
idaapi.add_enum_member(id, "WSAETIMEDOUT", 10060)
idaapi.add_enum_member(id, "WSAECONNREFUSED", 10061)
idaapi.add_enum_member(id, "WSAELOOP", 10062)
idaapi.add_enum_member(id, "WSAENAMETOOLONG", 10063)
idaapi.add_enum_member(id, "WSAEHOSTDOWN", 10064)
idaapi.add_enum_member(id, "WSAEHOSTUNREACH", 10065)
idaapi.add_enum_member(id, "WSAENOTEMPTY", 10066)
idaapi.add_enum_member(id, "WSAEPROCLIM", 10067)
idaapi.add_enum_member(id, "WSAEUSERS", 10068)
idaapi.add_enum_member(id, "WSAEDQUOT", 10069)
idaapi.add_enum_member(id, "WSAESTALE", 10070)
idaapi.add_enum_member(id, "WSAEREMOTE", 10071)
idaapi.add_enum_member(id, "WSASYSNOTREADY", 10091)
idaapi.add_enum_member(id, "WSAVERNOTSUPPORTED", 10092)
idaapi.add_enum_member(id, "WSANOTINITIALISED", 10093)
idaapi.add_enum_member(id, "WSAEDISCON", 10101)
idaapi.add_enum_member(id, "WSAENOMORE", 10102)
idaapi.add_enum_member(id, "WSAECANCELLED", 10103)
idaapi.add_enum_member(id, "WSAEINVALIDPROCTABLE", 10104)
idaapi.add_enum_member(id, "WSAEINVALIDPROVIDER", 10105)
idaapi.add_enum_member(id, "WSAEPROVIDERFAILEDINIT", 10106)
idaapi.add_enum_member(id, "WSASYSCALLFAILURE", 10107)
idaapi.add_enum_member(id, "WSASERVICE_NOT_FOUND", 10108)
idaapi.add_enum_member(id, "WSATYPE_NOT_FOUND", 10109)
idaapi.add_enum_member(id, "WSA_E_NO_MORE", 10110)
idaapi.add_enum_member(id, "WSA_E_CANCELLED", 10111)
idaapi.add_enum_member(id, "WSAEREFUSED", 10112)
idaapi.add_enum_member(id, "WSAHOST_NOT_FOUND", 11001)
idaapi.add_enum_member(id, "WSATRY_AGAIN", 11002)
idaapi.add_enum_member(id, "WSANO_RECOVERY", 11003)
idaapi.add_enum_member(id, "WSANO_DATA", 11004)
idaapi.add_enum_member(id, "WSA_QOS_RECEIVERS", 11005)
idaapi.add_enum_member(id, "WSA_QOS_SENDERS", 11006)
idaapi.add_enum_member(id, "WSA_QOS_NO_SENDERS", 11007)
idaapi.add_enum_member(id, "WSA_QOS_NO_RECEIVERS", 11008)
idaapi.add_enum_member(id, "WSA_QOS_REQUEST_CONFIRMED", 11009)
idaapi.add_enum_member(id, "WSA_QOS_ADMISSION_FAILURE", 11010)
idaapi.add_enum_member(id, "WSA_QOS_POLICY_FAILURE", 11011)
idaapi.add_enum_member(id, "WSA_QOS_BAD_STYLE", 11012)
idaapi.add_enum_member(id, "WSA_QOS_BAD_OBJECT", 11013)
idaapi.add_enum_member(id, "WSA_QOS_TRAFFIC_CTRL_ERROR", 11014)
idaapi.add_enum_member(id, "WSA_QOS_GENERIC_ERROR", 11015)
idaapi.add_enum_member(id, "WSA_QOS_ESERVICETYPE", 11016)
idaapi.add_enum_member(id, "WSA_QOS_EFLOWSPEC", 11017)
idaapi.add_enum_member(id, "WSA_QOS_EPROVSPECBUF", 11018)
idaapi.add_enum_member(id, "WSA_QOS_EFILTERSTYLE", 11019)
idaapi.add_enum_member(id, "WSA_QOS_EFILTERTYPE", 11020)
idaapi.add_enum_member(id, "WSA_QOS_EFILTERCOUNT", 11021)
idaapi.add_enum_member(id, "WSA_QOS_EOBJLENGTH", 11022)
idaapi.add_enum_member(id, "WSA_QOS_EFLOWCOUNT", 11023)
idaapi.add_enum_member(id, "WSA_QOS_EUNKOWNPSOBJ", 11024)
idaapi.add_enum_member(id, "WSA_QOS_EPOLICYOBJ", 11025)
idaapi.add_enum_member(id, "WSA_QOS_EFLOWDESC", 11026)
idaapi.add_enum_member(id, "WSA_QOS_EPSFLOWSPEC", 11027)
idaapi.add_enum_member(id, "WSA_QOS_EPSFILTERSPEC", 11028)
idaapi.add_enum_member(id, "WSA_QOS_ESDMODEOBJ", 11029)
idaapi.add_enum_member(id, "WSA_QOS_ESHAPERATEOBJ", 11030)
idaapi.add_enum_member(id, "WSA_QOS_RESERVED_PETYPE", 11031)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment