![]() |
|
|
![]()
|
|
| Goph |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 9.5.2002 Где: Кривой Рог Репутация: нет Всего: нет |
Простите, что задолбал, но очень надо!
Что я делаю открываю файл с помощью hview ! Делаю представление кода в HEX, нахожу нужную мне строку по смещению 000266A0, нашел далее вижу строку 04270A0 0F84B7000000 je 0042715D Теперь помогите как поменять OF84B7000000 на 0F85B7000000!!! Денло в том, что 04270А0 это смещение на всю строку а если шагать в право начиная с OF то через каждых два числа меняется 004270A0 на 004270A1 (именно та строка что мне нужна , в этой строке представлено число 84 которое нужно поменять на 85!!) и так дальше! Я пишу! procedure TForm1.Button1Click(Sender: TObject); var f:file of byte; b:Byte; begin b:=??; AssignFile(f,'c:\jpegopt.exe'); Reset(f); seek(f,$004270A1); write(f,b); CloseFile(f); end; end. Необращайте внимание на Delphi напишите на asm пожайлуста и обьясните где и как менять имеено, и обьясните в примере hview!! Помогите как в шестнадцатирично формате представить число 85 и заменить! Посмотрите на мой алгоритм и исправте!! Простите за ошибки! ПОМОГИТЕ ПОЖАЙЛУСТА!! -------------------- Воображение гораздо важнее знаний! (Эйнштейн) |
|||
|
||||
| Chingachguk |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 18 |
1) В hiew и так можно руками пропатчить байты. Должно быть так, я не пробовал;
2) Если 000266A0 - реально смещение в файле, то вот что надо сделать, хотя, я думаю, в дельфи и так уже все сказали ;) : PatchPosition equ 000266A0 ; Открыть файл на запись .data OutFileName db "my_file.exe",0 .data? OutDescr dd ? .code invoke CreateFile,offset OutFileName,GENERIC_WRITE,FILE_SHARE_WRITE,0,CREATE_ALWAYS,\ FILE_ATTRIBUTE_NORMAL,0 mov OutDescr,eax ; Save file descriptor cmp eax,0ffffffffh jnz @@OutFileOpen .data OpenError db "Out file not created !",0 .code invoke MessageBox,0,offset OpenError,offset szDlgTitle,MB_OK+MB_ICONERROR jmp @@Exit @@OutFileOpen: ; Установить указатель в файле invoke SetFilePointer,OutDescr,PatchPosition+1,NULL,FILE_BEGIN ; Patch One ! byte .data? PatchByte db 85h .data? bWrite dd ? .code invoke WriteFile,OutDescr,offset PatchByte,sizeof PatchByte,offset bWrite,NULL ; Все ! Закрыть не забудь ! invoke CloseHandle,OutDescr -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
| Гость_Алексей |
|
|||
|
Unregistered |
Здравствуйте, Всем!
У меня такой вопрс, кто может дайте пожалуйста ответ, неопытному пользователю. Первый раз столкнулся с Win Hex, так как в игре ОНИ коды можно вводить только после редактирования файла с расширением .dat. Пожалуйста, расскажите по шагам для нулевого уровня, как найти смещение 0x44 и изменить его на 07, я просто замучился его искать и отчаялся, а когда один раз ,случайно нашёл, не знаю как, то не смог изменить, не редактируется. ПОМОГИТЕ!!!!! |
|||
|
||||
| enge1 |
|
|||
|
Unregistered |
Дааа, я и сам пытался активировать коды в Oni, но ничего не получилось. Я просто не нашёл 0x44.
Так, что извини помочь ничем не могу. |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |