flirt: py3

This commit is contained in:
William Ballenthin
2021-04-26 12:11:59 -06:00
parent f6a105bcc1
commit 76cd530a0f
3 changed files with 8 additions and 20 deletions

View File

@@ -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)

View File

@@ -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:

View File

@@ -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()