aboutsummaryrefslogtreecommitdiffstats
path: root/libmproxy/console
diff options
context:
space:
mode:
authorDavid Shaw <davidshaw835@air-watch.com>2014-05-06 13:27:13 -0400
committerDavid Shaw <davidshaw835@air-watch.com>2014-05-06 13:27:13 -0400
commitec855315807726a6b64c42910d97ee378d62ad28 (patch)
treef51a77d9ad0605d7b62549eb6548d4be6541c7c0 /libmproxy/console
parent4f1fe11549f47531f1c6d618fa20f6c1020653ed (diff)
downloadmitmproxy-ec855315807726a6b64c42910d97ee378d62ad28.tar.gz
mitmproxy-ec855315807726a6b64c42910d97ee378d62ad28.tar.bz2
mitmproxy-ec855315807726a6b64c42910d97ee378d62ad28.zip
- working WBXML parser
Diffstat (limited to 'libmproxy/console')
-rw-r--r--libmproxy/console/contentview.py20
-rw-r--r--libmproxy/console/help.py4
2 files changed, 24 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(),
diff --git a/libmproxy/console/help.py b/libmproxy/console/help.py
index bd7217e1..3fd216b5 100644
--- a/libmproxy/console/help.py
+++ b/libmproxy/console/help.py
@@ -79,6 +79,10 @@ class HelpView(urwid.ListBox):
[("text", ": XML")]
),
(None,
+ common.highlight_key("wbxml", "w") +
+ [("text", ": WBXML")]
+ ),
+ (None,
common.highlight_key("amf", "f") +
[("text", ": AMF (requires PyAMF)")]
),