Программа для извлечения ВСЕГО из EXE и DLL

Обсуждение проектов наших жителей.
Вы можете выставить проект на тест или найти помощников для его реализации.

Модератор: BV

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Программа для извлечения ВСЕГО из EXE и DLL

Сообщение BV » 10.01.2005 (Пн) 23:04

Ещё не отдохнул от проекта NOTEPAD, тут же начал эту утилиту.
Очень многое помогли реализовать примеры с этого сайта, за что всем, кто выкладывает сюда свои исходники, ОГРОМНОЕ СПАСИБО!!!
Ну вот собственно программа. Тестируйте и критикуйте.
Последний раз редактировалось BV 26.02.2005 (Сб) 20:17, всего редактировалось 1 раз.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 11.01.2005 (Вт) 3:57

А чё без исходников? Не интересно...
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 11.01.2005 (Вт) 13:20

Ну если от того, что я включу сюда и исходники, станет легче и интересней, то ладно - скоро будут. :roll:

Но мне интересно другое: пограмма-то удалась?

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 12.01.2005 (Ср) 21:10

Исходники выкладывай однозначно!(если сам, конечно, не против :wink: )
Обеими руками за! :cheers:

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 12.01.2005 (Ср) 21:44

Я присоединяюсь.

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 12.01.2005 (Ср) 21:46

Все через API делается, так ведь?
Я декомпильнул экзешник и увидел API-шки, через которые это делается.
Могу выложить список.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 12.01.2005 (Ср) 21:58

Через АПИ? А я, если честно, думал, что ручками......
Ну, там, грузим из экзешника таблицу ресурсов, и т.д......
А что, ечть специальные апи?
Меня вот ОЧЕНЬ интересует вопрос, как программно сменить иконку у экзешника. Как вытащить знаю(точнее, есть статейка), а вот как обратно пихнуть? :D

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 12.01.2005 (Ср) 22:33

Вот список используемого API:

В модуле "MdlEnumResourse":

EnumResourceTypesA
EnumResourceNamesA

В модуле "MdlGetResource"

CreateIconFromResourceEx
LoadImageA
OleCreatePictureIndirect (библиотека "olepro32.dll")
LoadMenuA
GetMenuItemCount
GetMenuItemInfoA
DestroyMenu
GetModuleFileNameA
GetFileVersionInfoSizeA
GetFileVersionInfoA
VerQueryValueA
FindResourceA
LoadResource
LockResource
SizeofResource
FreeResource

в модуле "MdlMain"

LoadLibraryA
FreeLibrary
LoadLibraryExA
RtlMoveMemory
lstrcpyA
lstrlenW
lstrlenA

в модуле "MdlShowResource"

InitCommonControlsEx
SetWindowLongA
CallWindowProcA
SendMessageA
ShellExecuteA
GetWindowsDirectoryA
GetSystemDirectoryA
SHGetPathFromIDList
SHGetSpecialFolderLocation.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 12.01.2005 (Ср) 22:43

А есть ли АПИ чтобы запихать в экзешник ресурсы?
Ну, или хотя бы, не новые запихать, а старые поменять?
Я имею ввиду не в этой программе, а вообще, есть ли такие?

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 12.01.2005 (Ср) 22:56

Поменять ресурсы в уже готовом экзешники можно. Это 100%.

Ariman
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 817
Зарегистрирован: 02.09.2003 (Вт) 16:23
Откуда: Великая наша держава, г.Москва

Сообщение Ariman » 12.01.2005 (Ср) 23:27

Нет, вопрос в другом. Понятное дело, что можно.
Но я говорю о том, можно ли это сделать НЕ вручную, а при помощи АПИ?

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 13.01.2005 (Чт) 0:15

2 |kerish|

Молодец. Практически всё верно - только

в модуле "MdlShowResource"

InitCommonControlsEx
SetWindowLongA
CallWindowProcA
SendMessageA
ShellExecuteA
GetWindowsDirectoryA
GetSystemDirectoryA
SHGetPathFromIDList
SHGetSpecialFolderLocation.


эти API находятся в модуле MdlOther, а вот то, что находится в модуле MdlShowResource ты не указал. :wink:

Ну а исходники обещаю выложить в скором времени.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.01.2005 (Чт) 0:50

Ariman писал(а):Нет, вопрос в другом. Понятное дело, что можно.
Но я говорю о том, можно ли это сделать НЕ вручную, а при помощи АПИ?
BeginUpdateResource, UpdateResource, EndUpdateResource (работают только в WinNT).
А пример разбора таблицы ресурсов руками я уже не только писал, но и выкладывал на ftp://cs.usu.edu.ru/util/IcoCur/ (у меня там смотрелка иконок и курсоров, в т.ч. в ресурсах, без API - всё голыми руками, и с исходниками.)
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 13.01.2005 (Чт) 3:13

Ну вот собственно как я и обещал - исходники.

Программа не претендует на звание самой "безбажной", так что если у кого есть идеи по решению проблем, возникающих в программе, огромная просьба сообщить мне (желательно в виде исправленного кода).

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.01.2005 (Чт) 6:21

tyomitch писал(а):
Ariman писал(а):Нет, вопрос в другом. Понятное дело, что можно.
Но я говорю о том, можно ли это сделать НЕ вручную, а при помощи АПИ?
BeginUpdateResource, UpdateResource, EndUpdateResource (работают только в WinNT).
А пример разбора таблицы ресурсов руками я уже не только писал, но и выкладывал на ftp://cs.usu.edu.ru/util/IcoCur/ (у меня там смотрелка иконок и курсоров, в т.ч. в ресурсах, без API - всё голыми руками, и с исходниками.)

Ага, а я - не помню где - уже обращал внимание на то, что если засунуть ресурс, то он потом недоступен ниоткуда кроме как из ресурсооткрывающих программ. И почему, мы так и не выяснили.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.01.2005 (Чт) 8:24

Емнип, в личной переписке... Может, на форуме это обсуждалось до того, как я здесь появился.
А что, руками дописывать ресурсы настолько сложно? :-? И работать будет вне зависимости от версии Винды.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.01.2005 (Чт) 8:45

Нет, постил, и ты даже отвечал.
http://bbs.vbstreets.ru/viewtopic.php?t=11340
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 13.01.2005 (Чт) 14:08

Люди :!:
Это же не форум по вопросу "Как работать с ресурсами".

Где высказывания о моей программе?

ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Сообщение ANDLL » 13.01.2005 (Чт) 20:07

Угу. Класс. Могу попробовать добавить модуль декомпиляции TYPELIB.
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

|kerish|
Постоялец
Постоялец
 
Сообщения: 831
Зарегистрирован: 22.10.2004 (Пт) 0:31

Сообщение |kerish| » 13.01.2005 (Чт) 23:57

Единственный додумаюсь сказать спасибо BV за исходники.
Спасибо.

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 14.01.2005 (Пт) 23:45

2 |kerish|

Пожалуйста :)

А высказываний всё нет... качают тут некоторые в тихую :wink:

Ramzes
Скромный человек
Скромный человек
Аватара пользователя
 
Сообщения: 5004
Зарегистрирован: 12.04.2003 (Сб) 11:59
Откуда: Из гробницы :)

Сообщение Ramzes » 17.01.2005 (Пн) 11:31

Прога рулез, исходники тоже рулез, я бы правда бился головой об стенку и подумал, как записывать в ехе свою инфу. т. е. не только просматривать, а в случае необходимости и дописывать... Я в принцыпе знаю что это лутше делать на асме, уверен, что и на вб можно! Вообщем меня этот вопрос заинтересовал. Ща буду биться но в начале спрошу людей!

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 17.01.2005 (Пн) 11:44

Не понял, при чём тут асм, тем более, что я уже отвечал:

tyomitch писал(а):
Ariman писал(а):Нет, вопрос в другом. Понятное дело, что можно.
Но я говорю о том, можно ли это сделать НЕ вручную, а при помощи АПИ?
BeginUpdateResource, UpdateResource, EndUpdateResource (работают только в WinNT).
А пример разбора таблицы ресурсов руками я уже не только писал, но и выкладывал на ftp://cs.usu.edu.ru/util/IcoCur/ (у меня там смотрелка иконок и курсоров, в т.ч. в ресурсах, без API - всё голыми руками, и с исходниками.)


А GSerg добавил, что АПИ работают криво, и лучше руками.
Изображение

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 18.01.2005 (Вт) 2:13

Ramzes писал(а):Вообщем меня этот вопрос заинтересовал. Ща буду биться но в начале спрошу людей!


Это будет в версии 1.2 (сейчас существует только в виде закомментированных кодов в исходниках). Ещё вот есть желание добавить груповое сохранение, но есть небольшие проблемы с реализацией кода.


Вернуться в Наши проекты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32

    TopList