Сейчас на форуме: Rio, CDK123, zds, tyns777, tihiy_grom, morgot, rmn (+5 невидимых)

 eXeL@B —› Программирование —› Нужна помощь в компиляции сорцов UPX
Посл.ответ Сообщение

Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 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. думаю такая либа будет многим полездна, т.к. ни раз поднимался вопрос о подобном.




Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 05 ноября 2008 11:39
· Личное сообщение · #2

Кстати, у меня вчера тоже возникла такая проблемма, так что если кто откликнется: опишите в топе процедуру, пожалуйста



Ранг: 50.2 (постоянный)
Активность: 0.010
Статус: Участник

Создано: 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. Часть символов сожрал элитный форум, спасибо ему.



Ранг: 123.0 (ветеран), 10thx
Активность: 0.060
Статус: Участник

Создано: 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 ].




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 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



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 05 ноября 2008 13:05
· Личное сообщение · #6

Ultras
спасибо конечно. счас гляну наскока она статически распаковывает =)

нор речь шла о статической либе, чтобы прилинковал ее и не таскать с собой длл.



Ранг: 50.2 (постоянный)
Активность: 0.010
Статус: Участник

Создано: 05 ноября 2008 13:43
· Личное сообщение · #7

RSI
ucl.lib http://rapidshare.com/files/160836332/ucl.lib.html



Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 05 ноября 2008 14:42
· Личное сообщение · #8

RSI Нии мозги, ты не первый с этим мучаешься
Вот сорцы в виде проекта для VS 2003:
xtin.activebb.net/forum-f2/tema-t56.htm

-----
Реверсивная инженерия - написание кода идентичного натуральному




Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 05 ноября 2008 16:28 · Поправил: RSI
· Личное сообщение · #9

спасибо. скомпилял =)

теперь буду пытаться получить работоспособную либу.


 eXeL@B —› Программирование —› Нужна помощь в компиляции сорцов UPX
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати