# Welcome to bashacks’s documentation!

Bashacks is an open source (GPL) set of bash functions probably useful for programmers, security analysts and general users that need to do some low level type of operation.

In fact, there nothing really new bashacks since all functions are write using exiting software in GNU/Linux distribuitions.

But you still can have advantage in use short commands to run tasks that commomnly will require a ot of lines to be done.

Contents:

# Install

In this section you can find instructions bashacks’s installation process, if you have any tips to improve, send your opinion. ;)

## Requirements

- bash >= 4

- bc

- binutils

- coreutils

- curl

- file

- grep

- hexdump

- html2text

- perl

- sed

- wget

- xxd

- zip

- make

We consider that your system has the minimum instalation of packages, if you are using some of the below no problems.

    GNU/Linux
    FreeBSD (new)
    OSX (new)

## Download

Download the final version, download on the `GITHUB`. Download Bashacks

## GIT

Since the end of version `1.5.0` we are working with separate branches for various activities, can have errors and problems in `devel` repository, but try to keep always clean `master` branch to your advantage.

    $ git clone https://github.com/merces/bashacks.git
    $ cd bashacks
    # this's a optional mode, maybe there's some error in the devel branch.
    $ git checkout devel

## Compile

    Options

    all       : Just creates the file bashacks.sh
    install   : Creates the file bashacks.sh, add entry in /etc/bash.bashrc and install man page
    clean     : Just remove the file bashacks.sh
    uninstall : remove reference the source of /etc/bash.bashrc and man page

    $ make all
    $ source bashacks.sh

Done that all functions can be used use `bh` `TAB` `TAB` and has a `Sight beyond sight`

# Crypto

In this page, you will found information from all functions of cryptograpy on the bashacks

## bh_hashcrack

This is our old function `bh_unmd5` with many improvements, now can with several hashes, just update the name.

In this new version we cache the hash that have already been found, improving delivery speed.

Note

Usage

`bh_hascrack` [hash string]

Supported hash string for decryption:

`md5`, `sha1`, `sha256`, `sha384`, `sha512`

    #md5
    $ bh_hashcrack e10adc3949ba59abbe56e057f20f883e
    123456

    #sha1
    $ bh_hashcrack 38464bf083d958b53580c63c01e56707fd043588
    rock

    #sha256
    $ bh_hashcrack 9ca0f72f324a7bd2c2efc64b40d1e769a473451c2b9e5dfbd54a9db53c986ba5
    mamonas

    #sha384
    $ bh_hashcrack 504f008c8fcf8b2ed5dfcde752fc5464ab8ba064215d9c514785180d2ad7cee1ab792ad44798c
    1234

    #sha512
    $ bh_hashcrack 5b01e57fd8ab53cc7c0d2a97585ba5a9d70f0dc966472b32736c52a4823f3fb43532dfc1e83fd2d92f1a7dbec8c401f4d7355b67accec
    hack

This function has given a lot of work, many upgrades, have a good time that we have to find a good source hashed base.

## bh_rot

Encrypts/Decrypts string with the Cesar Cipher using n shifts to the right.

Note

Usage

`bh_rot` [int] [string]

int : Aumount of jumps you want to give to the right

string : string to code or decode

    $ bh_rot 3 terra
    whuud
    $ bh_rot 13 terra
    green

bh_rotall is an implementation that accesses rot generating 1..25 results to rot.

    $ bh_rotall urfn
    ROT1 vsgo
    ROT2 wthp
    ROT3 xuiq
    ROT4 yvjr
    ROT5 zwks
    ROT6 axlt
    ROT7 bymu
    ROT8 cznv
    ROT9 daow
    ROT10 ebpx
    ROT11 fcqy
    ROT12 gdrz
    ROT13 hesa
    ROT14 iftb
    ROT15 jguc
    ROT16 khvd
    ROT17 liwce
    ROT18 mjxf
    ROT19 nkyg
    ROT20 olzh
    ROT21 pmai
    ROT22 qnbj
    ROT23 rock
    ROT24 spdl
    ROT25 tqem

## bh_strxor

Calculates exclusive OR of each character in a string with a key.

Note

Usage

`bh_strxor` [key] [string]

key : int or hex

string: string to code or decode

    $ bh_strxor 15 'hack'
    gnld

    $ bh_strxor 15 'gnld'
    hack

# Filesystem

This section in general has funcions for file handling.

## bh_bkp

Do quick backup of file using the current system date posfixed to the filename

Note

Usage

`bh_bkp` [filename]

    $ bh_bkp bashacks.sh
    $ ls -1
    bashacks.sh
    bashacks.sh.20160122

## bh_findmime

Find file by mime type

Note

Usage

`bh_findmime` -[type] [directory]

type : -exe, -msi, -txt or -zip

directory : path

    $ bh_findmime -exe ~/Downloads
    /home/bashacks/Downloads//binario.exe

    $ bh_findmime -txt ~/Documents
    /home/bashacks/Documents//01-text.txt
    /home/bashacks/Documents//ha.log

    $ bh_findmime -zip ~/
    /home/bashacks//crm.zip

    $ bh_findmime -msi ~/
    /home/bashacks//install.msi

## bh_hashes

Generate message digest md5, sha1 and sha256 from file or list of file sent by parameters.

Note

Usage

`bh_hashes` [filename or list of files]

    $ $ bh_hashes bashacks.sh
    5dab37cac730088fd959f8292636fc9b bashacks.sh
    38be74a4e710a3eeb24b4fa2015cea990d4eda67 bashacks.sh
    587b713bb31e3bf32de0b734805c3dd247f49a14cd9e9a5f35008e4f620d3f82 bashacks.sh

## bh_md5rename

Convert filename to equivalent digest md5.

Note

Usage

`bh_md5rename` [filename or list of files]

    $ touch ment.bin
    $ bh_md5rename ment.bin
    $ ls
    d41d8cd98f00b204e9800998ecf8427e

## bh_secretfile

A nice feature to any skill, use it to compress one or more files, automatically generating a password and upload to the file.io, in the end of process you’ll get a URL and password to decompress file.

Note

Usage

`bh_secretfile` [filename]

    $ cat > ment.bin
    Hi, I'm send this file.
    $ bh_secretfile ment.bin
    adding: ment.bin (stored 0%)
    https://file.io/Raan5CUW8ZTW
    NRvC_ZniiEtlwgcrBbI_

## bh_sharefile

Just as the bh_secretfile function uploads a file and returns the unique url to access it, this process will not have a password attached, anyone with the URL will be able to download it.

Note

Usage

`bh_sharefile` [filename]

    $ bh_sharefile texto.txt
    https://file.io/EGQvRxqyagIY

## bh_zipmal

Copress file in zip format with password protection. the password is `virus`

Note

Usage

`bh_zipmal` [filename]

    $ bh_zipmal malware.cpl
      adding: malware.cpl (deflated 69%)
    -rw-r--r-- 1 bashacks  users  30k Jan 21 23:57 malware.zip

# Math

In this section, we will have many funcions of mathematics operations that help us in everyday life.

They are not complex to assemble in bash, however, nothing better than a small function to assist, nothing better that send data and get or return result, always read the code.

## bh_bin2dec

This function expects a binary and return its equivalent in decimal.

Note

Usage

`bh_bin2dec` [binary]

binary : string in binary format.

    $ bh_bin2dec 11111111
    255

    $ bh_bin2dec 10
    2

    $ bh_bin2dec 1110
    14

## bh_charcalc

Think of a way to make operations with ‘char’, how to sum two positions for a ‘char/string’ and return letter c or sum of the other and multiply it by 10 and returns 10

Note

Usage

`bh_charcalc` [char/string] [operator] [number]

char/string : string or char to operation operator : * + - number : num of operation

    $ bh_charcalc A + 2
    C

    $ bh_charcalc A \* 255
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.......

## bh_dec2bin

Opossed to `bh_bin2dec` this function expects a decimal for converting it into binary.

Note

Usage

`bh_dec2bin` [decimal]

decimal : number in decimal format.

    $ bh_dec2bin 255
    11111111

    $ bh_dec2bin 2
    10

    $ bh_dec2bin 14
    1110

    #Example

    $ for dec in {1..6};
     do
        echo "$dec = $(bh_dec2bin $dec)";
     done

    1 = 1
    2 = 10
    3 = 11
    4 = 100
    5 = 101
    6 = 110

## bh_dec2hex

The function expects a input a decimal number it performs the conversion to hex.

Note

Usage

`bh_dec2hex` [decimal]

decimal: number in decimal format

    $ bh_dec2hex 10
    a

    $ bh_dec2hex 255
    ff

## bh_hex2bin

Capture all submitted arguments and convert to binary

Note

Usage

`bh_hex2bin` [list or one hex digit]

    $ bh_hex2bin abcdef 1 2 3
    101010111100110111101111 1 10 11

    $ bh_hex2bin 10
    10000

## bh_hex2dec

This’s a conversion function from hex digit to decimal digit

Note

Usage

`bh_hex2dec` [one or more hex digit]

    $ bh_hex2dec A
    10

    $ bh_hex2dec FF
    255

## bh_hexcalc

In the same way as `bh_charcalc`, however, work here with hexdigit.

Note

Usage

`bh_hex2cal` [hex digit] [operator] [hex digit]

    $ bh_hex2dec A \* 2
    0xa0

    $ bh_hex2bin FF + 1
    0x100

# Network

## bh_bin2ip

Convert a binary string into network ipaddress.

Note

Usage

> `bh_bin2ip` binary string

    $ bh_bin2ip 00001010.00001010.00000000.00000001
    10.10.0.1

## bh_hostcalc

Enter a network CIDR mask and know the amount of hosts

Note

Usage

> `bh_hostcalc` [ mask cidr ]

    $ bh_hostcalc 24
    256

    $ bh_hostcalc 25
    126

## bh_ip2bin

Convert network ipaddress into binary string.

Note

Usage

> `bh_ip2bin` [ ipaddress ]

    $ bh_ip2bin 192.168.0.100
    11000000.10101000.00000000.01100100

## bh_myip

This returns the external ipaddress of your network connection.

Note

Usage

> `bh_myip`

    $ bh_myip
    200.251.1.1

## bh_wgetr

Recursive and continue getting a partially-downloaded “if exist” file started by a previous instance of wget with randomize time.

Note

Usage

> `bh_wgetr` [ url ]

    $ bh_wgetr http://www.mentebinaria.com.br/artigos/0x1e/0x1e-maqengrevwin.html
    www.mentebinaria.com.br/art 100%[==========================================>]   8.73K  --.-KB/s   in 0s
    www.mentebinaria.com.br/rob 100%[==========================================>]     361  --.-KB/s   in 0s
    www.mentebinaria.com.br/art 100%[==========================================>]  66.18K   132KB/s   in 0.5s
    $ ls -1
    www.mentebinaria.com.br
    $ ls -1 www.mentebinaria.com.br/artigos/0x1e/
    0x1e-maqengrevwin.html
    desktop.png

## bh_ipinfo

Query ipinfo.io returns basic info about address.

Note

Usage

> `bh_ipinfo` [ ipaddress ]

    $ $ bh_ipinfo 8.8.8.8
    {
     "ip": "8.8.8.8",
     "hostname": "dns.google",
     "anycast": true,
     "city": "Mountain View",
     "region": "California",
     "country": "US",
     "loc": "37.4056,-122.0775",
     "org": "AS15169 Google LLC",
     "postal": "94043",
     "timezone": "America/Los_Angeles",
     "readme": "https://ipinfo.io/missingauth"
    }

## bh_unshort

With this function you have the possibility to unshort a URL see below a example.

Note

Usage

> `bh_unshort` [ URL string ]

    $ bh_unshort http://goo.gl/l6MS
    http://googleblog.blogspot.com/2009/12/making-urls-shorter-for-google-toolbar.html

## bh_ipisblocked

Search for occurrence of the ip address in some blacklist returning [T] if positive and [F] if it is opposite..

Note

Usage

> `bh_ipblacklist` [ ipaddress ]

    $ bh_ipblacklist 77.xxx.xx.xx
    == 77.xxx.xx.xx ==
    [F]    TALOS
    [F]    Malc0de
    [F]    Projecthoneypot.org
    [F]    blocklist.de
    [T]    Alienvault
    [F]    SANS-TOPSOURCE

    #if ipaddress is not informed will be considered the outside

    $ bh_ipblacklist
    == 189.x.xxx.x ==
    [F]    TALOS
    [F]    Malc0de
    [F]    blocklist.de
    [F]    Alienvault
    [T]    SANS-TOPSOURCE

# Programming

Session for the creation of facilitators for development in cli

## bh_skel_c

Generates on the standard output `C` skeleton.

Note

Usage

> `bh_skel_c`

    $ bh_skel_c
    #include <stdio.h>

    int main(int argc, char ***argv[]**) {

        return 0;
    }

## bh_skel_go

Generates on the standard output `go` skeleton.

Note

Usage

> `bh_skel_go`

    $ bh_skel_go
    package main

    import (
        "fmt"
    )

    func main() {

        fmt.Println("test")
    }

## bh_skel_latex

