super_hacker 0.3.2 → 0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/exe/super_hacker +2 -2
- data/lib/code_generator.rb +0 -49
- data/lib/super_hacker.rb +132 -85
- data/lib/super_hacker/version.rb +1 -1
- metadata +1 -1
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 6344ea97d8312d099759fba3b91db896788828f0c3b3601781b95f43d75065ec
         | 
| 4 | 
            +
              data.tar.gz: bbb5d3143c26d73b2434b0bcd98139d08e02bfb485dae4052136b2e251b92ea1
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: f9f3c1b10f9ddb229a92370ee62a3319dcccfc0d6c841ff1cf5d39722c4e893b654496c0b8f004f866c66e3337df1d703d4bbd7c265d666c14eaec1e5385582e
         | 
| 7 | 
            +
              data.tar.gz: 59f64767e8ac92407f390c0c7770d77afd6809bd9150e1354eab6c356da979b028c2bad68c358b3433df588caf05483ff855565aa79ccf4591457f47fa0b3604
         | 
    
        data/exe/super_hacker
    CHANGED
    
    
    
        data/lib/code_generator.rb
    CHANGED
    
    | @@ -1,49 +0,0 @@ | |
| 1 | 
            -
            #CreateCode
         | 
| 2 | 
            -
            class CodeGenerator
         | 
| 3 | 
            -
                def initialize
         | 
| 4 | 
            -
                end
         | 
| 5 | 
            -
                #単語毎に区切って表示
         | 
| 6 | 
            -
                def type_word_code(str,split_sleep = 0.02,typing_sleep = 0.02)
         | 
| 7 | 
            -
                    str.chars do |s|
         | 
| 8 | 
            -
                        #もし空白なら空白用のスリープ時間を適用
         | 
| 9 | 
            -
                        if s == ' ' || s == '\t'
         | 
| 10 | 
            -
                            sleep(split_sleep)
         | 
| 11 | 
            -
                            print s
         | 
| 12 | 
            -
                        else
         | 
| 13 | 
            -
                            sleep(typing_sleep)
         | 
| 14 | 
            -
                            print s
         | 
| 15 | 
            -
                        end
         | 
| 16 | 
            -
                    end
         | 
| 17 | 
            -
                    puts
         | 
| 18 | 
            -
                end
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                #プログレスバーの表示
         | 
| 21 | 
            -
                def print_progres()
         | 
| 22 | 
            -
                    100.times do |num|
         | 
| 23 | 
            -
                    print "#{num}%\r"
         | 
| 24 | 
            -
                    sleep 0.025
         | 
| 25 | 
            -
                    STDOUT.flush
         | 
| 26 | 
            -
                    end
         | 
| 27 | 
            -
                end
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                #CSVファイルの読み込み
         | 
| 30 | 
            -
                def read_csv(file_name,sleep_time = 0.001,word_sleep = 0.02)
         | 
| 31 | 
            -
                    csv_data = CSV.read(file_name, headers: true)
         | 
| 32 | 
            -
                    csv_data.each do |data|
         | 
| 33 | 
            -
                        #もしテキストがなければ改行して次の文字へ
         | 
| 34 | 
            -
                        if data["text"].nil?
         | 
| 35 | 
            -
                            puts
         | 
| 36 | 
            -
                            next
         | 
| 37 | 
            -
                        end
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                        #sleep_timeが設定されていれば、csvファイルのほうを有効にする
         | 
| 40 | 
            -
                        if data["sleep_time"].nil? == false
         | 
| 41 | 
            -
                            type_word_code(data["text"],word_sleep,data["sleep_time"].to_f)
         | 
| 42 | 
            -
                        else
         | 
| 43 | 
            -
                            #csvデータを表示する
         | 
| 44 | 
            -
                            type_word_code(data["text"],word_sleep,sleep_time)
         | 
| 45 | 
            -
                        end
         | 
| 46 | 
            -
                    end
         | 
| 47 | 
            -
                end
         | 
| 48 | 
            -
             | 
| 49 | 
            -
            end
         | 
    
        data/lib/super_hacker.rb
    CHANGED
    
    | @@ -1,101 +1,148 @@ | |
| 1 | 
            -
            require './lib/super_hacker/version'
         | 
| 2 1 | 
             
            require 'csv'
         | 
