diff options
author | David Shaw <davidshaw835@air-watch.com> | 2014-05-06 13:27:13 -0400 |
---|---|---|
committer | David Shaw <davidshaw835@air-watch.com> | 2014-05-06 13:27:13 -0400 |
commit | ec855315807726a6b64c42910d97ee378d62ad28 (patch) | |
tree | f51a77d9ad0605d7b62549eb6548d4be6541c7c0 /libmproxy/console/contentview.py | |
parent | 4f1fe11549f47531f1c6d618fa20f6c1020653ed (diff) | |
download | mitmproxy-ec855315807726a6b64c42910d97ee378d62ad28.tar.gz mitmproxy-ec855315807726a6b64c42910d97ee378d62ad28.tar.bz2 mitmproxy-ec855315807726a6b64c42910d97ee378d62ad28.zip |
- working WBXML parser
Diffstat (limited to 'libmproxy/console/contentview.py')
-rw-r--r-- | libmproxy/console/contentview.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libmproxy/console/contentview.py b/libmproxy/console/contentview.py index 5f3e17fe..b1b99bb6 100644 --- a/libmproxy/console/contentview.py +++ b/libmproxy/console/contentview.py @@ -8,6 +8,7 @@ import netlib.utils from . import common from .. import utils, encoding, flow from ..contrib import jsbeautifier, html2text +from ..contrib.wbxml.ASCommandResponse import ASCommandResponse try: import pyamf from pyamf import remoting, flex @@ -426,12 +427,31 @@ class ViewProtobuf: txt = _view_text(decoded[:limit], len(decoded), limit) return "Protobuf", txt +class ViewWBXML: + name = "WBXML" + prompt = ("wbxml", "w") + content_types = [ + "application/vnd.wap.wbxml", + "application/vnd.ms-sync.wbxml" + ] + + def __call__(self, hdrs, content, limit): + + try: + parser = ASCommandResponse(content) + parsedContent = parser.xmlString + txt = _view_text(parsedContent, len(parsedContent), limit) + return "WBXML", txt + except: + return None + views = [ ViewAuto(), ViewRaw(), ViewHex(), ViewJSON(), ViewXML(), + ViewWBXML(), ViewHTML(), ViewHTMLOutline(), ViewJavaScript(), |