Generates on the standard output `latex` skeleton.

Note

Usage

> `bh_skel_latex`

    $ bh_skel_latex
    \documentclass{article}

    \usepackage[english]{babel}
    \usepackage[utf8]{inputenc}
    \usepackage[margin=1in]{geometry}

    \author{}
    \title{}

    \begin{document}
    \maketitle

    \end{document}

## bh_skel_python

Generates on the standard output `python` skeleton.

Note

Usage

> `bh_skel_python`

    $ bh_skel_python
    #!/usr/bin/env python
    # *-* coding: utf-8 *-*

    if __name__ == '__main__':

## bh_skel_yara

Generates on the standard output `yara` skeleton.

Note

Usage

> `bh_skel_yara`

    $ bh_skel_yara
    rule test {
    meta:
        author = "mb"
        description = ""
        date = "2022-03-03"
        ref = ""
        hash = ""

    strings:
        $a = "test" ascii wide

    condition:
        all of them
    }

# Reversing

## bh_asmgrep

With the binary attempts to find instruction asm and print 4 lines around.

Note

Usage

> `bh_asmgrep`` [ asm instruction ] [ binary path ]

    $ bh_asmgrep mov /bin/ls
    ....
    ....
    ....
    --
    409f2e:66 90                : xchg   %ax,%ax
    409f30:80 7c 13 ff 2f       : cmpb   $0x2f,-0x1(%rbx,%rdx,1)
    409f35:48 8d 42 ff          : lea    -0x1(%rdx),%rax
    409f39:75 08                : jne    409f43 <__sprintf_chk@plt+0x7783>
    409f3b:48 89 c2             : mov    %rax,%rdx
    409f3e:48 39 d5             : cmp    %rdx,%rbp
    409f41:75 ed                : jne    409f30 <__sprintf_chk@plt+0x7770>
    409f43:48 83 c4 08          : add    $0x8,%rsp
    --
    .....
    .....
    .....

## bh_asminfo

Display information of instructions asm internet is required for help us.

Note

Usage

> `bh_asminfo` [ asm instruction ]

    $ bh_asminfo mov
    mov

    |Code   |Mnemonic        |Description                                         |
    |88 / r |MOV r/m8, r8    |Move r8 to r/m8                                     |
    |89 / r |MOV r/m16, r16  |Move r16 to r/m16                                   |
    |89 / r |MOV r/m32, r32  |Move r32 to r/m32                                   |
    |8A / r |MOV r8, r/m8    |Move r/m8 to r8                                     |
    |8B / r |MOV r16, r/m16  |Move r/m16 to r16                                   |
    .......
    .......
    .......

## bh_replacestring

Find and replace string occurrence in the file, attention: the original file will be replacede by the new generated file.

Note

Usage

> `bh_replacestring` [ file ] [ string to search ] [ string to replace ]

    $ hexdump -C MB_DEV
    .......
    00000690  2e 00 54 00 58 00 54 00  2e 00 00 00 73 00 77 00  |..T.X.T.....s.w.|
    000006a0  e5 45 53 54 45 54 7e 31  53 57 58 20 00 65 a1 9b  |.ESTET~1SWX .e..|
    000006b0  8b 54 8b 54 00 00 a1 9b  8b 54 00 00 00 00 00 00  |.T.T.....T......|
    000006c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    *
    00005e00  4d 65 6e 74 65 42 69 6e  61 72 69 61 0a 00 00 00  |MenteBinaria....|
    00005e10  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    *
    $ bh_replacestring MB_DEV MenteBinaria BinariaMente
    $ hexdump -C MB_DEV
    .......
    00000690  2e 00 54 00 58 00 54 00  2e 00 00 00 73 00 77 00  |..T.X.T.....s.w.|
    000006a0  e5 45 53 54 45 54 7e 31  53 57 58 20 00 65 a1 9b  |.ESTET~1SWX .e..|
    000006b0  8b 54 8b 54 00 00 a1 9b  8b 54 00 00 00 00 00 00  |.T.T.....T......|
    000006c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    *
    00005e00  42 69 6e 61 72 69 61 4d  65 6e 74 65 0a 00 00 00  |BinariaMente....|
    00005e10  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
    *

## bh_zerostring

Replace with zero bytes in block or common file.

Note

Usage

> `bh_zerostring` [ file ] [ string to replace ]

    # hexdump -C MB_DEV
    .....
    00005860  41 4d 00 42 00 2d 00 66  00 69 00 0f 00 a1 6c 00  |AM.B.-.f.i....l.|
    00005870  65 00 2e 00 74 00 78 00  74 00 00 00 00 00 ff ff  |e...t.x.t.......|
    00005880  4d 42 2d 46 49 4c 45 20  54 58 54 20 00 41 26 be  |MB-FILE TXT .A&.|
    00005890  69 54 69 54 00 00 26 be  69 54 05 00 1b 00 00 00  |iTiT..&.iT......|
    .....
    # bh_zerostring MB_DEV MB-FILE
    7+0 records in
    7+0 records out
    7 bytes copied, 7.3484e-05 s, 95.3 kB/s
    # hexdump -C MB_DEV
    .....
    00005860  41 4d 00 42 00 2d 00 66  00 69 00 0f 00 a1 6c 00  |AM.B.-.f.i....l.|
    00005870  65 00 2e 00 74 00 78 00  74 00 00 00 00 00 ff ff  |e...t.x.t.......|
    00005880  00 00 00 00 00 00 00 20  54 58 54 20 00 41 26 be  |....... TXT .A&.|
    00005890  69 54 69 54 00 00 26 be  69 54 05 00 1b 00 00 00  |iTiT..&.iT......|
    .....
    # mount -o loop -t vfat MB_DEV /mnt/
    # ls -la /mnt/
    total 16
    drwxr-xr-x 2 root root 16384 Dec 31  1969 .
    drwxr-xr-x 1 root root   152 Feb 17 15:21 ..

# String

In this section, you are see funcions for string manipulate.

## bh_asc2dec

This function performs the conversion of a char on it’s decimal equivalent.

Note

`bh_asc2dec` [char]

    $  bh_asc2dec a
    97
    $ bh_asc2dec A
    65

## bh_asciitable

Display in the terminal ascii table, if you are a programmer knows how this’s important.

Note

`bh_asciitable`

    $ bh_asciitable

    Dec Hex    Dec Hex    Dec Hex  Dec Hex  Dec Hex  Dec Hex   Dec Hex   Dec Hex
      0 00 NUL  16 10 DLE  32 20    48 30 0  64 40 @  80 50 P   96 60 `  112 70 p
      1 01 SOH  17 11 DC1  33 21 !  49 31 1  65 41 A  81 51 Q   97 61 a  113 71 q
      2 02 STX  18 12 DC2  34 22 "  50 32 2  66 42 B  82 52 R   98 62 b  114 72 r
      3 03 ETX  19 13 DC3  35 23 #  51 33 3  67 43 C  83 53 S   99 63 c  115 73 s
      4 04 EOT  20 14 DC4  36 24 $  52 34 4  68 44 D  84 54 T  100 64 d  116 74 t
      5 05 ENQ  21 15 NAK  37 25 %  53 35 5  69 45 E  85 55 U  101 65 e  117 75 u
      6 06 ACK  22 16 SYN  38 26 &  54 36 6  70 46 F  86 56 V  102 66 f  118 76 v
      7 07 BEL  23 17 ETB  39 27 '  55 37 7  71 47 G  87 57 W  103 67 g  119 77 w
      8 08 BS   24 18 CAN  40 28 (  56 38 8  72 48 H  88 58 X  104 68 h  120 78 x
      9 09 HT   25 19 EM   41 29 )  57 39 9  73 49 I  89 59 Y  105 69 i  121 79 y
     10 0A LF   26 1A SUB  42 2A *  58 3A :  74 4A J  90 5A Z  106 6A j  122 7A z
     11 0B VT   27 1B ESC  43 2B +  59 3B ;  75 4B K  91 5B [  107 6B k  123 7B {
     12 0C FF   28 1C FS   44 2C ,  60 3C <  76 4C L  92 5C \  108 6C l  124 7C |
     13 0D CR   29 1D GS   45 2D -  61 3D =  77 4D M  93 5D ]  109 6D m  125 7D }
     14 0E SO   30 1E RS   46 2E .  62 3E >  78 4E N  94 5E ^  110 6E n  126 7E ~
     15 0F SI   31 1F US   47 2F /  63 3F ?  79 4F O  95 5F _  111 6F o  127 7F DEL

## bh_dec2asc

Once having to enter a decimal returns it’s equivalent in ascii.

Note

`bh_dec2asc` [decimal]

decimal : dec equivalent of the ascii table to convert

    $ bh_dec2asc 65
    A
    $ bh_dec2asc 41
    )

## bh_hex2str

Converts one or more bytes into a hex string to str.

Accepts as input all output formats str2hex function.

Note

`bh_hex2str` [hex string]

    $ bh_hex2str '72 6f 63 6b'
    rock
    $ bh_hex2str '0x726f636b'
    rock
    $ bh_hex2str '0x72 0x6f 0x63 0x6b'
    rock
    $ bh_hex2str '{0x72, 0x6f, 0x63, 0x6b}'
    rock

## bh_str2dec

Convert one or more bytes to their decimal equivalent.

Note

`bh_str2dec` [char or string]

    $ bh_str2dec A
    65
    $ bh_str2dec mbin
    109 98 105 110
    $ bh_str2dec root
    114 111 111 116

## bh_str2hexr

Converts string in hex byte equivalent to each char (hex string). reverse mode

Note

`bh_str2hexr` [-x] [-0x] [-c] [string]

    $ bh_str2hexr 'Fernando'
    6f 64 6e 61 6e 72 65 46
    $ bh_str2hexr -x 'Fernando'
    \x6f\x64\x6e\x61\x6e\x72\x65\x46
    $ bh_str2hexr -0x 'Fernado'
    0x6f 0x64 0x6e 0x61 0x6e 0x72 0x65 0x46

