public void runScan(IScanTarget scanTarget)
 {
     rtbLogFileForCurrentScan.Text = " \n\n STARTING SCAN FOR:" + scanTarget + "\n";
     directoryWithScanCatNetResults.openDirectory(scanTarget.WorkDirectory);
     new MsCatNetScanner().scan(scanTarget, callbackCatNetLogEvent_rtbLogFileForCurrentScan, null, false
                                /*convertToOzasmt*/);
 }
Beispiel #2
0
 public static bool createCirDump(IScanTarget scScanTarget, bool bDeleteAllRulesFromDbBeforeScan)
 {
     if (scScanTarget != null)
         return createCirDump(scScanTarget.ApplicationFile, scScanTarget.WorkDirectory, null,null,
                              bDeleteAllRulesFromDbBeforeScan, false);
     return false;
 }
Beispiel #3
0
        public void loadInManualTestGui(IScanTarget scScanTarget)
        {
            scCurrentScanTarget         = scScanTarget;
            lbManualTestTargetFile.Text = scScanTarget.ApplicationFile;
            adManualTestTempFiles.openDirectory(scScanTarget.WorkDirectory);

            setStatusOfActionButtons(true);
        }
 public static bool createCirDump(IScanTarget scScanTarget)
 {
     if (scScanTarget != null)
     {
         return(createCirDump(scScanTarget.ApplicationFile, scScanTarget.WorkDirectory, null, null, false, false));
     }
     return(false);
 }
Beispiel #5
0
 public static bool createCirDump(IScanTarget scScanTarget, Callbacks.dMethod_Object dProcessCompletionCallback, Callbacks.dMethod_String _logCallback,
                                  bool bDeleteAllRulesFromDbBeforeScan,
                                  bool bStoreControlFlowBlockRawDataInsideCirDataFile)
 {
     if (scScanTarget!=null)
         return createCirDump(scScanTarget.ApplicationFile, scScanTarget.WorkDirectory, dProcessCompletionCallback, _logCallback,
                              bDeleteAllRulesFromDbBeforeScan, bStoreControlFlowBlockRawDataInsideCirDataFile);
     return false;
 }
 public static bool createCirDump(IScanTarget scScanTarget, bool bDeleteAllRulesFromDbBeforeScan)
 {
     if (scScanTarget != null)
     {
         return(createCirDump(scScanTarget.ApplicationFile, scScanTarget.WorkDirectory, null, null,
                              bDeleteAllRulesFromDbBeforeScan, false));
     }
     return(false);
 }
Beispiel #7
0
        private void loadDefaultScanTarget()
        {
            IScanTarget scanTarget = CreateScanTarget.createScanTargetsFromFile(DI.config.ExecutingAssembly, targetDirectory.getCurrentDirectory(), false /*autoAppendTargetName */);

            if (scanTarget != null)
            {
                lbScanTargets.Items.Add(scanTarget);
                lbScanTargets.SelectedIndex = 0;
            }
        }
        /*    private void addScanTargetsToTreeViewAsFolder(List<IScanTarget> scanTargets, string folderName)
         * {
         *  foreach (var scanTarget in scanTargets)
         *      addScanTargetToTreeView(scanTarget);
         *
         *  //    tvTargetFiles.Nodes.Add(file);
         *  //tvTargetFiles.Nodes.Add(scanTarget.ToString());
         * }*/

        private void addScanTargetToTreeView(IScanTarget scanTarget)
        {
            if (lbDragAndDropHelpText.Visible)
            {
                lbDragAndDropHelpText.Visible = false;
            }
            O2Forms.newTreeNode(tvTargetFiles.Nodes, Path.GetFileName(scanTarget.Target), scanTarget.Target, 2,
                                scanTarget);
            llNumberOfAssembliesLoaded.Text = tvTargetFiles.Nodes.Count + " Assemblies Loaded";
        }
 private void removeScanTargetFromTreeView(IScanTarget scanTarget, TreeView targetTreeView)
 {
     if (targetTreeView.okThread(delegate { removeScanTargetFromTreeView(scanTarget, targetTreeView); }))
     {
         TreeNode treeNodeWithScanTarget = tvTargetFiles.Nodes[scanTarget.Target];
         if (treeNodeWithScanTarget != null)
         {
             targetTreeView.Nodes.Remove(treeNodeWithScanTarget);
         }
     }
 }
 public static bool createCirDump(IScanTarget scScanTarget, Callbacks.dMethod_Object dProcessCompletionCallback, Callbacks.dMethod_String _logCallback,
                                  bool bDeleteAllRulesFromDbBeforeScan,
                                  bool bStoreControlFlowBlockRawDataInsideCirDataFile)
 {
     if (scScanTarget != null)
     {
         return(createCirDump(scScanTarget.ApplicationFile, scScanTarget.WorkDirectory, dProcessCompletionCallback, _logCallback,
                              bDeleteAllRulesFromDbBeforeScan, bStoreControlFlowBlockRawDataInsideCirDataFile));
     }
     return(false);
 }
        public void scan(IScanTarget scanTarget, Callbacks.dMethod_String logCallback,
                         Callbacks.dMethod_Object onProcessEndCallback, bool convertToOzasmt)
        {
            if (false == MsCatNetConfig.isCatScannerAvailable())
            {
                DI.log.error("Could not find MSCatNet Scanner on this box, aborting scan");
            }
            string fileToScan = scanTarget.Target;
            string reportFile = Path.Combine(scanTarget.WorkDirectory, Path.GetFileName(fileToScan) + ".xml");

            executeCatNet(fileToScan, reportFile, logCallback, onProcessEndCallback, convertToOzasmt);
        }
        public static List <IScanTarget> createScanTargetsFromFileOrFolder(string fileOrFolder, string workDirectory,
                                                                           bool autoAppendTargetName, bool searchForScanFilesRecursively)
        {
            if (File.Exists(fileOrFolder) && Path.GetExtension(fileOrFolder) == ".zip")
            {
                string folderToUnzipFiles = Path.Combine(workDirectory, Path.GetFileNameWithoutExtension(fileOrFolder));
                new zipUtils().unzipFile(fileOrFolder, folderToUnzipFiles + "\\src");
                fileOrFolder = folderToUnzipFiles;
            }
            var scanTargets = new List <IScanTarget>();

            if (Directory.Exists(fileOrFolder))
            {
                /*    foreach (var scanTargetFile in Files.getFilesFromDir_returnFullPath(fileOrFolder, "*.paf", true))
                 *  {
                 *
                 *  //string sPafFile = Files.getFirstFileFromDirThatMatchesPattern_returnFulPath(fileOrFolder, "*.paf");
                 *  //if (sPafFile != "")
                 *  //{
                 *      //    if (Path.GetFileName(fileOrFolder) == Path.GetFileNameWithoutExtension(sPafFile.Replace(".paf", "")))
                 *      var scanTarget_Paf = new ScanTarget_Paf
                 *                               {
                 *                                   WorkDirectory = fileOrFolder,
                 *                                   Target = scanTargetFile
                 *                               };
                 *      scanTargets.Add(scanTarget_Paf);
                 *  }
                 * //}
                 *  else*/
                foreach (string sFile in Files.getFilesFromDir_returnFullPath(fileOrFolder, "*.*", searchForScanFilesRecursively))
                {
                    IScanTarget scanTarget = createScanTargetsFromFile(sFile, workDirectory, autoAppendTargetName);
                    if (scanTarget != null)
                    {
                        scanTargets.Add(scanTarget);
                    }
                }
            }
            else if (File.Exists(fileOrFolder))
            {
                IScanTarget scanTarget = createScanTargetsFromFile(fileOrFolder, workDirectory, autoAppendTargetName);
                if (scanTarget != null)
                {
                    scanTargets.Add(scanTarget);
                }
            }
            return(scanTargets);
        }
Beispiel #13
0
        public void scanApplication(IScanTarget scanTarget)
        {
            string sSaveAssessmentTo = Path.Combine(scanTarget.WorkDirectory,
                                                    Path.GetFileNameWithoutExtension(
                                                        scanTarget.ApplicationFile) +
                                                    "_Scan_CurrentRules.ozasmt");

            DI.log.debug("Saved Assessment File will be saved to : {0}", sSaveAssessmentTo);
            // update Gui
            this.invokeOnThread(() => lbStatus.Text = "Scanning: " + Path.GetFileName(scanTarget.Target));
            // set global cliScanning object (so that we can cancel this scan)
            cliScanning = new CliScanning();
            // start scanning
            cliScanning.scanApplication(scanTarget.ApplicationFile, sSaveAssessmentTo,
                                        onScanLogEvent
                                        ,
                                        scanResult => onScanCompleted(sSaveAssessmentTo));
        }
        public void scanApplication(IScanTarget scanTarget)
        {
            string sSaveAssessmentTo = Path.Combine(scanTarget.WorkDirectory,
                                                    Path.GetFileNameWithoutExtension(
                                                        scanTarget.ApplicationFile) +
                                                    "_Scan_CurrentRules.ozasmt");

            DI.log.debug("Saved Assessment File will be saved to : {0}", sSaveAssessmentTo);
            // update Gui
            this.invokeOnThread(() => lbStatus.Text = "Scanning: " + Path.GetFileName(scanTarget.Target));
            // set global cliScanning object (so that we can cancel this scan)
            cliScanning = new CliScanning();
            // start scanning
            cliScanning.scanApplication(scanTarget.ApplicationFile, sSaveAssessmentTo,
                                       onScanLogEvent
                                                                                                ,
                                        scanResult => onScanCompleted(sSaveAssessmentTo));
        }
        public static IScanTarget createScanTargetsFromFile(String fileToProcess, string workDirectory,
                                                            bool autoAppendTargetName)
        {
            IScanTarget scanTarget = null;

            switch (Path.GetExtension(fileToProcess))
            {
            case ".sln":
            case ".paf":
            case ".gaf":
            case ".ewf":
                scanTarget = new ScanTarget_Paf();
                break;

            case ".java":
            case ".class":
                scanTarget = new ScanTarget_Java();
                break;

            case ".dll":
            case ".exe":
                scanTarget = new ScanTarget_DotNet();
                break;

            case ".epf":
            case ".ppf":
            case ".gpf":
                scanTarget    = new ScanTarget_Paf();
                fileToProcess = Utils.ScanSupport.createTempApplicationFileForProject(fileToProcess, true, workDirectory);
                break;

            default:
                DI.log.debug("in addFileToProcess, file type not supported: {0}:",
                             Path.GetExtension(fileToProcess));
                break;
            }
            if (scanTarget != null)
            {
                scanTarget.useFileNameOnWorkDirecory = autoAppendTargetName;
                scanTarget.WorkDirectory             = workDirectory;
                scanTarget.Target = fileToProcess;
            }
            return(scanTarget);
        }
        private void processScanTargetQueueItem()
        {
            if (scanTargetsQueue.Count > 0)
            {
                PublicDI.log.info("Using Scan Queue. There are {0} scans on the queue", scanTargetsQueue.Count);
                IScanTarget scanTarget = scanTargetsQueue[0];
                directoryWithScanCatNetResults.openDirectory(scanTarget.WorkDirectory);
                callbackCatNetLogEvent_rtbLogFileForCurrentScan("\n STARTING QUEUED SCAN FOR:" + scanTarget.Target +
                                                                Environment.NewLine);

                new MsCatNetScanner().scan(scanTarget, callbackCatNetLogEvent_rtbLogFileForCurrentScan,
                                           delegate { processScanTargetQueueItem(); }
                                           , false);
                scanTargetsQueue.Remove(scanTarget);
                if (cbAfterScanRemoveFromScanTargets.Checked)
                {
                    removeScanTargetFromTreeView(scanTarget, tvTargetFiles);
                }
            }
        }
Beispiel #17
0
 public ScanThread(IScanTarget target)
 {
     scanTarget = scanTarget;
 }
Beispiel #18
0
 public static bool createCirDump(IScanTarget scScanTarget)
 {
     if (scScanTarget != null)
         return createCirDump(scScanTarget.ApplicationFile, scScanTarget.WorkDirectory, null, null, false, false);
     return false;
 }
Beispiel #19
0
 private void removeScanTargetFromTreeView(IScanTarget scanTarget, TreeView targetTreeView)
 {
     if (targetTreeView.okThread(delegate { removeScanTargetFromTreeView(scanTarget, targetTreeView); }))
     {
         TreeNode treeNodeWithScanTarget = tvTargetFiles.Nodes[scanTarget.Target];
         if (treeNodeWithScanTarget != null)
             targetTreeView.Nodes.Remove(treeNodeWithScanTarget);
     }
 }
Beispiel #20
0
 public void runScan(IScanTarget scanTarget)
 {
     rtbLogFileForCurrentScan.Text = " \n\n STARTING SCAN FOR:" + scanTarget + "\n";
     directoryWithScanCatNetResults.openDirectory(scanTarget.WorkDirectory);
     new MsCatNetScanner().scan(scanTarget, callbackCatNetLogEvent_rtbLogFileForCurrentScan, null, false
         /*convertToOzasmt*/);
 }
Beispiel #21
0
        /*    private void addScanTargetsToTreeViewAsFolder(List<IScanTarget> scanTargets, string folderName)
        {
            foreach (var scanTarget in scanTargets)
                addScanTargetToTreeView(scanTarget);
                
            //    tvTargetFiles.Nodes.Add(file);
            //tvTargetFiles.Nodes.Add(scanTarget.ToString());
        }*/

        private void addScanTargetToTreeView(IScanTarget scanTarget)
        {
            if (lbDragAndDropHelpText.Visible)
                lbDragAndDropHelpText.Visible = false;
            O2Forms.newTreeNode(tvTargetFiles.Nodes, Path.GetFileName(scanTarget.Target), scanTarget.Target, 2,
                                scanTarget);
            llNumberOfAssembliesLoaded.Text = tvTargetFiles.Nodes.Count + " Assemblies Loaded";
        }
//public static void executeCatNetCommand(string catNetArguments)
//{
//    executeCatNetCommand(catNetArguments, null, internalOnScanCompleteCallback);
//}

/*  public static void executeCatNetCommand(string catNetArguments, Callbacks.dMethod_String logCallback, Callbacks.dMethod_Object onProcessEndCallback, bool convertToOzasmt)
 *      {
 *
 *                                                                                               , true);   */


        public void scan(IScanTarget scanTarget)
        {
            scan(scanTarget, false);
        }
 public void scan(IScanTarget scanTarget, bool convertToOzasmt)
 {
     scan(scanTarget, null, null, convertToOzasmt);
 }
        public void loadInManualTestGui(IScanTarget scScanTarget)
        {
            scCurrentScanTarget = scScanTarget;
            lbManualTestTargetFile.Text = scScanTarget.ApplicationFile;
            adManualTestTempFiles.openDirectory(scScanTarget.WorkDirectory);

            setStatusOfActionButtons(true);
        }
Beispiel #25
0
 public void scan(IScanTarget scanTarget, Callbacks.dMethod_String logCallback,
                  Callbacks.dMethod_Object onProcessEndCallback, bool convertToOzasmt)
 {
     if (false == MsCatNetConfig.isCatScannerAvailable())
     {
         DI.log.error("Could not find MSCatNet Scanner on this box, aborting scan");
     }
     string fileToScan = scanTarget.Target;
     string reportFile = Path.Combine(scanTarget.WorkDirectory, Path.GetFileName(fileToScan) + ".xml");
     executeCatNet(fileToScan, reportFile, logCallback, onProcessEndCallback, convertToOzasmt);
 }
Beispiel #26
0
 public void scan(IScanTarget scanTarget, bool convertToOzasmt)
 {
     scan(scanTarget, null, null, convertToOzasmt);
 }
Beispiel #27
0
//public static void executeCatNetCommand(string catNetArguments)
//{
//    executeCatNetCommand(catNetArguments, null, internalOnScanCompleteCallback);
//}

/*  public static void executeCatNetCommand(string catNetArguments, Callbacks.dMethod_String logCallback, Callbacks.dMethod_Object onProcessEndCallback, bool convertToOzasmt)
        {
          
                                                                                                 , true);   */


        public void scan(IScanTarget scanTarget)
        {
            scan(scanTarget, false);
        }
Beispiel #28
0
 public ScanThread(IScanTarget target)
 {
     scanTarget = scanTarget;
 }