| 3 2 | 
             
            require 'securerandom'
         | 
| 4 3 | 
             
            require './lib/code_generator'
         | 
| 5 4 |  | 
| 6 | 
            -
             | 
| 7 | 
            -
               | 
| 8 | 
            -
                 | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
              #IPアドレスを入力するまでのシーン
         | 
| 12 | 
            -
              def scene_input_ip
         | 
| 13 | 
            -
                    ip = "192.168.#{rand(1..99)}.#{rand(1..99)}"
         | 
| 14 | 
            -
                    @cg.type_word_code("You are Get IP address #{ip}")
         | 
| 15 | 
            -
                    @cg.type_word_code("Plz Input IP address")
         | 
| 16 | 
            -
                    print "[IP]> "
         | 
| 17 | 
            -
                    user_input_ip = gets.chomp()
         | 
| 18 | 
            -
                    #比較結果を返す
         | 
| 19 | 
            -
                    user_input_ip == ip
         | 
| 20 | 
            -
              end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
              #loginするまでのシーン
         | 
| 23 | 
            -
              def scene_login
         | 
| 24 | 
            -
                #ダウンロード成功、色々流れてくる。
         | 
| 25 | 
            -
                @cg.type_word_code("[CONNECTION SUCCESS]",0.02,0.01)
         | 
| 26 | 
            -
                @cg.type_word_code("Downloading..",0.02,0.01)
         | 
| 27 | 
            -
                @cg.print_progres()
         | 
| 28 | 
            -
                @cg.read_csv("./csv/download.csv",0.00001,0.00001)
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                #パスワードを入力させる
         | 
| 31 | 
            -
                create_password = SecureRandom.base64(5)
         | 
| 32 | 
            -
                @cg.type_word_code("You are get Pass Word: #{create_password}")
         | 
| 33 | 
            -
                @cg.type_word_code("Plz Input Pass Word")
         | 
| 34 | 
            -
                print "[PassWord]> "
         | 
| 35 | 
            -
                password = gets.chomp()
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                #比較結果を返す
         | 
| 38 | 
            -
                create_password == password
         | 
| 39 | 
            -
              end
         | 
| 40 | 
            -
             | 
| 41 | 
            -
              #成功
         | 
| 42 | 
            -
              def scene_success
         | 
| 43 | 
            -
                @cg.read_csv("./csv/success.csv",0.001,0.001)
         | 
| 44 | 
            -
              end
         | 
| 45 | 
            -
             | 
| 46 | 
            -
              #失敗
         | 
| 47 | 
            -
              def scene_faild
         | 
| 48 | 
            -
                @cg.read_csv("./csv/faild.csv",0.001,0.001)
         | 
| 49 | 
            -
              end
         | 
| 50 | 
            -
             | 
| 51 | 
            -
              #実装部分
         | 
| 52 | 
            -
              def step
         | 
| 53 | 
            -
                #初期化csvファイルの読み込み
         | 
| 54 | 
            -
                @cg.read_csv('./csv/init.csv')
         | 
| 5 | 
            +
            module SuperHacker
         | 
| 6 | 
            +
              class Hacker
         | 
| 7 | 
            +
                def initialize
         | 
| 8 | 
            +
                  @cg = CodeGenerator.new()
         | 
| 9 | 
            +
                end
         | 
| 55 10 |  | 
| 56 | 
            -
                 | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 11 | 
            +
                #IPアドレスを入力するまでのシーン
         | 
| 12 | 
            +
                def scene_input_ip
         | 
| 13 | 
            +
                      ip = "192.168.#{rand(1..99)}.#{rand(1..99)}"
         | 
| 14 | 
            +
                      @cg.type_word_code("You are Get IP address #{ip}")
         | 
| 15 | 
            +
                      @cg.type_word_code("Plz Input IP address")
         | 
| 16 | 
            +
                      print "[IP]> "
         | 
| 17 | 
            +
                      user_input_ip = gets.chomp()
         | 
| 18 | 
            +
                      #比較結果を返す
         | 
| 19 | 
            +
                      user_input_ip == ip
         | 
| 20 | 
            +
                end
         | 
| 59 21 |  | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 22 | 
            +
                #loginするまでのシーン
         | 
| 23 | 
            +
                def scene_login
         | 
