Skip to content

Commit

Permalink
Added isort style
Browse files Browse the repository at this point in the history
  • Loading branch information
RahulSankhla312 committed Apr 26, 2024
1 parent c789c11 commit 9ef4e49
Show file tree
Hide file tree
Showing 37 changed files with 178 additions and 238 deletions.
2 changes: 1 addition & 1 deletion floss/api_hooks.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
import envi
import viv_utils.emulator_drivers

import floss.utils as fu
import floss.logging_
import floss.utils as fu
from floss.const import MOD_NAME

logger = floss.logging_.getLogger(__name__)
Expand Down
6 changes: 3 additions & 3 deletions floss/decoding_manager.py
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Copyright (C) 2017 Mandiant, Inc. All Rights Reserved.

from typing import List, Tuple
from dataclasses import dataclass
from typing import List, Tuple

import viv_utils
import envi.memory
import viv_utils
import viv_utils.emulator_drivers
from envi import Emulator

import floss.utils
import floss.logging_
import floss.utils

from . import api_hooks
from .const import DS_MAX_ADDRESS_REVISITS_EMULATION
Expand Down
31 changes: 7 additions & 24 deletions floss/features/extract.py
Original file line number Diff line number Diff line change
@@ -1,37 +1,20 @@
# Copyright (C) 2021 Mandiant, Inc. All Rights Reserved.
from typing import Any, Tuple, Callable, Iterator
from typing import Any, Callable, Iterator, Tuple

import envi
import networkx
import vivisect
import viv_utils
import vivisect
from envi.archs.i386.opconst import (INS_CALL, INS_MOV, INS_ROL, INS_ROR,
INS_SHL, INS_SHR, INS_XOR)
from networkx import strongly_connected_components
from viv_utils import BasicBlock
from envi.archs.i386.opconst import (
INS_MOV,
INS_ROL,
INS_ROR,
INS_SHL,
INS_SHR,
INS_XOR,
INS_CALL,
)

import floss.logging_
from floss.const import TS_TIGHT_FUNCTION_MAX_BLOCKS
from floss.features.features import (
Mov,
Loop,
Nzxor,
Shift,
CallsTo,
NzxorLoop,
TightLoop,
BlockCount,
TightFunction,
KindaTightLoop,
NzxorTightLoop,
)
from floss.features.features import (BlockCount, CallsTo, KindaTightLoop, Loop,
Mov, Nzxor, NzxorLoop, NzxorTightLoop,
Shift, TightFunction, TightLoop)

# security cookie checks may perform non-zeroing XORs, these are expected within a certain
# byte range within the first and returning basic blocks, this helps to reduce FP features
Expand Down
8 changes: 4 additions & 4 deletions floss/function_argument_getter.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Copyright (C) 2017 Mandiant, Inc. All Rights Reserved.

import contextlib
from typing import Set, List
from collections import namedtuple
from typing import List, Set

import envi
import vivisect
import viv_utils
import viv_utils.emulator_drivers
import vivisect

import floss.utils
import floss.logging_
import floss.api_hooks
import floss.logging_
import floss.utils

