// Handy utils // 1) Utility to discover secondary messages. // Usage: ReadMessage(Message, Key) let ReadMessage = (Message:string, Key:string) { let m = Message; let K = Key; let l = toscalar(print s = split(split(K,':')[1], ',') | mv-expand s | summarize make_list(tolong(s))); let ma = (i1:long, i2:long) { make_string(repeat(tolong(l[i1])-tolong(l[i2]), 1))}; let ms = (d:dynamic, s:long, e:long) { make_string(array_slice(d, s, e)) }; let mc = m has '...'; print s=split(split(replace_regex(m, @'[\s\?]+', ' '),substring(K,9,3))[1], ' ') | mv-expand with_itemindex=r s to typeof(string) | serialize | where r in (l) | extend s = iif(r-1 == prev(r), replace_string(strcat(prev(s), s),'o','ou'), s) | where (r+1 != next(r)) | summarize s=strcat_array(make_list(s), iff(mc, '+%2B', ' ')) | extend k = series_subtract(series_add(to_utf8(K), l), repeat(23, 10)) | project result=iif(mc, strcat(ms(k,0,3), ma(8,2), ms(k,4,6), ms(l,8,8), ms(k,7,7), ma(8,0), s), s) }; ReadMessage( ``` Hi there! How are you? PS: This is a nice utility that reveals what hidden messages the text may have. We may read the message and think: is there anything beyond words? Can we find it without the utility, or it will become too much of a headache? ```, h@'dhkl4fva!that:2,9,15,22,31' ) // 2) Get GEO location from images: // Use https://tool.geoimgr.com/