С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/15: Рейтинг темы: голосов - 15, средняя оценка - 4.60
 Аватар для igor_petrov
18 / 8 / 4
Регистрация: 26.01.2014
Сообщений: 164

Изменить код программы

24.12.2014, 13:07. Показов 3194. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Изучаю ассемблер, создаю программу в Visual Studio, пишу тестовую программу с таким кодом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <windows.h>
 
int rand2() {
    return -9;
}
 
long randanother() {
    int a = -41;
    return -40 * 10 + a;
}
 
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
    if( rand2() == -9 ) {
        MessageBox(0, "Password Error", "this is string", 0);
    } else {
        MessageBox(0, "Password Successful", "this is string", 0);
    }
    return 0;
}
открываю ее в IDA 5.5, нахожу последовательность байт "Password Error..." и нахожу метку, где сравнивается число rand() == -9, нашел метку, где такой код:
Assembler
1
2
3
4
5
6
7
8
9
10
...
.text:004114A3                 cmp     eax, 0FFFFFFF7h
.text:004114A6                 jnz     short loc_4114C7
.text:004114A8                 mov     esi, esp
.text:004114AA                 push    0               ; uType
.text:004114AC                 push    offset Caption  ; "this is string"
.text:004114B1                 push    offset Text     ; "Password Error"
.text:004114B6                 push    0               ; hWnd
.text:004114B8                 call    ds:MessageBoxA
...
вижу этот код в иде, хочется потренироваться, попытаться изменить код
Assembler
1
2
cmp eax,0fffffff7h
jnz short loc...
на безусловный переход на метку с кодом, где вызывается Password Succeesful

где-то увидел, что IDA не предназначена для изменения кода(что бред по моему мнению, такого быть не может)но я новичок, и хочу спросить у экспертов, как пользоваться в таких случаях.
возможно, использовать hex editor для изменения байтов на коды команд jmp ... но когда я открываю экзешник в редакторе hex, там не могу найти метку, где поменять эти байты. путаюсь с адресами.

сразу скажу, что занимаюсь этим делом ТОЛЬКО в целях обучения, всех благодарю
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.12.2014, 13:07
Ответы с готовыми решениями:

Изменить код программы для Far-manager
Использование системных и C-функций ввода-вывода символов и строк. Помогите правильно изменить код. В программе должны использоваться 3...

Изменить код программы, чтобы она копировала 1024 байта, а не слова
Прошу помощи!! У меня есть готовая программа, которая копирует 1024 слова одной области в другую DosSeg .Model Small .Stack...

График функции
дан код программы,которая строит график функции... у меня не компилируется... куда и что нужно правильно написать... это шаблон MASM... ...

2
Клюг
 Аватар для Charles Kludge
7677 / 3192 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
25.12.2014, 12:20
Цитата Сообщение от igor_petrov Посмотреть сообщение
IDA не предназначена для изменения кода
Ну да, для этого есть hiew.
0
 Аватар для igor_petrov
18 / 8 / 4
Регистрация: 26.01.2014
Сообщений: 164
25.12.2014, 12:38  [ТС]
Charles Kludge, да это понятно, а как это сделать не подскажите?

Добавлено через 17 минут
в hiew разбирусь... благодарю вас за ответ
есть ли какая-нибудь альтернатива с более удобным интерфейсом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.12.2014, 12:38
Помогаю со студенческими работами здесь

Немножко изменить код
Есть код программы которая после ввода символа выводит 16 следующих символов, нужно изменить его так что-бы программа выводила 16 рядом...

Подскажите, как изменить код
Доброго времени суток) Подскажите, как изменить код так, чтобы переменные tm и tm1 выводились после слова &quot;Hellow&quot; в одной...

Как изменить фон программы
Здравствуйте, с асемблером знаком с университета, понимаю что такое регистры как они работают но сложный он для меня. Хочу получить совет...

Правильный ли код?подскажите что изменить
.387 .386p .model flat PUBLIC main EXTRN system:BYTE EXTRN printf:BYTE EXTRN scanf:BYTE ...

Изменить код программы
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;conio.h&quot; int main() { int const N = 10; int a; int i, max,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru