mirror of
https://github.com/cea-sec/miasm
synced 2026-06-21 13:48:18 +00:00
enable miasm installation without tcc
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
import os
|
||||
from elfesteem import *
|
||||
from miasm.tools.pe_helper import *
|
||||
from miasm.tools import seh_helper
|
||||
from miasm.core import bin_stream
|
||||
import inspect
|
||||
from miasm.core import asmbloc
|
||||
|
||||
@@ -20,6 +20,7 @@ from miasm.arch.ia32_reg import *
|
||||
from miasm.arch.ia32_arch import *
|
||||
import math
|
||||
|
||||
EXCEPT_SOFT_BP = (1<<1)
|
||||
EXCEPT_PRIV_INSN = 1<<7
|
||||
reg_eax = 'eax'
|
||||
reg_ebx = 'ebx'
|
||||
|
||||
@@ -27,7 +27,10 @@ import miasm.core.asmbloc
|
||||
import miasm.core.bin_stream
|
||||
import os
|
||||
import re
|
||||
from miasm.tools import to_c_helper
|
||||
try:
|
||||
from miasm.tools import to_c_helper
|
||||
except ImportError:
|
||||
print "WARNING: cannot import to_c_helper, skipping"
|
||||
from miasm.core import bin_stream
|
||||
from collections import defaultdict
|
||||
|
||||
|
||||
@@ -2,28 +2,61 @@
|
||||
|
||||
from distutils.core import setup,Extension
|
||||
|
||||
setup(
|
||||
name = 'Miasm',
|
||||
version = '0.1',
|
||||
packages=['miasm', 'miasm/tools',
|
||||
'miasm/expression', 'miasm/graph', 'miasm/arch',
|
||||
'miasm/core', 'miasm/tools/emul_lib' ],
|
||||
package_data = {'miasm':['tools/emul_lib/*.h']},
|
||||
# data_files = [('toto', ['miasm/tools/emul_lib/queue.h'])],
|
||||
ext_modules = [
|
||||
Extension("miasm.tools.emul_lib.libcodenat_interface",
|
||||
["miasm/tools/emul_lib/libcodenat_interface.c",
|
||||
"miasm/tools/emul_lib/libcodenat.c"]),
|
||||
Extension("miasm.tools.emul_lib.libcodenat_tcc",
|
||||
["miasm/tools/emul_lib/libcodenat_tcc.c"],
|
||||
libraries=["tcc"])
|
||||
],
|
||||
def buil_all():
|
||||
setup(
|
||||
name = 'Miasm',
|
||||
version = '0.1',
|
||||
packages=['miasm', 'miasm/tools',
|
||||
'miasm/expression', 'miasm/graph', 'miasm/arch',
|
||||
'miasm/core', 'miasm/tools/emul_lib' ],
|
||||
package_data = {'miasm':['tools/emul_lib/*.h']},
|
||||
# data_files = [('toto', ['miasm/tools/emul_lib/queue.h'])],
|
||||
ext_modules = [
|
||||
Extension("miasm.tools.emul_lib.libcodenat_interface",
|
||||
["miasm/tools/emul_lib/libcodenat_interface.c",
|
||||
"miasm/tools/emul_lib/libcodenat.c"]),
|
||||
Extension("miasm.tools.emul_lib.libcodenat_tcc",
|
||||
["miasm/tools/emul_lib/libcodenat_tcc.c"],
|
||||
libraries=["tcc"])
|
||||
],
|
||||
# Metadata
|
||||
author = 'Fabrice Desclaux',
|
||||
author_email = 'serpilliere@droid-corp.org',
|
||||
description = 'Machine code manipulation library',
|
||||
license = 'GPLv2',
|
||||
# keywords = '',
|
||||
# url = '',
|
||||
)
|
||||
|
||||
# Metadata
|
||||
author = 'Fabrice Desclaux',
|
||||
author_email = 'serpilliere@droid-corp.org',
|
||||
description = 'Machine code manipulation library',
|
||||
license = 'GPLv2',
|
||||
# keywords = '',
|
||||
# url = '',
|
||||
)
|
||||
|
||||
|
||||
def buil_no_tcc():
|
||||
setup(
|
||||
name = 'Miasm',
|
||||
version = '0.1',
|
||||
packages=['miasm', 'miasm/tools',
|
||||
'miasm/expression', 'miasm/graph', 'miasm/arch',
|
||||
'miasm/core', 'miasm/tools/emul_lib' ],
|
||||
package_data = {'miasm':['tools/emul_lib/*.h']},
|
||||
# data_files = [('toto', ['miasm/tools/emul_lib/queue.h'])],
|
||||
# Metadata
|
||||
author = 'Fabrice Desclaux',
|
||||
author_email = 'serpilliere@droid-corp.org',
|
||||
description = 'Machine code manipulation library',
|
||||
license = 'GPLv2',
|
||||
# keywords = '',
|
||||
# url = '',
|
||||
)
|
||||
|
||||
|
||||
def try_build():
|
||||
try:
|
||||
buil_all()
|
||||
return
|
||||
except:
|
||||
print "WARNING cannot build with libtcc!, trying without it"
|
||||
print "Miasm will not be able to emulate code"
|
||||
buil_no_tcc()
|
||||
|
||||
|
||||
try_build()
|
||||
|
||||
Reference in New Issue
Block a user