42
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【クソアプリ】スパムDMメーカー

Last updated at Posted at 2022-12-08

いつもお世話になっております。
クソアプリアドベントカレンダー4年目のナモすけ(ウラル)です。

さて突然ですが、皆さんはTwitterのダイレクトメッセージ機能、使いこなせているでしょうか?
TwitterでDM通知が来ると嬉しくなりますよね。友達から大切な連絡が来ることもしばしば。
6CEBE850-5866-4143-B2C7-29E9DD1FFC20.jpeg
未読無視は良くないですから、早めに返してあげましょう。
8F7EEA2C-0B29-4747-ACC0-C25AF23516CB.jpeg
……。友達では無かったようですね。でもきっとFF外からファンレターや、取材の依頼が来ているに違いありません。
4DF25C1E-89BE-4020-B734-D7939E56A466.png
ギャ!!!!!
7C7DB63E-B8F2-4B48-8F05-B80A357010D0.jpeg
なんだこれは。
1A31B5FD-3A8E-4228-B4B3-FECA9D36BF11.jpeg
D178D134-A12A-439F-AA63-8E56798E756B.jpeg
ふざけているのか?
4ABB5910-B1A5-4B16-B6AE-1EBBE5F3D4DF.jpeg
BDA5CD08-EDE1-4F7D-A136-B7743FEF2164.jpeg
92AB16E6-22E6-4C7A-936C-0BD426956BCB.jpeg
9143F44F-0A5C-4818-B2BA-F2902C2689D0.jpeg
745185D5-5476-4E98-8B2E-EEE28586979A.jpeg
4B4EF21E-2C7A-4493-B518-018E712348BA.jpeg
464F43DA-36D4-4877-8078-CFD21287DE43.jpeg
いいえ、きっと最近の若い人の間ではこういうデコ文字が流行りなのでしょう。そうに違いありません。眺めていると、なんだか可愛らしく見えてきませんか?
32D8DD41-F3F3-4853-B513-3D3541810604.jpeg
D23F77F4-6B1F-4F8A-8058-AAACC6959C46.jpeg
F80B1303-268A-4B66-8973-5FA9BDDB6F8F.jpeg
…………

というわけで、こういった怪しいDMを生成するツールを開発してみました。

怪しい記号の分析

これらのDMをよく観察すると、見慣れない記号が大量に文章中に挿入されていることがわかります。この記号の正体がわかれば、自動生成することができそうです。

そこで、いくつかテキストのサンプルを選んで、文字列をUnicodeエスケープし、目視で記号部分だけを抜き出して、出現数と共に表にまとめてみました。

コードポイント 出現数
\u200c 5
\uff9e 14
\u200b 12
\u200d 13
\u180d 8
\u180c 5
\uffa0 9
\u18a6 8
\u180e 9
\u1802 22
\u2061 6
\u1808 12
\u200a 14
\u1c78 2
\u2cff 3

調べてみると、想像以上に非表示の記号が挿入されていることがわかりました。また、メッセージごとに出現数に大きく偏りがありました。
とはいえ、全体の印象としては、およそ元の文字列と同数程度の記号が挿入されているようでした。
image.png

実装

必要な記号が分かったので実装に入ります。
実装にはいつも通りNext.jsを使います。自分用のテンプレートリポジトリがあると大変便利です。

楽にUIを作りたいので、MUIを使います。

それぞれの文字の出現率を、スライダーで調整できるようにしてみました。
image.png
また、新たな記号パターンが登場するかもしれないので、後から記号を追加できるようにしました。
image.png
というわけで、完成したものがこちらです。

image.png
かなり正確に、あの残念な感じが再現できるようになったと思います。
ちなみに、デフォルト値として使えるよう、大量のスパム文章を手入力するという仏様もびっくりの写経をしていました。

プログラムに興味を持ってくださった方は、以下で公開しているのでご覧ください。

最後までお読みいただきありがとうございました。
よろしければ、過去のクソアプリの記事もお読みいただけると嬉しいです。

それではごきげんよう。

42
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
42
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?