| 24 | 
            +
                  #ダウンロード成功、色々流れてくる。
         | 
| 25 | 
            +
                  @cg.type_word_code("[CONNECTION SUCCESS]",0.02,0.01)
         | 
| 26 | 
            +
                  @cg.type_word_code("Downloading..",0.02,0.01)
         | 
| 27 | 
            +
                  @cg.print_progres()
         | 
| 28 | 
            +
                  @cg.read_csv("./csv/download.csv",0.00001,0.00001)
         | 
| 29 | 
            +
             | 
| 30 | 
            +
                  #パスワードを入力させる
         | 
| 31 | 
            +
                  create_password = SecureRandom.base64(5)
         | 
| 32 | 
            +
                  @cg.type_word_code("You are get Pass Word: #{create_password}")
         | 
| 33 | 
            +
                  @cg.type_word_code("Plz Input Pass Word")
         | 
| 34 | 
            +
                  print "[PassWord]> "
         | 
| 35 | 
            +
                  password = gets.chomp()
         | 
| 36 | 
            +
             | 
| 37 | 
            +
                  #比較結果を返す
         | 
| 38 | 
            +
                  create_password == password
         | 
| 39 | 
            +
                end
         | 
| 62 40 |  | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 41 | 
            +
                #成功
         | 
| 42 | 
            +
                def scene_success
         | 
| 43 | 
            +
                  @cg.read_csv("./csv/success.csv",0.001,0.001)
         | 
| 44 | 
            +
                end
         | 
| 67 45 |  | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
                      next
         | 
| 73 | 
            -
                    end
         | 
| 46 | 
            +
                #失敗
         | 
| 47 | 
            +
                def scene_faild
         | 
| 48 | 
            +
                  @cg.read_csv("./csv/faild.csv",0.001,0.001)
         | 
| 49 | 
            +
                end
         | 
| 74 50 |  | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 51 | 
            +
                #実装部分
         | 
| 52 | 
            +
                def step
         | 
| 53 | 
            +
                  #初期化csvファイルの読み込み
         | 
| 54 | 
            +
                  @cg.read_csv('./csv/init.csv')
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                  loop do
         | 
| 57 | 
            +
                    #メニュー表示
         | 
| 58 | 
            +
                    @cg.read_csv('./csv/menu.csv')
         | 
| 59 | 
            +
             | 
| 60 | 
            +
                    print("(HACK_MENU)> ")
         | 
| 61 | 
            +
                    input = gets.chomp
         | 
| 62 | 
            +
             | 
| 63 | 
            +
                    if input == "hax"
         | 
| 64 | 
            +
                      #haxコードの表示
         | 
| 65 | 
            +
                      @cg.read_csv('./csv/hax.csv',0.002,0.0001)
         | 
| 66 | 
            +
                      @cg.read_csv('./csv/log.csv',0.002,0.0001)
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                      #IPアドレスを入力させる
         | 
| 69 | 
            +
                      if scene_input_ip == false
         | 
| 70 | 
            +
                        @cg.type_word_code("You jare input mistakes..")
         | 
| 71 | 
            +
                        scene_faild
         | 
| 72 | 
            +
                        next
         | 
| 73 | 
            +
                      end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                      #loginするまでのシーン
         | 
| 76 | 
            +
                      if scene_login == false
         | 
| 77 | 
            +
                        @cg.type_word_code("You are input mistakes..")
         | 
| 78 | 
            +
                        scene_faild
         | 
| 79 | 
            +
                        next
         | 
| 80 | 
            +
                      end
         | 
| 81 | 
            +
             | 
| 82 | 
            +
                      @cg.type_word_code("Infiltration succeeded")
         | 
| 83 | 
            +
             | 
| 84 | 
            +
                      #成功
         | 
| 85 | 
            +
                      scene_success
         | 
| 86 | 
            +
             | 
| 87 | 
            +
                    elsif input == "exit" || input == "quit"
         | 
| 88 | 
            +
                      #終了
         | 
| 89 | 
            +
                      @cg.type_word_code("bye..")
         | 
| 90 | 
            +
                      break
         | 
| 91 | 
            +
                    else
         | 
| 92 | 
            +
                      #入力ミス
         | 
