mirror of
https://github.com/mandiant/capa.git
synced 2025-12-12 15:49:46 -08:00
flirt: py3
This commit is contained in:
@@ -5,14 +5,11 @@
|
||||
# Unless required by applicable law or agreed to in writing, software distributed under the License
|
||||
# is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and limitations under the License.
|
||||
import sys
|
||||
import types
|
||||
import logging
|
||||
|
||||
import viv_utils
|
||||
|
||||
if sys.version_info >= (3, 0):
|
||||
import viv_utils.flirt
|
||||
import viv_utils.flirt
|
||||
|
||||
import capa.features.extractors
|
||||
import capa.features.extractors.viv.file
|
||||
@@ -86,12 +83,7 @@ class VivisectFeatureExtractor(FeatureExtractor):
|
||||
yield feature, va
|
||||
|
||||
def is_library_function(self, va):
|
||||
if sys.version_info >= (3, 0):
|
||||
import viv_utils.flirt
|
||||
|
||||
return viv_utils.flirt.is_library_function(self.vw, va)
|
||||
else:
|
||||
return False
|
||||
return viv_utils.flirt.is_library_function(self.vw, va)
|
||||
|
||||
def get_function_name(self, va):
|
||||
return viv_utils.get_function_name(self.vw, va)
|
||||
|
||||
@@ -8,11 +8,9 @@
|
||||
import sys
|
||||
|
||||
import viv_utils
|
||||
import viv_utils.flirt
|
||||
import envi.memory
|
||||
|
||||
if sys.version_info >= (3, 0):
|
||||
import viv_utils.flirt
|
||||
|
||||
import envi.archs.i386.disasm
|
||||
|
||||
import capa.features.extractors.viv
|
||||
@@ -117,11 +115,10 @@ def extract_insn_api_features(f, bb, insn):
|
||||
if not target:
|
||||
return
|
||||
|
||||
if sys.version_info >= (3, 0):
|
||||
if viv_utils.flirt.is_library_function(f.vw, target):
|
||||
name = viv_utils.get_function_name(f.vw, target)
|
||||
yield API(name), insn.va
|
||||
return
|
||||
if viv_utils.flirt.is_library_function(f.vw, target):
|
||||
name = viv_utils.get_function_name(f.vw, target)
|
||||
yield API(name), insn.va
|
||||
return
|
||||
|
||||
for _ in range(THUNK_CHAIN_DEPTH_DELTA):
|
||||
if target in imports:
|
||||
|
||||
@@ -396,8 +396,7 @@ def get_workspace(path, format, sigpaths):
|
||||
else:
|
||||
raise ValueError("unexpected format: " + format)
|
||||
|
||||
if sys.version_info >= (3, 0):
|
||||
register_flirt_signature_analyzers(vw, sigpaths)
|
||||
register_flirt_signature_analyzers(vw, sigpaths)
|
||||
|
||||
vw.analyze()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user