Пример #1
0
    def demo(self, ui):
        ui.message("===== Demo Mode =====")
        ui.message("Running a small demo/testing!")

        text = "“Mes souvenirs sont comme les pistoles dans la bourse du " \
               "diable. Quand on l’ouvrit, on n’y trouva que des feuilles " \
               "mortes. J’ai beau fouiller le passé je n’en retire plus que " \
               "des bribes d’images et je ne sais pas très bien ce qu’elles " \
               "représentent, ni si ce sont des souvenirs ou des fictions.” " \
               "– extrait de « La nausée » de Jean-Paul Sartre."
        marker = self.marker

        ui.message("--- Hiding ---")
        data = "comix"
        ui.message("Text used as source (input file): {}".format(text))
        ui.message("Data to hide: {}\n".format(data))
        ui.message("Text with hidden data (output file): {}"
                   "".format(sema.hide(text, data, marker, 0)))
        ui.message("")

        htext = "“Mes s" + marker + "ouvenirs sont comme les pistoles dans " \
                "la bourse du di" + marker + "able. Quand on l’ouvrit, on " \
                "n’y trouva que des feuilles mo" + marker + "rtes. J’ai " \
                "beau fouiller le passé je n’en retire plus que des bribes " \
                "d’im" + marker + "ages et je ne sais pas très bien ce " \
                "qu’elles représentent, ni si ce sont des sou" + marker + \
                "venirs ou des fictions.” – extrait de « La nausée » de " \
                "Jean-Paul Sar" + marker + "tre."
        ui.message("--- Unhiding ---")
        ui.message("Text used as source (input file): {}".format(htext))
        ui.message("The hidden data is: {}"
                   "".format(sema.unhide(htext, marker, 0)))

        ui.message("--- Won’t work ---")
        ui.message("+ The letters to hide must be present in the input text:")
        data = "zowix"
        ui.message("Text used as source (input file): {}".format(text))
        ui.message("Data to hide: {}".format(data))
        try:
            ui.message("Text with hidden data (output file): {}"
                       "".format(sema.hide(text, data, marker, 0)))
        except Exception as e:
            ui.message(str(e), level=ui.ERROR)

        ui.message("+ The input text must be long enough for the given data "
                   "to hide (at least 40 times):")
        data = "This is quite a long boring sentence"
        ui.message("Data to hide: {}".format(data))
        try:
            ui.message("Text with hidden data (output file): {}"
                       "".format(sema.hide(text, data, marker, 0)))
        except Exception as e:
            ui.message(str(e), level=ui.ERROR)

        ui.get_choice("", [("", "Go back to $menu", "")], oneline=True)
Пример #2
0
    def demo(self, ui):
        ui.message("===== Demo Mode =====")
        ui.message("Running a small demo/testing!")

        text = "“Mes souvenirs sont comme les pistoles dans la bourse du " \
               "diable. Quand on l’ouvrit, on n’y trouva que des feuilles " \
               "mortes. J’ai beau fouiller le passé je n’en retire plus que " \
               "des bribes d’images et je ne sais pas très bien ce qu’elles " \
               "représentent, ni si ce sont des souvenirs ou des fictions.” " \
               "– extrait de « La nausée » de Jean-Paul Sartre."
        marker = self.marker

        ui.message("--- Hiding ---")
        ui.message("Text used as source (input file): {}".format(text))
        ui.message("Data to hide: {}\n".format("comix"))
        ui.message("Text with hidden data (output file): {}"
                   "".format(sema.hide(text, "comix", marker, 0)))
        ui.message("")

        htext = "“Mes s" + marker + "ouvenirs sont comme les pistoles dans " \
                "la bourse du di" + marker + "able. Quand on l’ouvrit, on " \
                "n’y trouva que des feuilles mo" + marker + "rtes. J’ai " \
                "beau fouiller le passé je n’en retire plus que des bribes " \
                "d’im" + marker + "ages et je ne sais pas très bien ce " \
                "qu’elles représentent, ni si ce sont des sou" + marker + \
                "venirs ou des fictions.” – extrait de « La nausée » de " \
                "Jean-Paul Sar" + marker + "tre."
        ui.message("--- Unhiding ---")
        ui.message("Text used as source (input file): {}".format(htext))
        ui.message("The hidden data is: {}"
                   "".format(sema.unhide(htext, marker, 0)))

        ui.message("--- Won’t work ---")
        ui.message("+ The letters to hide must be present in the input text:")
        ui.message("Text used as source (input file): {}".format(text))
        ui.message("Data to hide: {}".format("zowix"))
        try:
            ui.message("Text with hidden data (output file): {}"
                       "".format(sema.hide(text, "zowix", marker, 0)))
        except Exception as e:
            ui.message(str(e), ui.ERROR)

        ui.message("+ The input text must be long enough for the given data "
                   "to hide (at least 40 times):")
        ui.message("Data to hide: {}"
                   "".format("This is quite a long boring sentence"))
        try:
            ui.message("Text with hidden data (output file): {}"
                       "".format(
                           sema.hide(text, "This is quite a long boring "
                                     "sentence", marker, 0)))
        except Exception as e:
            ui.message(str(e), ui.ERROR)

        ui.get_choice("", [("", "Go back to *menu", "")], oneline=True)
Пример #3
0
    def hide(self, ui):
        """Interactive version of hide()."""
        txt = ""
        ui.message("===== Hide Mode =====")

        while 1:
            done = False
            while not done:
                txt = ui.text_input("Text into which hide data")
                if txt is None:
                    break  # Go back to main Hide menu.

                while 1:
                    data = ui.text_input("Data to hide into the text")
                    try:
                        # Will also raise an exception if data is None.
                        txt = sema.hide(txt, data, self.marker, 0)
                        done = True  # Out of those loops, output result.
                        break
                    except Exception as e:
                        if utils.DEBUG:
                            import traceback
                            traceback.print_tb(sys.exc_info()[2])
                        ui.message(str(e), level=ui.ERROR)
                        options = [("retry", "*try again", ""),
                                   ("file", "choose another *input file", ""),
                                   ("menu", "or go back to *menu", "")]
                        msg = "Could not hide that data into the given " \
                              "text, please"
                        answ = ui.get_choice(msg, options, oneline=True)
                        if answ == "file":
                            break  # Go back to input file selection.
                        elif answ in {None, "menu"}:
                            return  # Go back to main Sema menu.
                        # Else, retry with another data to hide.

            if done:
                ui.text_output("Data successfully hidden", txt,
                               "Text with hidden data")

            options = [("redo", "*hide another data", ""),
                       ("quit", "or go back to $menu", "")]
            answ = ui.get_choice("Do you want to", options, oneline=True)
            if answ in {None, "quit"}:
                return
Пример #4
0
    def hide(self, ui):
        """Interactive version of hide()."""
        txt = ""
        ui.message("===== Hide Mode =====")

        while 1:
            done = False
            while not done:
                txt = ui.text_input("Text into which hide data")
                if txt is None:
                    break  # Go back to main Hide menu.

                while 1:
                    data = ui.text_input("Data to hide into the text")
                    try:
                        # Will also raise an exception if data is None.
                        txt = sema.hide(txt, data, self.marker, 0)
                        done = True  # Out of those loops, output result.
                        break
                    except Exception as e:
                        if utils.DEBUG:
                            import traceback
                            traceback.print_tb(sys.exc_info()[2])
                        ui.message(str(e), level=ui.ERROR)
                        options = [("retry", "*try again", ""),
                                   ("file", "choose another *input file", ""),
                                   ("menu", "or go back to *menu", "")]
                        msg = "Could not hide that data into the given " \
                              "text, please"
                        answ = ui.get_choice(msg, options, oneline=True)
                        if answ == "file":
                            break  # Go back to input file selection.
                        elif answ in {None, "menu"}:
                            return  # Go back to main Sema menu.
                        # Else, retry with another data to hide.

            if done:
                ui.text_output("Data successfully hidden", txt,
                               "Text with hidden data")

            options = [("redo", "*hide another data", ""),
                       ("quit", "or go back to $menu", "")]
            answ = ui.get_choice("Do you want to", options, oneline=True)
            if answ in {None, "quit"}:
                return