| 93 | 
            +
                      @cg.type_word_code("[INPUT ERROR]")
         | 
| 80 94 | 
             
                    end
         | 
| 81 | 
            -
             | 
| 82 | 
            -
                    @cg.type_word_code("Infiltration succeeded")
         | 
| 83 | 
            -
             | 
| 84 | 
            -
                    #成功
         | 
| 85 | 
            -
                    scene_success
         | 
| 86 | 
            -
             | 
| 87 | 
            -
                  elsif input == "exit" || input == "quit"
         | 
| 88 | 
            -
                    #終了
         | 
| 89 | 
            -
                    @cg.type_word_code("bye..")
         | 
| 90 | 
            -
                    break
         | 
| 91 | 
            -
                  else
         | 
| 92 | 
            -
                    #入力ミス
         | 
| 93 | 
            -
                    @cg.type_word_code("[INPUT ERROR]")
         | 
| 94 95 | 
             
                  end
         | 
| 95 96 | 
             
                end
         | 
| 96 | 
            -
              end
         | 
| 97 97 |  | 
| 98 | 
            -
            end
         | 
| 98 | 
            +
              end
         | 
| 99 | 
            +
              #CreateCode
         | 
| 100 | 
            +
              class CodeGenerator
         | 
| 101 | 
            +
                  def initialize
         | 
| 102 | 
            +
                  end
         | 
| 103 | 
            +
                  #単語毎に区切って表示
         | 
| 104 | 
            +
                  def type_word_code(str,split_sleep = 0.02,typing_sleep = 0.02)
         | 
| 105 | 
            +
                      str.chars do |s|
         | 
| 106 | 
            +
                          #もし空白なら空白用のスリープ時間を適用
         | 
| 107 | 
            +
                          if s == ' ' || s == '\t'
         | 
| 108 | 
            +
                              sleep(split_sleep)
         | 
| 109 | 
            +
                              print s
         | 
| 110 | 
            +
                          else
         | 
| 111 | 
            +
                              sleep(typing_sleep)
         | 
| 112 | 
            +
                              print s
         | 
| 113 | 
            +
                          end
         | 
| 114 | 
            +
                      end
         | 
| 115 | 
            +
                      puts
         | 
| 116 | 
            +
                  end
         | 
| 99 117 |  | 
| 118 | 
            +
                  #プログレスバーの表示
         | 
| 119 | 
            +
                  def print_progres()
         | 
| 120 | 
            +
                      100.times do |num|
         | 
| 121 | 
            +
                      print "#{num}%\r"
         | 
| 122 | 
            +
                      sleep 0.025
         | 
| 123 | 
            +
                      STDOUT.flush
         | 
| 124 | 
            +
                      end
         | 
| 125 | 
            +
                  end
         | 
| 100 126 |  | 
| 127 | 
            +
                  #CSVファイルの読み込み
         | 
| 128 | 
            +
                  def read_csv(file_name,sleep_time = 0.001,word_sleep = 0.02)
         | 
| 129 | 
            +
                      csv_data = CSV.read(file_name, headers: true)
         | 
| 130 | 
            +
                      csv_data.each do |data|
         | 
| 131 | 
            +
                          #もしテキストがなければ改行して次の文字へ
         | 
| 132 | 
            +
                          if data["text"].nil?
         | 
| 133 | 
            +
                              puts
         | 
| 134 | 
            +
                              next
         | 
| 135 | 
            +
                          end
         | 
| 136 | 
            +
             | 
| 137 | 
            +
                          #sleep_timeが設定されていれば、csvファイルのほうを有効にする
         | 
| 138 | 
            +
                          if data["sleep_time"].nil? == false
         | 
| 139 | 
            +
                              type_word_code(data["text"],word_sleep,data["sleep_time"].to_f)
         | 
| 140 | 
            +
                          else
         | 
| 141 | 
            +
                              #csvデータを表示する
         | 
| 142 | 
            +
                              type_word_code(data["text"],word_sleep,sleep_time)
         | 
| 143 | 
            +
                          end
         | 
| 144 | 
            +
                      end
         | 
| 145 | 
            +
                  end
         | 
| 101 146 |  | 
| 147 | 
            +
              end
         | 
| 148 | 
            +
            end
         | 
    
        data/lib/super_hacker/version.rb
    CHANGED