Имеется файлик , размер 200кб , написал или на ассамблере или на делфи , нужно изменить всего лиш 1 строчку в проге. прога конектится на определенный сайт Даже если блокнотом открыть этот exe спокойно видать эту самую строчку с адресом www.... нужно просто изменить адрес страницы куда конектица прога , как это можно сделать?
ставлю , запихаваю exe в редактор , нахожу эту строчку с адресом , удаляю и прописываю нужнную мне , далее жму save , сохроняет файл 123.exe уже без иконки которая была изначально + запускаю файл выдает ошибку приложение не явялется win32 мож перед сейвом чет ешё нада сделать?
В файле выдели буффер (array[0..259] of byte),потом найди смещение этого буффера в файле и напиши прогу которая будет по этому смещению вписывать данные.
я не программер чтоб писать проги , это замуторно , надо всего лиш подредактировать одну строчку , почему такие сложности?
мне нужно это самому делать по нескольим причинам: 1) файл приватный 2)это придется делать постоянно решил попробовать другим hex редактором нахожу строку через WinHEX , изменяю её , жму сейв , открываю через блокнот файл который сохранил , в нем ничего не изменилось , хотя в проге строчку поменял , даже просто одну буковку в адресной строке меняю , сейвю, она якобы сохраняется , но на самом деле ничего не менятся
ЛОЛ))) пинча переделывает 1. ResHacker или любым другим редактором ресурсов 2. как сказал zl0y 3. Hex надо учитывать 1 вещь... сколько символов стер, столько и вставляй...
какой нах пинч? ResHacker'ом вообше немогу найти ту строчку которая мне нужна. Да я так и делаю , пробовал удалить один символ , и вставить другой , всеровно якобы севитЦо , но на самом деле нет кажется в другое место начало работать) но тут другая проблема , нужно добавить три символа www , но не получается , вместо того чтоб вбивать эти три символа прогга поверх уже напечатанного текста вводит эти www , причем пробелов ставить нельзя ((( как быть?
Учи асм). Я бы дизассемблировал, нашёл бы где прога обращается к этой строке, нашёл бы пустое место, или увеличил Peфайл, засунул строку в пустоту и попытался высчитать смещение или адрес, и поменял. А так не получится, поскольку больше, чем длина строки не напишешь. Правда если в конце нули попробуй записать поверх - должно получится.)
вы психи) заходишь в hex, не удаляешь, а пишешь поверх вместо www.xek.xek.ru#0, где #0 это символ с кодом ноль и делаешь поверх www.xek.ru#0.ru#0 и всё ок.главное - не менять длину
var f : thandle; i,fils : integer; BytesRead: DWORD; begin f:=fileopen(<FILE>,fmOpenReadWrite); fils:=Windows.GetFileSize(f,nil); SetFilePointer(f, $<ADR>, nil, 0); WriteFile(f, <WHOT>, SizeOf(<WHOT>), BytesRead, nil); FileClose(f); end; вот так вот..
hex workshop 5 скачай , я этим пользуй проблем не было все сохраняет , если меньшую ссылку встиавить то нулями забей , если большую то смотри оп обстоятельствам
Млять! WinHex в руки и нормально всё изменять. Любую строку ты можешь поменять, главное чтобы она <= той которая была там. главное в конце символ 0x00 чтобы был.