LoginSignup
25
21

More than 5 years have passed since last update.

ズンドコキヨシ by ズンドコスクリプト

Posted at

そんなにズンドコしたいならズンドコでやろうよ。

というわけで、ズンドコスクリプトによるズンドコキヨシは以下のとおりとなりました。

kiyoshi.zd
ズンズンドコズンズンズンドコドコズンズンドコズンズンズンズンドコ
ズンズンドコズンドコドコドコドコズンドコドコドコズンドコズンドコ
ズンドコドコドコズンズンドコドコズンドコドコドコズンズンドコズン
ズンズンドコズンドコドコドコドコズンドコドコズンズンズンドコズン
ズンドコドコズンドコズンズンドコズンドコドコズンドコドコドコズン
ズンズンドコズンドコドコドコドコズンドコドコズンズンドコズンドコ
ズンドコドコズンドコドコドコズンズンドコドコドコズンドコドコズン
ズンズンドコズンズンズンズンズンズンドコドコドコズンズンズンズン
ズンドコドコズンズンドコズンドコズンドコドコドコズンズンドコズン
ズンドコドコズンドコドコズンズンズンズンズンズンドコズンドコズン
ズンズンドコズンズンドコズンズンズンドコズンドコドコドコズンズン
ズンズンドコドコドコドコズンドコズンズンドコズンズンズンドコズン
ドコドコドコズンズンズンドコドコドコズンズンズンズンズンドコズン
ドコズンドコズンドコドコズンドコドコドコドコズンズンズンドコドコ
ドコズンズンズンズンズンドコドコドコズンドコドコドコズンドコドコ
ドコドコドコズンズンズンドコドコドコズンズンズンズンズンドコドコ
ドコズンドコズンドコズンズンズンドコドコドコズンズンズンドコドコ
ドコズンズンズンズンズンドコドコドコズンドコドコドコズンドコドコ
ドコドコドコズンズンズンドコドコドコズンズンズンズンズンドコズン
ドコズンドコドコズンドコドコドコズンズンドコズンズンズンズンドコ
ズンズンドコズンズンズンドコズンズンドコドコドコズンドコドコドコ
ズンドコドコズンドコズンズンズンズンドコドコズンドコズンズンドコ
ズンドコドコズンドコドコズンズンズンドコドコズンズンドコズンドコ
ズンズンドコズンズンズンズンズンズンドコドコドコズンズンドコドコ
ズンズンドコズンドコドコドコドコズンズンドコズンドコズンズンズン
ズンズンドコドコドコドコドコドコズンズンドコドコドコドコズンズン
ズンズンドコズンズンズンズンドコズンズンドコズンドコズンズンズン
ドコドコドコズンズンズンドコドコドコズンズンズンズンズンドコズン
ドコズンドコドコドコズンドコズンドコドコドコズンズンズンドコドコ
ドコズンズンズンズンズンドコドコドコズンドコドコズンズンドコドコ
ズンズンドコズンドコズンズンドコズンドコドコドコドコズンドコドコ
ズンズンドコドコズンドコズンズンズンドコドコドコドコドコズンドコ
ドコドコドコズンズンズンドコドコドコズンズンズンズンズンドコドコ
ドコズンズンズンドコズンズンドコドコドコドコズンズンズンドコドコ
ドコズンズンズンズンズンドコズンドコズンドコドコズンズンドコドコ
ズンズンドコズンドコズンズンドコズンズンドコズンズンドコズンズン
ズンズンドコズンドコドコドコドコズンドコドコドコズンズンズンドコ
ズンドコドコドコズンドコドコドコズンズンドコズンドコズンズンズン
ドコドコドコズンズンズンドコドコドコズンズンズンズンズンドコズン
ドコズンドコドコドコズンドコズンドコドコドコズンズンズンドコドコ
ドコズンズンズンズンズンドコドコドコズンドコドコズンズンドコドコ
ズンズンドコズンズンズンズンズンドコドコドコズンズンズンドコドコ
ドコズンズンズンズンズンドコドコドコズンズンズンドコズンズンドコ
ドコドコドコズンズンズンドコドコドコズンズンズンズンズンドコズン
ドコズンドコドコズンズンドコドコズンズンドコズンドコズンズンドコ
ズンドコズンドコドコズンドコドコズンズンドコドコズンズンドコズン
ズンズンドコズンドコズンドコズンズンドコドコドコズンズンドコズン
ズンドコドコズンズンズンズンドコズンドコドコズンドコドコドコズン
ズンドコドコズンズンドコズンズンズンドコズンドコドコドコズンドコ
ズンズンドコズンドコドコドコドコズンドコドコズンズンドコズンドコ
ズンズンドコドコドコズンドコドコズンドコドコドコズンズンズンズン
ズンドコドコドコズンズンドコズンズンドコドコズンドコズンズンドコ
ズンドコドコズンドコドコドコズンズンドコドコドコズンドコズンズン
ズンズンズンズンドコズンドコズンキ・ヨ・シ!

以下のとおり実行します。

/path/to/zdscript kiyoshi.zd

ズンドコスクリプトの処理系は以下のとおりです。

zdscript
#!/usr/bin/env perl
use v5.20;
use warnings;
use utf8;
use File::Temp;
my $zd = do {
    my $fh = \*STDIN;
    open $fh, '<', $ARGV[0] or die $! if @ARGV;
    binmode $fh => ':utf8';
    local $/;
    my $s = <$fh>;
    close $fh;
    $s;
};
($zd) = split/キ・ヨ・シ!/,$zd;
$zd =~ s{(ズン|ドコ)}{{ズン=>0,ドコ=>1}->{$1}}eg;
$zd =~ s/[^01]//g;
$zd =~ s{([01]{8})}{pack"C",eval"0b$1"}eg;
my $fh = File::Temp->new();
my $fn = $fh->filename;
print $fh $zd;
close $fh;
chmod 0755, $fn;
system $fn;
unlink $fn;

なお、以下のコードで任意の実行ファイルをズンドコスクリプト化できます。

zdencode
#!/usr/bin/env perl
use v5.20;
use warnings;
use utf8;
binmode STDOUT => ':utf8';
my $zd = join"",map{sprintf"%08b",unpack"C",$_} split //,do {
    my $fh = \*STDIN;
    open $fh, '<', $ARGV[0] or die $! if @ARGV;
    local $/;
    my $s = <$fh>;
    close $fh;
    $s;
};
$zd =~ s{(.)}{qw(ズン ドコ)[$1]}eg;
say $zd."キ・ヨ・シ!";

ディスアセンブラーも用意しました。

zddecode
#!/usr/bin/env perl
use v5.20;
use warnings;
use utf8;
my $zd = do {
    my $fh = \*STDIN;
    open $fh, '<', $ARGV[0] or die $! if @ARGV;
    binmode $fh => ':utf8';
    local $/;
    my $s = <$fh>;
    close $fh;
    $s;
};
($zd) = split/キ・ヨ・シ!/,$zd;
$zd =~ s{(ズン|ドコ)}{{ズン=>0,ドコ=>1}->{$1}}eg;
$zd =~ s/[^01]//g;
$zd =~ s{([01]{8})}{pack"C",eval"0b$1"}eg;
print $zd;

なお、zdencodeは任意の実効ファイルをズンドコスクリプト化できます。elf binaryであろうがshell scriptだろうが。利用に関し、当方は一切のセ・キ・ニ・ン!をを負いかねますのでよろしくお願いします。

キ・ヨ・シ!じゃなくてダン。

25
21
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
25
21