Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых)

 eXeL@B —› Основной форум —› Новый Quick Unpack ?
Посл.ответ Сообщение


Ранг: 55.8 (постоянный), 6thx
Активность: 0.030
Статус: Участник
[www.AHTeam.org]

Создано: 22 июля 2005 11:49
· Личное сообщение · #1

Надо ли новую версию?
Что хотели бы видеть?




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

Создано: 22 июля 2005 11:53
· Личное сообщение · #2

FEUERRADER пишет:
Надо ли новую версию?


Конечно надо !

FEUERRADER пишет:
Что хотели бы видеть?


Чтобы ВСЁ распаковывал




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 22 июля 2005 12:10
· Личное сообщение · #3

FEUERRADER пишет:
Надо ли новую версию?

А почему нет, продолжай, дело полезное. Я уверен, тебе только спасибо скажут все. Ну, может все, кроме шареварщиков.

-=Defender=- пишет:
Чтобы ВСЁ распаковывал

Согласен.

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 264.0 (наставник), 5thx
Активность: 0.210
Статус: Участник
Vanilla Sky

Создано: 22 июля 2005 12:17
· Личное сообщение · #4

Я тебе уже говорил, сделай кнопочку Always On Top... =)




Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 22 июля 2005 12:41
· Личное сообщение · #5

FEUERRADER
Если есть возможность, добавь больше известных сигнатур. Пробовал, прога упакована
ASPack 1.06b / 1.061b -> Alexey Solodovnikov (PEiD так говорит), а у тебя

Quick Unpack v0.7
(c) stripper 2.11 rc3 engines by syd
(c) by FEUERRADER [AHTeam]

12:42:52 - Opened s2games.exe
12:42:52 - Signature analyze.... unknown


Конечно, это не главное, но, если есть возможность, добавь. Кстати, а прогу распаковал...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




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

Создано: 22 июля 2005 13:09
· Личное сообщение · #6

-=Defender=- пишет:
Чтобы ВСЁ распаковывал

Ага и аля аспротект и армагомодриллу....




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 22 июля 2005 19:39
· Личное сообщение · #7

ValdiS пишет:
Если есть возможность, добавь больше известных сигнатур. Пробовал, прога упакована
ASPack 1.06b / 1.061b -> Alexey Solodovnikov (PEiD так говорит), а у тебя

Кстати, FEUERRADER, ты бы поприставал к авторам пеида, пусть бы DLLку выпустили, чтобы тебе, например, её юзать в благих для общего дела целях.

-----
Всем не угодишь





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 22 июля 2005 20:55
· Личное сообщение · #8

Bad_guy пишет:
Кстати, FEUERRADER, ты бы поприставал к авторам пеида, пусть бы DLLку выпустили, чтобы тебе, например, её юзать в благих для общего дела целях.

Проще у меня или NEOx'а dll попросить или самому написать... я в дотфикс уже давно детектор пакеров встроил

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!





Ранг: 138.1 (ветеран)
Активность: 0.090
Статус: Участник
Одепт ЭкзэЛаба

Создано: 22 июля 2005 22:00
· Личное сообщение · #9

Лично я в Delphi так нахожу чем пакован или на чём написан файл:

ceb6_PE_Scaner.zip




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 22 июля 2005 22:06
· Личное сообщение · #10

GPcH
Ну такой же анализатор и Фейер может написать, а профессиональную штуку, такую как пеид ещё никто не сделал, там ведь основная сила в базах обновляемых, вот если бы они параллельно с релизом проги релизили бы и dll - вот было бы дело.

-----
Всем не угодишь





Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 22 июля 2005 22:27
· Личное сообщение · #11

Bad_guy пишет:
Ну такой же анализатор и Фейер может написать, а профессиональную штуку, такую как пеид ещё никто не сделал, там ведь основная сила в базах обновляемых, вот если бы они параллельно с релизом проги релизили бы и dll - вот было бы дело.

Ну базу я обновляю, эт ты зря

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!





Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 22 июля 2005 22:53
· Личное сообщение · #12

