dwarfexport icon indicating copy to clipboard operation
dwarfexport copied to clipboard

ida 7.5 build on linux OK, how to port to windows?

Open kotee4ko opened this issue 5 years ago • 2 comments

After night of pressing make I'm got this:

root@Debian-913-stretch-64-minimal:/opt/dwarfexport/bin# file dwarfexport.plx64
dwarfexport.plx64: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=a1a0c79cac393990dab5d86e463a63de2285cd51, not stripped
root@Debian-913-stretch-64-minimal:/opt/dwarfexport/bin# ldd dwarfexport.plx64
	linux-vdso.so.1 (0x00007fff09138000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbe6b09f000)
	libdwarf.so.1 => /usr/lib/x86_64-linux-gnu/libdwarf.so.1 (0x00007fbe6afe3000)
	libelf.so.1 => /usr/lib/x86_64-linux-gnu/libelf.so.1 (0x00007fbe6afc8000)
	libida64.so => /usr/lib/x86_64-linux-gnu/libida64.so (0x00007fbe6ad9e000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbe6abd1000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbe6abb7000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbe6a9f0000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fbe6b119000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbe6a9d3000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbe6a88f000)
root@Debian-913-stretch-64-minimal:/opt/dwarfexport/bin# 

my Makefile was next:

IDASDK_PATH=/opt/IDA75/SDK/idasdk75
IDA_PATH=/opt/IDA75
CXX ?= g++
CXXFLAGS=-m32 -fPIC -shared -Wall -Wextra -std=c++11 -Wl,-rpath -Wl,LIBDIR
CXXFLAGS64=-m64 -fno-PIE -fPIC -Wall -Wextra -std=c++11 -fno-permissive -Wno-sign-compare -Wno-class-memaccess -Wno-deprecated-copy -lpthread -shared -Wl,-rpath -Wl,LIBDIR 

#LDFLAGS+=-static-libgcc -static-libstdc++ -static
LIBS=-lida lib/libelf32.a lib/libdwarf32.a
LIBS64=-ldwarf -lelf -lida64
#/usr/local/lib/libdwarf.a /usr/local/lib/libelf.a
INCLUDES=-I$(IDASDK_PATH)/include -I$(IDA_PATH)/plugins/hexrays_sdk/include -I/opt/IDA75/SDK/idasdk75/include -I/opt/IDA75 -I/usr/local/include -I/opt/dwarfexport/libdwarf-code/build/libdwarf -L/opt/IDA75/SDK/idasdk75/lib/x64_linux_gcc_64 -I/opt/IDA75/SDK/idasdk75/plugins/ -L/opt/dwarfexport/lib64
DWARFEXPORT_SRC = $(wildcard src/*.cpp)

#noall: bin/dwarfexport.plx bin/dwarfexport.plx64
all: bin/dwarfexport.plx64

bin/dwarfexport.plx: $(DWARFEXPORT_SRC)
        $(CXX) $(LDFLAGS) $(DWARFEXPORT_SRC) $(CXXFLAGS) \
        -L. \
        -L$(IDA_PATH) \
        $(INCLUDES) \
        -D__LINUX__ $(LIBS) -o bin/dwarfexport.plx

bin/dwarfexport.plx64: $(DWARFEXPORT_SRC)
        $(CXX) $(LDFLAGS) $(DWARFEXPORT_SRC) $(CXXFLAGS64) \
        -L. \
        -L$(IDA_PATH) \
        $(INCLUDES) \
        -D__LINUX__ -D__X64 -fno-permissive -D__EA64__ $(LIBS64) -o bin/dwarfexport.plx64
#-D__LINUX__ -D__X64 -D__EA64__ $(LIBS) -o bin/dwarfexport.plx64
clean:
        rm -f bin/dwarfexport.plx bin/dwarfexport.plx64


My question: how to do this for windows?

p.s. or, maybe, somebody can changes with me?) lin64 for win64 ?

kotee4ko avatar Apr 20 '21 03:04 kotee4ko

Please let me know if you built it for windows

vadimszzz avatar Dec 03 '22 10:12 vadimszzz

maybe try my fork? https://github.com/w1redch4d/dwarfexport-renew, the output is in the releases havent rewritten the README.md yet

w1redch4d avatar Mar 16 '23 07:03 w1redch4d