HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Ресурсы .NET EXE'шника, замена ресурсов используя С++
  #1  
Старый 12.09.2009, 14:00
Maxidrom
Новичок
Регистрация: 04.02.2009
Сообщений: 12
С нами: 9086147

Репутация: 0
По умолчанию Ресурсы .NET EXE'шника, замена ресурсов используя С++

Привет ребят, возникла необходимость в подмене ресурсов .NET exe'шника... я не знаю как точно это все организовать, хотел посоветоваться. Заменять нужно конкретно *.rar или *.zip архивы, встроенные в exe как ресурс. Я вот как думал это сделать - открыть файл(exe) как массив байт, я так думаю *.rar/*.zip имеют какие-то определенные заголовки, по этим заголовкам распознать где архив, узнать где конец я пока не знаю как, и вобщем заменить эти байты на нужные, как быть с тем что заменяемый архив может быть больше или меньше того что в exe я тоже не знаю...

В правильном ли направлении я смотрю? И может быть есть консольные утилиты способные ресурс заменить? Или идейки какиенить подкиньте.

Заранее спасибо всем за советы.
 
Ответить с цитированием

  #2  
Старый 12.09.2009, 17:30
scrat
Постоянный
Регистрация: 08.04.2007
Сообщений: 853
С нами: 10048706

Репутация: 1540


По умолчанию

ну я так понимаю, что стоит загружать методами .net reflection, и уже что-нибудь менять там.
 
Ответить с цитированием

  #3  
Старый 12.09.2009, 20:36
Maxidrom
Новичок
Регистрация: 04.02.2009
Сообщений: 12
С нами: 9086147

Репутация: 0
По умолчанию

Я наверное не так выразился, я использую не .NET C++, а C++ обычный, допустим у меня сервак с UNIX, и вот один C\C++ имея надо .NET сборку распотрошить там...
 
Ответить с цитированием

  #4  
Старый 12.09.2009, 21:35
Hiro Protagonist
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
С нами: 8795069

Репутация: 79
По умолчанию

Эээ. У .NET приложений другой формат исполняемых файлов чтоле? PE уже устарел? >____<

Если точно знаешь в какой секции расположен архив, то открываешь файл, в IMAGE_SECTION_HEADER смотришь файловое смещение этой секции, переходишь туда, ишеш сигнатуру архива (её посмотришь открыв hex-редактором любой архив, для rar - RAR, для zip - PK[непомню какието байтеки]). Ещё посмотришь описание формата rar/zip чтобы найти байтеки в которых прописан размер архива. Теперь ты его можешь читать. Теперь наступают сложности. В самом примитивном случае, когда имеем архив в конце последней секции и в коде нету проверок на его размер, то тупо расширяем секцию (правим IMAGE_SECTION_HEADER.SizeOfRawData, IMAGE_SECTION_HEADER.VirtualSize, IMAGE_OPTIONAL_HEADER.ImageSize). В остальных случаев все не так тривиально, тк придется пересчитывать релоки и ревесить NET для убирания проверок.

Или я чтото не так понял в вопросе?
 
Ответить с цитированием

  #5  
Старый 12.09.2009, 21:48
Maxidrom
Новичок
Регистрация: 04.02.2009
Сообщений: 12
С нами: 9086147

Репутация: 0
По умолчанию

Спасибо за советы ребят, пойду кодить, если что спрошу...
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
.NET реверсинг procedure Реверсинг 7 02.04.2010 05:32



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.