CoffeeScript, user2428118, ≤64 CoffeeScript, user2428118, ≤64
alert 0+(btoa k.substr -2 for k of document.body.style).join ''
(works only on Chrome 46.0.2490.71 as described by the Cop.)
The output is obviously a concatenation of short base64-encoded strings due to all the "=". After decoding them, we find a list of 2-character strings like
['nt', 'ms', 'lf', 'ne', 'll', 'on', 'ay', 'on', ...
which does not seem to make sense. But I find some odd items in it, like nX and tY. After filtering these out we get
>>> # Python
>>>
>>> [i for i in tt if not re.match('[a-z]{2}$', i)]
['nX', 'nY', 'tX', 'tY', 'wX', 'wY', 'r', 'nX', 'nY', 'tX', 'tY', 'nX', 'nY', 'nX', 'nY', 'nZ', 'x', 'y']
These X and Y seem to indicate the original source code used position properties like offsetX/Y. A particularly interesting is the nZ item. To check my assumption, I searched for all properties that end with "Z":
// CoffeeScript
checked = []
f = (o) ->
if !(o in checked)
for k of o
if /Z$/.test(k)
console.log(o, k)
if o[k] instanceof Object
f o[k]
f window
which shows tons of CSSStyleDeclaration, "webkitTransformOriginZ". From this we have a strong indication that the list is built up by the last 2 characters of all the keys of a style object, which the test above shows indeed is correct.
CoffeeScript, user2428118, ≤64
alert 0+(btoa k.substr -2 for k of document.body.style).join ''
(works only on Chrome 46.0.2490.71 as described by the Cop.)
The output is obviously a concatenation of short base64-encoded strings due to all the "=". After decoding them, we find a list of 2-character strings like
['nt', 'ms', 'lf', 'ne', 'll', 'on', 'ay', 'on', ...
which does not seem to make sense. But I find some odd items in it, like nX and tY. After filtering these out we get
>>> # Python
>>>
>>> [i for i in tt if not re.match('[a-z]{2}$', i)]
['nX', 'nY', 'tX', 'tY', 'wX', 'wY', 'r', 'nX', 'nY', 'tX', 'tY', 'nX', 'nY', 'nX', 'nY', 'nZ', 'x', 'y']
These X and Y seem to indicate the original source code used position properties like offsetX/Y. A particularly interesting is the nZ item. To check my assumption, I searched for all properties that end with "Z":
// CoffeeScript
checked = []
f = (o) ->
if !(o in checked)
for k of o
if /Z$/.test(k)
console.log(o, k)
if o[k] instanceof Object
f o[k]
f window
which shows tons of CSSStyleDeclaration, "webkitTransformOriginZ". From this we have a strong indication that the list is built up by the last 2 characters of all the keys of a style object, which the test above shows indeed is correct.
CoffeeScript, user2428118, ≤64
alert 0+(btoa k.substr -2 for k of document.body.style).join ''
(works only on Chrome 46.0.2490.71 as described by the Cop.)
The output is obviously a concatenation of short base64-encoded strings due to all the "=". After decoding them, we find a list of 2-character strings like
['nt', 'ms', 'lf', 'ne', 'll', 'on', 'ay', 'on', ...
which does not seem to make sense. But I find some odd items in it, like nX and tY. After filtering these out we get
>>> # Python
>>>
>>> [i for i in tt if not re.match('[a-z]{2}$', i)]
['nX', 'nY', 'tX', 'tY', 'wX', 'wY', 'r', 'nX', 'nY', 'tX', 'tY', 'nX', 'nY', 'nX', 'nY', 'nZ', 'x', 'y']
These X and Y seem to indicate the original source code used position properties like offsetX/Y. A particularly interesting is the nZ item. To check my assumption, I searched for all properties that end with "Z":
// CoffeeScript
checked = []
f = (o) ->
if !(o in checked)
for k of o
if /Z$/.test(k)
console.log(o, k)
if o[k] instanceof Object
f o[k]
f window
which shows tons of CSSStyleDeclaration, "webkitTransformOriginZ". From this we have a strong indication that the list is built up by the last 2 characters of all the keys of a style object, which the test above shows indeed is correct.
CoffeeScript, user2428118, ≤64
alert 0+(btoa k.substr -2 for k of document.body.style).join ''
(works only on Chrome 46.0.2490.71 as described by the Cop.)
The output is obviously a concatenation of short base64-encoded strings due to all the "=". After decoding them, we find a list of 2-character strings like
['nt', 'ms', 'lf', 'ne', 'll', 'on', 'ay', 'on', ...
which does not seem to make sense. But I find some odd items in it, like nX and tY. After filtering these out we get
>>> # Python
>>>
>>> [i for i in tt if not re.match('[a-z]{2}$', i)]
['nX', 'nY', 'tX', 'tY', 'wX', 'wY', 'r', 'nX', 'nY', 'tX', 'tY', 'nX', 'nY', 'nX', 'nY', 'nZ', 'x', 'y']
These X and Y seem to indicate the original source code used position properties like offsetX/Y. A particularly interesting is the nZ item. To check my assumption, I searched for all properties that end with "Z":
// CoffeeScript
checked = []
f = (o) ->
if !(o in checked)
for k of o
if /Z$/.test(k)
console.log(o, k)
if o[k] instanceof Object
f o[k]
f window
which shows tons of CSSStyleDeclaration, "webkitTransformOriginZ". From this we have a strong indication that the list is built up by the last 2 characters of all the keys of a style object, which the test above shows indeed is correct.
CoffeeScript, user2428118, ≤64
alert 0+(btoa k.substr -2 for k of document.body.style).join ''
(works only on Chrome 46.0.2490.71 as described by the Cop.)
CoffeeScript, user2428118, ≤64
alert 0+(btoa k.substr -2 for k of document.body.style).join ''
(works only on Chrome 46.0.2490.71 as described by the Cop.)
The output is obviously a concatenation of short base64-encoded strings due to all the "=". After decoding them, we find a list of 2-character strings like
['nt', 'ms', 'lf', 'ne', 'll', 'on', 'ay', 'on', ...
which does not seem to make sense. But I find some odd items in it, like nX and tY. After filtering these out we get
>>> # Python
>>>
>>> [i for i in tt if not re.match('[a-z]{2}$', i)]
['nX', 'nY', 'tX', 'tY', 'wX', 'wY', 'r', 'nX', 'nY', 'tX', 'tY', 'nX', 'nY', 'nX', 'nY', 'nZ', 'x', 'y']
These X and Y seem to indicate the original source code used position properties like offsetX/Y. A particularly interesting is the nZ item. To check my assumption, I searched for all properties that end with "Z":
// CoffeeScript
checked = []
f = (o) ->
if !(o in checked)
for k of o
if /Z$/.test(k)
console.log(o, k)
if o[k] instanceof Object
f o[k]
f window
which shows tons of CSSStyleDeclaration, "webkitTransformOriginZ". From this we have a strong indication that the list is built up by the last 2 characters of all the keys of a style object, which the test above shows indeed is correct.
CoffeeScript, user2428118, ≤64
alert 0+(btoa k.substr -2 for k of document.body.style).join ''
(works only on Chrome 46.0.2490.71 as described by the Cop.)