Markopy
Utilizing Markov Models for brute forcing attacks
cudammx.py
Go to the documentation of this file.
1 
2 
6 
7 
8 
9 from importlib.util import spec_from_loader, module_from_spec
10 from importlib.machinery import SourceFileLoader, ExtensionFileLoader
11 import os
12 import sys
13 from mm import ModelMatrix
14 
15 ext = "so"
16 if os.name == 'nt':
17  ext="pyd"
18 try:
19  spec = spec_from_loader("cudamarkopy", ExtensionFileLoader("cudamarkopy", os.path.abspath(f"cudamarkopy.{ext}")))
20  cudamarkopy = module_from_spec(spec)
21  spec.loader.exec_module(cudamarkopy)
22 except ImportError as e:
23  #print(f"({__file__}) Working in development mode. Trying to load cudamarkopy.{ext} from ../../../out/")
24  if(os.path.exists(f"../../../out/lib/cudamarkopy.{ext}")):
25  spec = spec_from_loader("cudamarkopy", ExtensionFileLoader("cudamarkopy", os.path.abspath(f"../../../out/lib/cudamarkopy.{ext}")))
26  cudamarkopy = module_from_spec(spec)
27  spec.loader.exec_module(cudamarkopy)
28  else:
29  raise e
30 
31 
32 
33 try:
34  spec = spec_from_loader("markopy", SourceFileLoader("markopy", os.path.abspath("markopy.py")))
35  markopy = module_from_spec(spec)
36 
37  from mmx import ModelMatrixCLI
38  from base import BaseCLI,AbstractGenerationModelCLI, AbstractTrainingModelCLI
39 
40 except ImportError as e:
41  #print("Working in development mode. Trying to load from ../../../out/")
42  if(os.path.exists("../../../Markopy/src/CLI/markopy.py")):
43  spec = spec_from_loader("markopy", SourceFileLoader("markopy", os.path.abspath("../../../Markopy/src/CLI/markopy.py")))
44  markopy = module_from_spec(spec)
45  sys.path.insert(1, '../../../Markopy/src/CLI/')
46 
47  from mmx import ModelMatrixCLI
48  from base import BaseCLI,AbstractGenerationModelCLI, AbstractTrainingModelCLI
49  else:
50  raise e
51 
52 import os
53 import allogate as logging
54 
55 class CudaModelMatrixCLI(ModelMatrixCLI,AbstractGenerationModelCLI):
56  """!
57  @belongsto Python::CudaMarkopy
58  @brief Python CLI wrapper for CudaModelMatrix
59  @extends Python::Markopy::ModelMatrixCLI
60  @extends Python::Markopy::AbstractGenerationModelCLI
61  @extends Markov::API::CUDA::CUDAModelMatrix
62  """
63  def __init__(self):
64  super().__init__()
65  self.modelmodelmodelmodel = cudamarkopy.CUDAModelMatrix()
66 
67  def add_arguments(self):
68  super().add_arguments()
69  self.parserparser.add_argument("-if", "--infinite", action="store_true", help="Infinite generation mode")
70 
72  super().init_post_arguments()
73  self.bInfinitebInfinite = self.argsargs.infinite
74 
75  def _generate(self, wordlist : str ):
76  self.modelmodelmodelmodel.FastRandomWalk(int(self.argsargs.count), wordlist, int(self.argsargs.min), int(self.argsargs.max), self.fileIOfileIO, self.bInfinitebInfinite)
77 
78 if __name__ == "__main__":
79  mp = CudaModelMatrixCLI()
80  mp.parse()
81  mp.process()
__host__ void FastRandomWalk(unsigned long int n, const char *wordlistFileName, int minLen, int maxLen, bool bFileIO, bool bInfinite)
Random walk on the Matrix-reduced Markov::Model.
Python CLI wrapper for CudaModelMatrix.
Definition: cudammx.py:55
def _generate(self, str wordlist)
wrapper for generate function.
Definition: cudammx.py:75