Сейчас на форуме: rtsgreg1989, ==DJ==[ZLO], Magister Yoda (+6 невидимых) |
![]() |
eXeL@B —› Основной форум —› Как удобнее много писать в новую секцию? |
Посл.ответ | Сообщение |
|
Создано: 04 апреля 2005 05:44 · Личное сообщение · #1 Первое апреля ушло, а мечта о супер инструменте для дописывания exe осталась. Вот цитата из первоапрельской шутки: Прикиньте, в ней код писать можно как в исходнике со всеми метками, директивами и даже вызовами API функций прямо так: invoke MessageBox, 0, addr message, аddr title, 0 А при сохранении в файл весь код и данные раскидываются по свободным местам в концах секций. А сели не хватит, то выбор новой секции и Olly сохраняет это всё корректно добавляя в таблицу импорта и подправляя PE. Фантазия это хорошо, но я сегодня наступил на собственные грабли ![]() Вожусь с демоверсией. Нужно написать процедуру сохранения. Пример из предыдущий версии есть, есть ещё пример из облегчённого триала, но и там, и там кое-чего ни хватает. В данном случае не нужно вставлять новых API, но старые юзать хорошо бы по человечески (по их имени, а не по адресу jmp'a для них). Писать я буду в новую секцию. И метки ускорили бы дело очень здорово, чёрт сними с дерективами, но хотя бы команды вписывать между строк хотелось бы. Вопрос1 есть ли инструмент который грамотно привяжет исходный код, к exe-фалу в указанную мной секцию? Вопрос2 если нет, кто как пишет большие участки кода в exe? Поделитесь, пожалуйста, опытом или на статью направьте. ----- Всем привет, я вернулся ![]() |
|
Создано: 04 апреля 2005 06:52 · Личное сообщение · #2 |
|
Создано: 04 апреля 2005 11:51 · Личное сообщение · #3 |
|
Создано: 04 апреля 2005 14:29 · Личное сообщение · #4 |
|
Создано: 04 апреля 2005 16:00 · Личное сообщение · #5 nice пишет: 2. Однозначно добавлением новой секции Можно подправить размер секции ресурсов (последней), поставить нужный атрибут и писать код в неё - это проще, чем добавлять новую секцию. Bitfry пишет: Я так и делаю, но это очень неудобно. Забыв однажды вписать команду, приходится переправлять всё заново, а потом опять отладка и опять всё заново. пытались мне как-то подсунуть курсовик сделать "Написание компилятора", намёк понял ? ![]() ----- Всем не угодишь ![]() |
|
Создано: 04 апреля 2005 16:38 · Личное сообщение · #6 Кстати, можно тупо заюзать fasm. Собрать файл с необходимым смещением соответсвующим смещению добавляемой секции в файле, по хитрому использовать API, допустим написать свою функцию GetProcAddress, не юзая виндовые API, тогда можно будет просто дернуть секцию из скомпиленного fasm'ом exe'шника и прицепить ее к нужному файлу, изменить точку входа и телемаркет. Если целевой файл юзает LoadLibrary/GetProcAddress в импорте, то еще проще. ![]() |
|
Создано: 04 апреля 2005 17:09 · Поправил: Bitfry · Личное сообщение · #7 Bad_guy пишет: намёк понял ? Угу, только времени нет. Даже не успел начать писать редактор для авторов. А все проблемы в порядки поступления. ![]() Asterix пишет: заюзать fasm. Мысль здравая, но процедура вызывает много функций из программы, а сама она не такая уж и длинная. Я пожалуй по старинки в hiew'e буду тыкать. Если не найдётся супер инструмент. ----- Всем привет, я вернулся ![]() |
![]() |
eXeL@B —› Основной форум —› Как удобнее много писать в новую секцию? |