хотелось бы иметь интерактивный режим общения
типа
1. брякнуться на указанный адрес
2. сдампить указанные секции - либо все по дефолту либо выборочно
3. восстановить импорт по предложенному алгоритму - типа скриптов для Ollyscript
и что-нить еще




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

Создано: 23 июля 2005 03:46
· Личное сообщение · #13

Да помоему он и так все пакеры распаковывает даж неизвесные




Ранг: 328.7 (мудрец), 73thx
Активность: 0.170.01
Статус: Участник

Создано: 23 июля 2005 10:14
· Личное сообщение · #14

да
здесь кто-то им даже незапакованный файл распаковал




Ранг: 264.0 (наставник), 5thx
Активность: 0.210
Статус: Участник
Vanilla Sky

Создано: 23 июля 2005 13:24
· Личное сообщение · #15

Каким-то чудом ко мне попал релиз Quick.Unpack.v0.6.Final.HH.rar. Переведённые на китайский и с очень интересным словом "fixed". В чём сей ФИКСЕД заключается я так и не понял...



Ранг: 19.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 23 июля 2005 15:51
· Личное сообщение · #16

FEUERRADER пишет:
Что хотели бы видеть?

Добавить распаковку библиотек и опцию интеграции в контекстное меню.




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 23 июля 2005 17:19
· Личное сообщение · #17

LTP пишет:
Добавить распаковку библиотек и опцию интеграции в контекстное меню.

Полностью поддерживаю - чрезвычайно нужные и удобные вещи.




Ранг: 55.8 (постоянный), 6thx
Активность: 0.030
Статус: Участник
[www.AHTeam.org]

Создано: 23 июля 2005 20:08 · Поправил: FEUERRADER
· Личное сообщение · #18

Так, всё что вы пожелали - учту. Уже заделал восстановление импорта у upx не через imprec.dll а перехватом GetProcAddress. Внедрил CADT и улучшил интерфейс. Как анализатор - прикручу дополнительно pesniffer.dll с базами. Самая большая проблема с импортом у пакеров. imprec.dll реально устарел и не справляется часто.
Постараюсь восстановление импорта без imprec.dll сделать у популярных пакеров.

Ну а с распаковкой dll дело зависит от того, насколько я разберусь с импортом у пакеров, потому что imprec.dll не поддерживает dll.. В принципе возможно и сделаю распаковку dll, благо в движке стриппера все уже написано Спасибо syd, реально классный трейсер написан.

Релиз планирую к сентябрю.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 25 июля 2005 00:49
· Личное сообщение · #19

FEUERRADER
плагины не планируются?
с грамотным интерфейсом плагинов подобная программа "смогёт" гораздо больше

-----
EnJoy!





Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 25 июля 2005 11:59
· Личное сообщение · #20

> плагины не планируются?

И скрипты до кучи, как у ProcDump хотябы




Ранг: 55.8 (постоянный), 6thx
Активность: 0.030
Статус: Участник
[www.AHTeam.org]

Создано: 26 июля 2005 07:57
· Личное сообщение · #21

Предложите свой интерфейс плагинов...
И что должны делать скрипты? Примеры..



Ранг: 163.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 26 июля 2005 08:11
· Личное сообщение · #22

FEUERRADER пишет:
с распаковкой dll дело зависит от того, насколько я разберусь с импортом у пакеров


Не только с импортом, но и с релоками.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 26 июля 2005 11:49
· Личное сообщение · #23

FEUERRADER
Предложите свой интерфейс плагинов
привожу как есть мои рассуждения на тему 'Hiew Modules' из переписки с Sen'ом в начале этого года
несмотря на то, что в письме обсуждается Hiew, ты, надеюсь, сможешь найти что-нить интересное и для себя
итак, цитирую часть письма как есть с незначительными купюрами

[Цитата]
ES> просят сделать plugin-interface и я даже подумываю над этим. ну совсем
ES> навороченным он конечно не будет но что-то извне делать можно будет.

