0 / 0 / 0
Регистрация: 06.11.2017
Сообщений: 15
1

[Masm32] Добавление иконки в исполняемый файл

20.11.2017, 20:01. Показов 2057. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
как добавить иконку в эксе файл через линковку компиляцию
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.11.2017, 20:01
Ответы с готовыми решениями:

Добавление данными в исполняемый файл
Как можно добавить файлы с данными, например изображение, в исполняемый файл? И как его...

Открыть исполняемый файл, если запущен конкретный файл
Доброго времени суток! Вот такая проблемка мучает: мне нужно решить следующую задачу: открыть...

Как включить txt файл в исполняемый файл?
Подскажите плиз как решить проблему, суть такова: в txt файле имеется таблица (разделитель - знак...

Включить в исполняемый файл бинарный файл
Собственно задача такая - есть некая программа которая пишет BIN файл во внешнее устройство. Но...

6
Модератор
Эксперт по электронике
8475 / 4334 / 1642
Регистрация: 01.02.2015
Сообщений: 13,455
Записей в блоге: 8
20.11.2017, 21:47 2
Вы сможете разобраться с примерами, идущими с пакетом masm32?
0
0 / 0 / 0
Регистрация: 06.11.2017
Сообщений: 15
22.11.2017, 20:15  [ТС] 3
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
pusha
 
mov eax,offset flag2
mov dword ptr ebx,[eax]
cmp ebx,0fh
jz l2
jnz l4
l2:
 
;ebx=[cf]
mov eax,offset cf
mov dword ptr ebx,[eax]
;
;
;mov ecx,offset szMsg2
;mov dword ptr [ecx],ebx 
mov dword ptr [szMsg2],ebx
 
l4:
 
popa
Добавлено через 2 минуты
почему программа останавливается на mov dword ptr [szMsg2],ebx
и не исполняется
как будто какая то заглушка в коде стоит. ведь пример простой

Добавлено через 3 минуты
в ollydebug проверял
в вижуал студио дебугер автоматически подгружался
в этой инструкции невидимый брекпойнт стоит в коде какойто наверно
или это привидение внутри компьютера сидит и мешает коду исполняться

Добавлено через 1 минуту
иконка не накладывается на эксе файл как ни крути . может ярлык поменять

Добавлено через 5 минут
вручную или спросить у мудрейших программистов. как накладывать иконки на эксе файл.
там в коде генерика загрузка инвоке икон ресурс есть. но он загружает этот кол в смысле
процедуру в верхушку окна в левом верхнем углу в оглавлении окна. значок маленький получается
а надо чтоб в проводнике вместо общей иконки была индивидуальная иконка поверх имени файла рядом с именем файла
торчать наша иконка должна
0
Модератор
Эксперт по электронике
8475 / 4334 / 1642
Регистрация: 01.02.2015
Сообщений: 13,455
Записей в блоге: 8
22.11.2017, 21:24 4
Цитата Сообщение от ROBERT8 Посмотреть сообщение
там в коде генерика загрузка инвоке икон ресурс есть. но он загружает этот кол в смысле
Это какой-то арго. Знакомые слова вижу, а смысл не уловлю.

Чтобы была иконка - создайте файл ресурсов по образцу и подобию (скопируйте) примеров к masm32.
Потом компилируете его компилятором ресурсов (в примерах есть пакетный файл для компиляции).
Потом компонуете exe вместе с ресурсами.

Добавлено через 3 минуты
По поводу зависания.
Сделайте минимальный пример, воспроизводящий ошибку. По данному обрывку кода ничего сказать не возможно.
0
0 / 0 / 0
Регистрация: 06.11.2017
Сообщений: 15
22.11.2017, 22:55  [ТС] 5
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
; #########################################################################
 
      .386
      .model flat, stdcall
      option casemap :none   ; case sensitive
 
; #########################################################################
 
      include \masm32\include\windows.inc
      include \masm32\include\user32.inc
      include \masm32\include\kernel32.inc
 
      includelib \masm32\lib\user32.lib
      includelib \masm32\lib\kernel32.lib
 
; #########################################################################
 
    .code
 
start:
 
    jmp @F
      szDlgTitle    db "Minimum MASM",0
      szMsg         db "  --- Assembler Pure and Simple ---  ",0
      flag db 0,0,0,0
      flag2 db 0fh,0,0,0 
      num db "0123456789abcdef",0
      szMsg2 db 0,0,0,0
      cf db "0f",0,0
      
 
 
    @@:
 
 
;mov dword ptr ebx,flag2
pusha
 
mov eax,offset flag2
mov dword ptr ebx,[eax]
cmp ebx,0fh
jz l2
jnz l4
l2:
 
;ebx=[cf]
mov eax,offset cf
mov dword ptr ebx,[eax]
;
;
;mov ecx,offset szMsg2
;mov dword ptr [ecx],ebx 
mov dword ptr [szMsg2],ebx
 
l4:
 
popa
 
 
 
    push MB_OK
    push offset szDlgTitle
    push offset szMsg2
    push 0
    call MessageBox
 
    push 0
    call ExitProcess
 
    ; --------------------------------------------------------
    ; The following are the same function calls using MASM
    ; "invoke" syntax. It is clearer code, it is type checked
    ; against a function prototype and it is less error prone.
    ; --------------------------------------------------------
 
    ; invoke MessageBox,0,ADDR szMsg,ADDR szDlgTitle,MB_OK
    ; invoke ExitProcess,0
 
end start
Добавлено через 31 секунду
эта пони виснет как сникерс это сникерс

Добавлено через 3 минуты
мой ноутбук прокляли боги наверно но она виснет не запускается
в дебуге просто стоит на трейсе на предпоследней инструкции
ну исполняйся хочется сказать а она стоит программа как будто стоп там написано перед ней

хотя программа простая и должна быть заготовкой
к функции принт хекс print hex4/.

вот копии их

там глючит всего одна инструкция
так мне кажится
она параллельным процессом тормозиться
но почему придрался паралельный процесс не понятно

mov [msg],ebx

асемблер нормально асемблирует её
но сама виндоус паралельно тормозит программу на этой инструкции

неужели над нами кто смеется в микросовт
придумывая тормоза там где по логике их не должно быть


я думал проблема в стеке
в восстановлении регистров

я написал пуша попа в конце и начале моего участка кода

но это не помогло

Добавлено через 7 минут
а может программа виндоус думать что это маленький вирус и поэтому тормозит программу
но антивирусов у меня на ноутбуке нет.
да и к тому же вирус шифровальщик
я хотел его декодер взломать
посмотрел через иду-ida-диззассемблер
и понял она написана на чистом ассемблере
такую и с первого раза не поймешь
Вложения
Тип файла: rar minimum.rar (1.9 Кб, 1 просмотров)
0
Модератор
Эксперт по электронике
8475 / 4334 / 1642
Регистрация: 01.02.2015
Сообщений: 13,455
Записей в блоге: 8
23.11.2017, 06:39 6
Потому, что есть защита сегмента кода, если не принимать специальных мер - в сегменте кода ничего нельзя менять.

Данные (строки, переменные) храните в сегменте данных.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
.data
      szDlgTitle    db "Minimum MASM",0
      szMsg         db "  --- Assembler Pure and Simple ---  ",0
      flag db 0,0,0,0
      flag2 db 0fh,0,0,0 
      num db "0123456789abcdef",0
      szMsg2 db 0,0,0,0
      cf db "0f",0,0
 
.code
start:
 
;mov dword ptr ebx,flag2
pusha
 
mov eax,offset flag2
mov dword ptr ebx,[eax]
cmp ebx,0fh
jz l2
jnz l4
l2:
................
0
0 / 0 / 0
Регистрация: 06.11.2017
Сообщений: 15
23.11.2017, 14:47  [ТС] 7
да помогло. это и вправду так.
защита сегмента кода. а не pusha popa
помогает
когда надо перезаписать код в теле
в реальном режиме нет проблем
можно так писать
но не в защищенном режиме виндоус

Добавлено через 4 минуты
а по поводу иконки на эксефайл. там же пробовал переделать генерик их. но он компилировался с общим значком почемуто
а где красивая иконка на эксефайле не знаю. прислать пример чтоли да? чтоб понятно было как у меня получилось что ничего с иконкой не получается

Добавлено через 2 часа 25 минут
получилось скомпилить иконку с эксефайлом
0
23.11.2017, 14:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.11.2017, 14:47
Помогаю со студенческими работами здесь

Исполняемый файл
Такой вопрос. Я писал на python в exlipse. Теперь хочу скомпилировать проект и чтобы он запускался...

Исполняемый файл
Всем привет. Начал изучать Common Lisp совсем недавно. Знаю, что вопрос уже много раз поднимался,...

Исполняемый файл
Как создать исполняемый файл(.exe) из проекта в IntelliJ IDEA с JavaFX? Я пробовал через bulid...

Добавление иконки
Qt Creator 3.3.0 (Qt 5.4.0) Добавил иконку, прописав в .pro файл: win32:RC_ICONS +=...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru