KQML-LD

KQML-LD is a low-powered television station licensed to Topeka, Kansas, United States and serving Kansas City, Kansas. The station, which broadcasts its digital signal on virtual 46 and UHF channel 35, is owned by HC2 Holdings.[1]

KQML-LD
Kansas City, Kansas
United States
CityTopeka, Kansas
ChannelsDigital: 35 (UHF)
Virtual: 46 (PSIP)
BrandingAzteca Kansas
Programming
Subchannels(see below)
Affiliations(see below)
Ownership
OwnerHC2 Holdings
(DTV America Corporation)
History
Founded2012
Former call signsK46MA-D
Technical information
Licensing authorityFCC
Facility ID184191
ERP10 kW
HAAT328 m (1,076 ft)
Transmitter coordinates39°0′56.5″N 94°30′25″W
Links
Public license informationProfile
LMS

History

The station's construction permit was initially issued on July 11, 2012 under the calls of K46MA-D and changed to KQML-LD.[2]

Digital channels

Channel Video Aspect PSIP Short Name Programming[1]
46.1 720p 16:9 KQML-LD Azteca America
46.2 480i 4:3 OnTV4U
46.3 Infomercials
46.4 Classic Shows
gollark: Anyway, going through #12 in order:> `import math, collections, random, gc, hashlib, sys, hashlib, smtplib, importlib, os.path, itertools, hashlib`> `import hashlib`We need some libraries to work with. Hashlib is very important, so to be sure we have hashlib we make sure to keep importing it.> `ℤ = int`> `ℝ = float`> `Row = "__iter__"`Create some aliases for int and float to make it mildly more obfuscated. `Row` is not used directly in anywhere significant.> `lookup = [...]`These are a bunch of hashes used to look up globals/objects. Some of them are not actually used. There is deliberately a comma missing, because of weird python string concattey things.```pythondef aes256(x, X): import hashlib A = bytearray() for Α, Ҙ in zip(x, hashlib.shake_128(X).digest(x.__len__())): A.append(Α ^ Ҙ) import zlib, marshal, hashlib exec(marshal.loads(zlib.decompress(A)))```Obviously, this is not actual AES-256. It is abusing SHAKE-128's variable length digests to implement what is almost certainly an awful stream cipher. The arbitrary-length hash of our key, X, is XORed with the data. Finally, the result of this is decompressed, loaded (as a marshalled function, which is extremely unportable bytecode I believe), and executed. This is only used to load one piece of obfuscated code, which I may explain later.> `class Entry(ℝ):`This is also only used once, in `typing` below. Its `__init__` function implements Rule 110 in a weird and vaguely golfy way involving some sets and bit manipulation. It inherits from float, but I don't think this does much.> `#raise SystemExit(0)`I did this while debugging the rule 110 but I thought it would be fun to leave it in.> `def typing(CONSTANT: __import__("urllib3")):`This is an obfuscated way to look up objects and load our obfuscated code.> `return getattr(Entry, CONSTANT)`I had significant performance problems, so this incorporates a cache. This was cooler™️ than dicts.
gollark: The tiebreaker algorithm is vulnerable to any attack against Boris Johnson's Twitter account.
gollark: I can't actually shut them down, as they run on arbitrary google services.
gollark: Clearly, mgollark is sabotaging me.
gollark: I submitted them but they were all wrong.

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.