## bh_str2hex

Converts string in hex byte equivalent to each char (hex string).

Note

`bh_str2hex` [-x] [-0x] [-c] [string]

    $ bh_str2hex 'Fernando'
    46 65 72 6e 61 6e 64 6f
    $ bh_str2hex -x 'Fernando'
    \x46\x65\x72\x6e\x61\x6e\x64\x6f
    $ bh_str2hex -0x 'Fernado'
    0x46 0x65 0x72 0x6e 0x61 0x6e 0x64 0x6f

## bh_urldecode

Decode string with bh_urldecode from web standard to human format.

Note

`bh_urldecode` [encoded string]

    $ bh_urldecode '%2fzzz%21%40%2e%23'
    /zzz!@.#

## bh_urlencode

Encoded string with bh_urlencode to web standard.

Note

`bh_urlencode` [string]

    $ bh_urlencode '/zzz!@.#'
    %2fzzz%21%40%2e%23

## bh_utf8table

Show UTF8 table.

Note

`bh_utf8table`

    $ bh_utf8table
    Hex      Hex      Hex      Hex      Hex      Hex      Hex      Hex
    c2 a0    c2 ac ¬  c2 b8 ¸  c3 84 Ä  c3 90 Ð  c3 9c Ü  c3 a8 è  c3 b4 ô
    c2 a1 ¡  c2 ad    c2 b9 ¹  c3 85 Å  c3 91 Ñ  c3 9d Ý  c3 a9 é  c3 b5 õ
    c2 a2 ¢  c2 ae ®  c2 ba º  c3 86 Æ  c3 92 Ò  c3 9e Þ  c3 aa ê  c3 b6 ö
    c2 a3 £  c2 af ¯  c2 bb »  c3 87 Ç  c3 93 Ó  c3 9f ß  c3 ab ë  c3 b7 ÷
    c2 a4 ¤  c2 b0 °  c2 bc ¼  c3 88 È  c3 94 Ô  c3 a0 à  c3 ac ì  c3 b8 ø
    c2 a5 ¥  c2 b1 ±  c2 bd ½  c3 89 É  c3 95 Õ  c3 a1 á  c3 ad í  c3 b9 ù
    c2 a6 ¦  c2 b2 ²  c2 be ¾  c3 8a Ê  c3 96 Ö  c3 a2 â  c3 ae î  c3 ba ú
    c2 a7 §  c2 b3 ³  c2 bf ¿  c3 8b Ë  c3 97 ×  c3 a3 ã  c3 af ï  c3 bb û
    c2 a8 ¨  c2 b4 ´  c3 80 À  c3 8c Ì  c3 98 Ø  c3 a4 ä  c3 b0 ð  c3 bc ü
    c2 a9 ©  c2 b5 µ  c3 81 Á  c3 8d Í  c3 99 Ù  c3 a5 å  c3 b1 ñ  c3 bd ý
    c2 aa ª  c2 b6 ¶  c3 82 Â  c3 8e Î  c3 9a Ú  c3 a6 æ  c3 b2 ò  c3 be þ
    c2 ab «  c2 b7 ·  c3 83 Ã  c3 8f Ï  c3 9b Û  c3 a7 ç  c3 b3 ó  c3 bf ÿ