очень кстати, т.к. я сам заморочился разработкой модульного интерфейса для моего текущего проекта SmartUnPacker (SUP)
в итоге (как я сейчас уже понял) самое правильное - это начать писать плагин
и по ходу разработки плагина будет яснее понятно, что ему нужно, а что нет
т.е. я изначально накидал интерфейс, а потом уже подгонял его под конкретные нужды (не вдаваясь в дебри)
при этом я смотрел, как подобное реализовано в других прогах
моей задачей было предоставить функциональный, но не перегруженный интерфейс, т.е. чтобы для написания модуля не нужно было два дня разбираться в тонкостях реализации инерфейса,
но при этом можно было бы реализовать возможность плагина относительно полно.
итак, плагины (я их называю модули) находятся в подпапке Modules, представляют собой DLL с набором экспортируемых функций
для начала я разграничил плагины по функциональности (при том, что каждый может совмещать в себе несколько функций)
задачи следующие (привожу список экспортируемых функций, не комментирую т.к и так понятно):
AnalyzeFile
AnalyzeData
DumpFile
DumpProcess
UnpackFile
UnpackData
RebuildFile
RebuildData
ModifyFile
ModifyData
и, возможно, Debug

помимо этих, существуют ещё и функции, не относящиеся напрямую к функциональности модуля:
GetModuleInfo - плагин передаёт всякую инфу о себе
SetStartupInfo - хост передаёт модулю необходимую инфу
Configure - в зависимости от параметров функции, модуль вызывает (свои) настройки, либо показывает About, либо Help, либо... по-моему всё
CloseModule - принудительное завершение модуля, модуль обязан завершить выполнение текущей операции, освободить все ресурсы etc

при запуске хост-программы, она
проверяет папку Modules на наличие библиотек (DLL),
проверяет наличие тех или иных функций в каждом из модулей (при помощи GetProcAddress),
создаёт внутренний список (типа структуры) плагинов, в котором хранится основная инфа, связанная с модулем,
в т.ч. и то, какие функции поддерживает плагин
после этого вызывается GetModuleInfo
далее вызывается функция SetStartupInfo (название взято из Far Plugin API)
набрав всей полезной информации SUP создаёт меню (опять же таки в соответствии с пожеланиями модуля, взятыми при вызове GetModuleInfo),
добавляя модуль в то или иное меню: Analyze, Dump, Unpack, Rebuild, Modify, Pack (Protect), Debug
с названиями меню я пока не определился, т.к. пока не знаю, нужно ли их как-то группировать или нет

на данный момент все плагины вызываются по запросу, т.е. нет real-time плагинов
плагин должен экспортировать как минимум базовые функции (GetModuleInfo, SetStartupInfo, Configure, CloseModule) плюс любую функцию по делу.
т.о. образом модуль может и анализировать файл, и распаковывать, и дампить; а может только изменять/патчить
всё упирается лишь в то, какую функциональность обеспечивает модуль (хочет автор)
прости, что я уже полез в дебри, объясняя принцип интерфейса своей программы, но, надеюсь, тебе это небезынтересно

итак, хост загружен, SUP ожидает команды от пользователя
юзер может вызвать модуль несколькими способами:
1. Через меню хоста
2. Через параметр командной строки
3. Через команду, введённую с клавы
4. Через другой модуль
пока всё

для того, чтобы один модуль мог вызывать другой, каждому из модулей передаётся инфа обо всех модулях (в т.ч. и поддерживаемые функции)
я, правда, не уверен, что это особенно нужно ;)
просто когда начал писать скелет для каждого модуля (по типам), понял, что при потенциальной возможность впихать возможности в один модуль
несколько функций (т.е. чтоб он мог и анализировать файл на упакованность тем или иным пакером [AnalyzeFile], и, при положительном результате, его распаковать [UnpackFile]),
всё же иногда предпочтительнее для анализа содержимого файла вызывать специальный модуль, хотя тривиальная проверка, всё же присутствует и так.

что касается real-time плагинов, которые висят в памяти на протяжении всей работы хоста,
то наиболее предпочтительным вариантом мне кажется работа через PostThreadMessage
плагин, соответственно, обрабатывает GetMessage
но я пока отказался от подобной реализации в виду её не востребованности (как мне кажется, проще юзать экспортируемые функции)

<...>

некоторые замечания из собственного опыта:

