eXeL@B —› Программирование —› Нужна помощь в компиляции сорцов UPX |
Посл.ответ | Сообщение |
|
Создано: 05 ноября 2008 11:35 · Личное сообщение · #1 Всем привет. в общем гуглил на предмет наличия статической либы, для распаковки UPX (статической распаковки). нигде ничего толкового не нашел, кроме как ссылок на сорцы UPX. решил попробовать скомпилить эты сорцы ( хотя бы пока в exe), а потом переделать это в либу и вынести функцию анпака в экспорт. в студии у меня сразу нифига не получилось. тогда скачал саму консольную скомпиленную версию UPX, распаковал ее и PEID мне выдал: MingWin32 - Dev C++ v4.x (h) *. слил эту среду разработки попробовал скомпилять в ней, в итоге ошибок стало меньше ( около 12 штук), но они все свелись к тому, что линкер не может найти код для фунок из либ UCL и Zlib. пытался в проект их добавлять, но че-то никак, видимо руки кривые. Поэтому, если есть опыт компиляции таких "кроссплатформенных" сорцов, могет поможете. Вот сайт с сорцами UPX: upx.sourceforge.net/ ( + оттуда можно слить сорцы UCL они тож нужны ). Вот caйт zlib: www.zlib.net Заранее спасибо, всем кто откликнется. P.S. думаю такая либа будет многим полездна, т.к. ни раз поднимался вопрос о подобном. |
|
Создано: 05 ноября 2008 11:39 · Личное сообщение · #2 |
|
Создано: 05 ноября 2008 12:14 · Поправил: censor · Личное сообщение · #3 мейкфайл: # Makefile for upx-2.00w CC = cl CFLAGS = /nologo /MD /EHsc /GR LD = link LDFLAGS = /out:upx-2.00w.exe SRC = src/c_file.cpp src/c_init.cpp src/c_none.cpp src/c_screen.cpp src/compress.cpp src/except.cpp src/file.cpp src/filter.cpp src/filteri.cpp src/help.cpp src/linker.cpp src/main.cpp src/mem.cpp src/msg.cpp src/mygetopt.cpp src/p_w32pe.cpp src/packer.cpp src/packerf.cpp src/packhead.cpp src/packmast.cpp src/s_object.cpp src/s_win32.cpp src/snprintf.cpp src/ui.cpp src/util.cpp src/work.cpp src/ucl/ucl.lib all: stub upx clean stub: @cd src\stub @for %%i in (*.ash *.asm) do @perl -w app_i386.pl %%i %~ni.asy @nasm l_w32pe.asy @perl -w bin2h.pl l_w32pe nrv_loader l_w32pe.h @if exist *.asy del *.asy @if exist l_w32pe del l_w32pe @cd ..\.. upx: @$(CC) $(CFLAGS) $(SRC) /link $(LDFLAGS) clean: @if exist *.exp del *.exp @if exist *.res del *.res @if exist *.obj del *.obj @if exist *.lib del *.lib @if exist *.tlh del *.tlh @if exist *.tli del *.tli P.S. Часть символов сожрал элитный форум, спасибо ему. |
|
Создано: 05 ноября 2008 12:29 · Поправил: Ultras · Личное сообщение · #4 В PE Explorer уже есть такая либа (статик унпак UPX'a) Зачем усложнять себе жизнь? P.S. Читал тут новую книжку по ИДА ПРО от Криса Игла, дак у него .idc скрипт для статик унпака UPX'a как пример дан. На сайте www.idabook.com http://www.idabook.com сурс есть. В примерах, глава 21. ----- .[ rE! p0w4 ]. |
|
Создано: 05 ноября 2008 12:33 · Личное сообщение · #5 censor пишет: Часть символов сожрал элитный форум, спасибо ему. Приаттач файлом. Там в пакете исходников UPX есть файл Readme.src. В нём написано как подцепить эти либы (Ucl и Zlib). Надо установить переменные среды окружения: set UPX_UCLDIR=c:\src\ucl-1.03 set UPX_LZMADIR=c:\src\lzma-4.43 Я правда старую версию собирал (1.6), мне помогло. Как там счас сделано фиг знает, но тогда я студией всё собрал. командой "make target=vc6" правда в последних исходниках чего-то убрали эту секцию из makefile |
|
Создано: 05 ноября 2008 13:05 · Личное сообщение · #6 |
|
Создано: 05 ноября 2008 13:43 · Личное сообщение · #7 |
|
Создано: 05 ноября 2008 14:42 · Личное сообщение · #8 |
|
Создано: 05 ноября 2008 16:28 · Поправил: RSI · Личное сообщение · #9 |
eXeL@B —› Программирование —› Нужна помощь в компиляции сорцов UPX |