Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2023, 10:30   #1
ChestIotVaga
Пользователь
 
Регистрация: 21.11.2022
Сообщений: 84
По умолчанию Дизасемблировать код программы.

подскажите как дизасемблировать код программы?
Код:
.486
.model flat,stdcall
options casemap : none  ;case sentivive
include windows.inc
include user32.inc
include kernel32.inc
incudelib user32.lib
includelib kernel.lib
;#######################################################
   .data
szTitle     db "Message",0
szMessage   db "Hello, World!",0
    .code
start:
    push MB_OK + MB_ICONINFORMATION ; Кнопка и пиктограмамма
    push offset szTitle             ;строка заголовок окна
    push offset szMessage           ; текст выводимого сообщения
    push 0                          ;указатель на родительское окно
    call MessageBox
    push 0                          ;код завершения программы
    call ExitProcess
end start
Можно инструкцию
ChestIotVaga вне форума Ответить с цитированием
Старый 22.02.2023, 11:20   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,555
По умолчанию

Да, задача в стиле Козьмы Пруткова: "Как объять необъятное?" . Дизасемблировать то, что уже написано на ассемблере. Может быть, ТС не совсем понимает значение этого слова ?
digitalis вне форума Ответить с цитированием
Старый 22.02.2023, 11:22   #3
ChestIotVaga
Пользователь
 
Регистрация: 21.11.2022
Сообщений: 84
По умолчанию

digitalis, возможно просто задание от препода скомпилировать а потом дизассемблировать и посмотреть листинг и сравнить.
ChestIotVaga вне форума Ответить с цитированием
Старый 22.02.2023, 12:26   #4
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

1 способ. Скомпилировав программу получите .exe файл. Берете этот файл за шкирку и тащите его на другой .exe файл - программу дизассемблер. Наслаждаетесь результатом.

2 способ. Скомпилировав программу получите .exe файл. Берете этот файл за шкирку и заливаете его в online-дизассемблер. Наслаждаетесь результатом.
macomics вне форума Ответить с цитированием
Старый 22.02.2023, 19:17   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,555
По умолчанию

Цитата:
Сообщение от ChestIotVaga Посмотреть сообщение
digitalis, возможно просто задание от препода скомпилировать а потом дизассемблировать и посмотреть листинг и сравнить.
Ну тогда это на форум телепатов...
"
В каждой строчке - только точки,
Догадайся, мол,сама. ©
"
--------------------
macomics Ну и получим тот же исходник. Как сказала одна государственная дама из Германии, "поворот на 360° "

Последний раз редактировалось digitalis; 22.02.2023 в 19:28.
digitalis вне форума Ответить с цитированием
Старый 22.02.2023, 20:09   #6
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
macomics Ну и получим тот же исходник. Как сказала одна государственная дама из Германии, "поворот на 360° "
Не совсем тот же. Во-первых, будут развернуты макроинструкции. Во-вторых, будут вычислены и подставлены числовые значения. В-третьих, имена внутренних меток будут заменены адресами (и возможно к ним будет прибавлен базовый адрес org).
macomics вне форума Ответить с цитированием
Старый 23.02.2023, 18:58   #7
ChestIotVaga
Пользователь
 
Регистрация: 21.11.2022
Сообщений: 84
По умолчанию

Цитата:
Сообщение от ChestIotVaga Посмотреть сообщение
g
macomics, вы лучший человек которого я сегодня прочитал.
ChestIotVaga вне форума Ответить с цитированием
Старый 23.02.2023, 18:59   #8
ChestIotVaga
Пользователь
 
Регистрация: 21.11.2022
Сообщений: 84
По умолчанию

macomics, вот тут проблема сам препод дал этот код но даже на стадии линковки кода он выдает ошибку, спросив препода он мне сказал что мб код вообще не рабочий, как говориться думайте сами, решайте сами.
ChestIotVaga вне форума Ответить с цитированием
Старый 23.02.2023, 19:36   #9
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

А вы какую версию tasm используете. Этот код для 32-битной версии (tasm32.exe и tlink32.exe). Если вы попытаетесь собрать их обычными tasm.exe и tlink.exe, тогда ничего не выйдет. Хотя, по моему, после патча tasm 5.2 он уже умел делегировать разные исходники нужной версии tasm. В любом случае попробуйте этот bat скрипт (сохраняете его в папке с исходником в формате bat, но исправляете путь до папки c tasm)
Код:
@echo off
set TASMPATH=C:\tasm\
set INCLUDE=%TASMPATH%INCLUDE\;
%TASMPATH%bin\tasm32.exe /ml "%~f1"
if not %errorlevel%=0 exit /b 1
%TASMPATH%bin\tlink32.exe -aa "%~dpn1".obj
Исправьте в строке set TASMPATH=Путь к папке с TASM
macomics вне форума Ответить с цитированием
Старый 25.02.2023, 16:44   #10
ChestIotVaga
Пользователь
 
Регистрация: 21.11.2022
Сообщений: 84
По умолчанию

macomics, а для чего данный бат файл?
ChestIotVaga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание программы в ДЕЛФИ (Листинг содержимого папки, привязка программы к папкам) Staziah2 Общие вопросы Delphi 8 19.03.2015 13:07
В середине программы срабатывает конструктор, но не должен. Изза этого неправильная реализация программы lisica198808 Помощь студентам 2 01.05.2014 08:00
Создание программы для управления некоторыми функциями другой программы Юрий1991 Общие вопросы Delphi 6 03.02.2012 15:32
Какие программы нужно установить чтобы писать программы для телефонов nokia Кристинка89 Общие вопросы по Java, Java SE, Kotlin 2 17.02.2011 15:15
Из программы 1.exe создаем пустой файл 2.exe. Как из программы 1 внести API функции в программу 2? X-LEV-X Общие вопросы Delphi 7 09.03.2010 08:33