Nice effort reverse engineering the protocol but I would only use this for tinkering purposes since it spoofs being a mobile device. If WhatsApp changes the protocol a bit it just stops working. Furthermore I think the coding style is not very pythonic using globals and individual functions instead of just implementing a class, overwriting build in functions with custom variables (str in the isShort function in wa_functions.py, hex in the function after that) and doing other things in ways that could have been much easier (same function: isShort = lamda ustring: len(ustring) < 256)