*
сами модули лучше хранить в одной папке (чтобы тебе не приходилось сканировать кучу папок внутри папки Modules),
если модуль тащит с собой ещё кучу файлов, то он может грузить их из любой подпапки сам, например:
Modules
PEVerify.dll <- hiew грузит только его

Modules\PE Verify <DIR> <- модуль PE Verify хранит в этой папке всё, что ему нужно

*
модуль лучше вызывать в отдельном потоке (thread) - так с ним проще работать и завершать в случае чего, да и его ошибки обрабатывать менее болезненно

*
кучу данных лучше предавать через структуры (указатели на них), а не как параметры функции

*
по возможности использовать именно указатели на данные

*
не зависеть от программной реализации и языка (C, ASM, Pascal)

*
изначально предусмотреть обработчик ошибок плагинов (они ж, твари, кривые иногда бывают)

*
если будешь использовать меню плагинов, то сортируй его по алфавиту

*
пробей комбинацию клавиш на вызов меню плагинов (и так понятно ;)

*
сделай возможность запуск Hiew вообще без плагинов (через параметр коммандной строки)

*
возможность безболезненно выгружать плагин из памяти, т.е. чтоб он не заваливал весь hiew вместе с собой

*
на всякий случай должна быть возможность не грузить тот или иной плуг (enable/disable), хотя это редко нужно
если уж юзеру не нужен конкретный плуг - пусть сам его удаляет

единственное, что я не знаю - как реализовать в рамках консольного окна вывод окошек и т.д.
будешь ли ты реализовывать это своими средствами, как Far, или же пусть плуг сам выводит, что надо - хз
в случае с GUI всё, конечно, гораздо проще - окошки для GUI не проблема, а вот для сonsole - не знаю
или плуг вообще не будет показывать окошек, а просто напрямую передавать инфу hiew, а уж тот сам решит как её выводить - опять таки не знаю

в общем, если ещё какие идеи появятся - пиши, обсудим

--
EnJoy!
Jupiter mailto:by.Jupiter[a]Gmail.com

[Конец цитаты]

на данный момент многое изменилось в моём представлении о модулях [в моей программе] спустя полгода, так что если что - пиши мне на мыло

P.S. Возможно, имеет смысл организовать отдельное обсуждение по интерфейсу плагинов

-----
EnJoy!





Ранг: 55.8 (постоянный), 6thx
Активность: 0.030
Статус: Участник
[www.AHTeam.org]

Создано: 26 июля 2005 14:29
· Личное сообщение · #24

S_T_A_S_
Как раз с релоками проблем нету. Серьезные проблемы щас с импортом.. Для их решения контактирую с NEOx'ом и syd'у написал.. Но честно, я не справляюсь, реально знаний не хватает.. Если кто из спецов может помочь, пишите в 3 2 2 6 8 1 5 2 8.

Движок для плагинов уже приделал. Чуть позже уже буду думать про параметры для управления QU.. Там и подумаем..

Скриптовый движок может и сделаю тоже, похоже возьму за основу OllyScript.

Уже точно не обещаю, что к сентябрю всё успею.




Ранг: 55.8 (постоянный), 6thx
Активность: 0.030
Статус: Участник
[www.AHTeam.org]

Создано: 30 июля 2005 17:42
· Личное сообщение · #25

1. Заделал поддержку обычных плагинов как в РЕ тулзах; также preferenes (always on top и register shell ext.)
2. Активировал новый классный метод восстановления импорта, который работает очень даже прилично, в отличие от imprec.dll. Первые испытания превосходят ожидания.
3. Теперь каждый может написать OEP Finder для какого-либо пакера. Выглядть это будет в виде списка пакеров (такой же на вид, как в прокдампе был список).. OEP Finderы пишутся в виде плагинов. Передаваться в главную функцию туда будет только 1 параметр - полное имя ехе. На выходе - ОЕР DWORD.. Прилагаю один из новых рабочих модулей - UPack 0.xx OEP Finder. Можете уже начинать писать свои модули

Всё сводится к тому, что распаковка длл всё таки будет. Планирую прикрутить встроенный ребилдер ресурсов, который должен полностью переклеивать ресурсы..

58bc_SDK pre beta.rar


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


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