FunctionContext = namedtuple(
"FunctionContext", ["emu_snap", "return_address", "decoded_at_va"]
Expand Down
22 changes: 8 additions & 14 deletions floss/identify.py
Original file line number Diff line number Diff line change
@@ -1,29 +1,23 @@
# Copyright (C) 2017 Mandiant, Inc. All Rights Reserved.

import collections
import copy
import operator
import collections
from typing import Dict, List, Tuple, DefaultDict
from typing import DefaultDict, Dict, List, Tuple

import tqdm
import viv_utils
import viv_utils.flirt
from tqdm.contrib.logging import logging_redirect_tqdm

import floss.logging_
from floss.features.extract import (abstract_features,
extract_basic_block_features,
extract_function_features,
extract_insn_features)
from floss.features.features import (Arguments, BlockCount, InstructionCount,
TightFunction)
from floss.utils import is_thunk_function, redirecting_print_to_tqdm
from floss.features.extract import (
abstract_features,
extract_insn_features,
extract_function_features,
extract_basic_block_features,
)
from floss.features.features import (
Arguments,
BlockCount,
TightFunction,
InstructionCount,
)

logger = floss.logging_.getLogger(__name__)

Expand Down
10 changes: 5 additions & 5 deletions floss/language/go/coverage.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Copyright (C) 2023 Mandiant, Inc. All Rights Reserved.
import sys
import argparse
import logging
import pathlib
import argparse
import sys
from typing import List

import pefile

from floss.utils import get_static_strings
from floss.results import StaticString, StringEncoding
from floss.language.utils import get_extract_stats
from floss.language.go.extract import extract_go_strings
from floss.language.utils import get_extract_stats
from floss.results import StaticString, StringEncoding
from floss.utils import get_static_strings

logger = logging.getLogger(__name__)

Expand Down
21 changes: 9 additions & 12 deletions floss/language/go/extract.py
Original file line number Diff line number Diff line change
@@ -1,27 +1,24 @@
# Copyright (C) 2023 Mandiant, Inc. All Rights Reserved.

import re
import sys
import argparse
import array
import struct
import logging
import pathlib
import argparse
from typing import List, Tuple, Iterable, Optional
from pathlib import Path
from itertools import chain
import re
import struct
import sys
from dataclasses import dataclass
from itertools import chain
from pathlib import Path
from typing import Iterable, List, Optional, Tuple

import pefile
from typing_extensions import TypeAlias

import floss.utils
from floss.language.utils import (StructString, find_lea_xrefs,
get_struct_string_candidates)
from floss.results import StaticString, StringEncoding
from floss.language.utils import (
StructString,
find_lea_xrefs,
get_struct_string_candidates,
)

logger = logging.getLogger(__name__)

Expand Down
6 changes: 3 additions & 3 deletions floss/language/identify.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@

import re
from enum import Enum
from typing import Tuple, Iterable
from pathlib import Path
from typing import Iterable, Tuple

import pefile

import floss.logging_
from floss.results import StaticString
from floss.language.utils import get_rdata_section
from floss.language.rust.rust_version_database import rust_commit_hash
from floss.language.utils import get_rdata_section
from floss.results import StaticString

logger = floss.logging_.getLogger(__name__)

Expand Down
10 changes: 5 additions & 5 deletions floss/language/rust/coverage.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# Copyright (C) 2023 Mandiant, Inc. All Rights Reserved.

import sys
import argparse
import logging
import pathlib
import argparse
from typing import List, Tuple, Iterable, Optional
import sys
from typing import Iterable, List, Optional, Tuple

import pefile

from floss.strings import extract_ascii_unicode_strings
from floss.language.utils import get_extract_stats
from floss.language.rust.extract import extract_rust_strings
from floss.language.utils import get_extract_stats
from floss.strings import extract_ascii_unicode_strings

logger = logging.getLogger(__name__)

Expand Down
20 changes: 8 additions & 12 deletions floss/language/rust/extract.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,18 @@
# Copyright (C) 2023 Mandiant, Inc. All Rights Reserved.
import sys
import logging
import pathlib
import argparse
import itertools
from typing import List, Tuple, Iterable, Optional
import logging
import pathlib
import sys
from typing import Iterable, List, Optional, Tuple

import pefile
import binary2strings as b2s
import pefile

from floss.language.utils import (find_lea_xrefs, find_mov_xrefs,
find_push_xrefs, get_rdata_section,
get_struct_string_candidates)
from floss.results import StaticString, StringEncoding
from floss.language.utils import (
find_lea_xrefs,
find_mov_xrefs,
find_push_xrefs,
get_rdata_section,
get_struct_string_candidates,
)

logger = logging.getLogger(__name__)

Expand Down
8 changes: 4 additions & 4 deletions floss/language/utils.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import re
import array
import struct
import hashlib
from typing import List, Tuple, Iterable, Optional
import re
import struct
from dataclasses import dataclass
from typing import Iterable, List, Optional, Tuple

import pefile
import tabulate
from typing_extensions import TypeAlias

import floss.utils
from floss.results import StaticString, StringEncoding
from floss.render.sanitize import sanitize
from floss.results import StaticString, StringEncoding

VA: TypeAlias = int

Expand Down
66 changes: 28 additions & 38 deletions floss/main.py
Original file line number Diff line number Diff line change
@@ -1,60 +1,50 @@
#!/usr/bin/env python
# Copyright (C) 2017 Mandiant, Inc. All Rights Reserved.
import os
import sys
import argparse
import codecs
import logging
import argparse
import os
import sys
import textwrap
from enum import Enum
from time import time
from typing import Set, List, Optional
from pathlib import Path
from time import time
from typing import List, Optional, Set

import halo
import viv_utils
import rich.traceback
import viv_utils
import viv_utils.flirt
from vivisect import VivWorkspace

import floss.utils
import floss.results
import floss.version
import floss.logging_
import floss.render.json
import floss.language.utils
import floss.render.default
import floss.language.go.extract
import floss.language.go.coverage
import floss.language.rust.extract
import floss.language.go.extract
import floss.language.rust.coverage
from floss.const import MEGABYTE, MAX_FILE_SIZE, MIN_STRING_LENGTH, SUPPORTED_FILE_MAGIC
from floss.utils import (
hex,
get_imagebase,
get_runtime_diff,
get_static_strings,
get_vivisect_meta_info,
is_string_type_enabled,
set_vivisect_log_level,
)
import floss.language.rust.extract
import floss.language.utils
import floss.logging_
import floss.render.default
import floss.render.json
import floss.results
import floss.utils
import floss.version
from floss.const import (MAX_FILE_SIZE, MEGABYTE, MIN_STRING_LENGTH,
SUPPORTED_FILE_MAGIC)
from floss.identify import (append_unique, find_decoding_function_features,
get_function_fvas, get_functions_with_tightloops,
get_functions_without_tightloops,
get_tight_function_fvas, get_top_functions)
from floss.language.identify import Language, identify_language_and_version
from floss.logging_ import TRACE, DebugLevel
from floss.render import Verbosity
from floss.results import Analysis, Metadata, ResultDocument, load
from floss.version import __version__
from floss.identify import (
append_unique,
get_function_fvas,
get_top_functions,
get_tight_function_fvas,
get_functions_with_tightloops,
find_decoding_function_features,
get_functions_without_tightloops,
)
from floss.logging_ import TRACE, DebugLevel
from floss.stackstrings import extract_stackstrings
from floss.tightstrings import extract_tightstrings
from floss.string_decoder import decode_strings
from floss.language.identify import Language, identify_language_and_version
from floss.tightstrings import extract_tightstrings
from floss.utils import (get_imagebase, get_runtime_diff, get_static_strings,
get_vivisect_meta_info, hex, is_string_type_enabled,
set_vivisect_log_level)
from floss.version import __version__

SIGNATURES_PATH_DEFAULT_STRING = "(embedded signatures)"
EXTENSIONS_SHELLCODE_32 = ("sc32", "raw32")
Expand Down
Loading

0 comments on commit 9ef4e49

Please sign in to comment.