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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.08.2007, 19:19   #11
Master-Skull
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 43
По умолчанию

думаю да, хотя это впервые. Заренее ограмное спасибо.
PS А асм у тя какой? Ато если MASM32 да ещё и с комантариями, вообще бесценно =)
Комьютер не поддаётся законам физики:
Глюки появляются из неоткуда, файлы пропадают в никуда...
Объём диска называется весом и измеряется в метрах...

---------------------------------------------------
Дрова для модема находятся на диске, а дрова для дисковода - в интернете...
Master-Skull вне форума
Старый 17.08.2007, 10:24   #12
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
Лампочка

Такс, ну в самом простом варианте вотъ.
(MASM32 респект и уважуха, но я люблю FASM )

Код:
display 'Мелкая кривая прога, которая по идее',13,10,\
'работать не должна (?) но работает :)',13,10,\
'JTG(at)GALA(dot)NET // 2007'

format PE GUI 4.0
entry start

include 'win32axp.inc'

section '.data' data readable writeable

  _path          rb MAX_PATH
  _handle        dd ?
  _nBytesRead    dd ?
  _overlay       rb 65535

section '.code' code readable executable

  start:

        invoke  GetModuleHandle,0
        invoke  GetModuleFileName, eax,_path,MAX_PATH
       ;invoke  MessageBox, HWND_DESKTOP,_path,"Путь // для отладки",MB_OK+MB_ICONINFORMATION
        invoke  CreateFile,_path,GENERIC_READ,FILE_SHARE_READ+FILE_SHARE_WRITE,NULL,OPEN_EXISTING,NULL,NULL
        mov     [_handle],eax

        cmp     eax,INVALID_HANDLE_VALUE
        je      .open_error

        invoke  SetFilePointer, [_handle],1536,NULL,FILE_BEGIN               ; переводим указатель в конец файла (1536-й байт)
        invoke  ReadFile, [_handle],_overlay,65535,_nBytesRead,NULL          ; пытаемся читать 64 кб оверлея =) Гыыы, работает О_о

        invoke  MessageBox,HWND_DESKTOP,_overlay,"Сообщение",MB_OK+MB_ICONINFORMATION

        invoke  CloseHandle,[_handle]
        cmp     eax,0
        je      .close_error
        jmp     exit

  .open_error:
        invoke  MessageBox,0,'Программа не смогла открыть свой файл на чтение!','Error!',MB_OK+MB_ICONSTOP
        jmp     exit
  .close_error:
        invoke  MessageBox,0,'Программа не смогла закрыть хендл!','Warning!',MB_OK+MB_ICONEXCLAMATION
        jmp     exit
  exit:
        invoke  ExitProcess,0

section '.import' import data readable writeable

  library kernel32,'KERNEL32.DLL',\
          user32,'USER32.DLL'

  import  kernel32,\
          GetModuleHandle,'GetModuleHandleA',\
          GetModuleFileName,'GetModuleFileNameA',\
          CreateFile,'CreateFileA',\
          SetFilePointer,'SetFilePointer',\
          ReadFile,'ReadFile',\
          CloseHandle,'CloseHandle',\
          ExitProcess,'ExitProcess'

  import  user32,\
          MessageBox,'MessageBoxA'
В архиве проект делфи, который дописывает текст в хвост ехешника
И уже скомпиленная асмовская прога с хвостом (с расширением тхт) как пример

(ногами не бить, кодилось всё минут 20 но работает вроде )
Вложения
Тип файла: zip Stubber.zip (6.8 Кб, 20 просмотров)
Тип файла: txt stub_with_overlay.EXE.txt (2.7 Кб, 163 просмотров)
пыщь

Последний раз редактировалось JTG; 17.08.2007 в 10:41.
JTG вне форума
Старый 17.08.2007, 14:11   #13
Master-Skull
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 43
По умолчанию

Вопрос: репутацию повышать можно? =) А то я не нашёл
Комьютер не поддаётся законам физики:
Глюки появляются из неоткуда, файлы пропадают в никуда...
Объём диска называется весом и измеряется в метрах...

---------------------------------------------------
Дрова для модема находятся на диске, а дрова для дисковода - в интернете...
Master-Skull вне форума
Старый 17.08.2007, 14:52   #14
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Гг, слева от восклицательного знака в посте, вроде, если это оно
пыщь
JTG вне форума
Старый 18.08.2007, 22:55   #15
Master-Skull
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 43
По умолчанию

Слух, вылажи свой FASM или библиотеку win32axp.inc. Тот, что я откопал на харде, еле фурычит. Попытался найти в Масме32 и Тасме, чтоб переделать - глушь
Комьютер не поддаётся законам физики:
Глюки появляются из неоткуда, файлы пропадают в никуда...
Объём диска называется весом и измеряется в метрах...

---------------------------------------------------
Дрова для модема находятся на диске, а дрова для дисковода - в интернете...
Master-Skull вне форума
Старый 19.08.2007, 12:53   #16
Master-Skull
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 43
По умолчанию

Блин, чё делать FASM 1.67 не видит инклуды! Всё в папке, а не один из win32* include не видит и говорит что их нет!?
Комьютер не поддаётся законам физики:
Глюки появляются из неоткуда, файлы пропадают в никуда...
Объём диска называется весом и измеряется в метрах...

---------------------------------------------------
Дрова для модема находятся на диске, а дрова для дисковода - в интернете...
Master-Skull вне форума
Старый 20.08.2007, 10:42   #17
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Дежа вю
В файле Fasmw.ini добавь

[Environment]
include=D:\low\fasmw167\include

путь естес-но подкорректировать под свой
пыщь
JTG вне форума
Старый 07.09.2007, 14:45   #18
Master-Skull
Пользователь
 
Регистрация: 10.08.2007
Сообщений: 43
По умолчанию

я не пользуюсь FASMW, поэтому пришлось поэксперементировать и помогло: я просто добавил переменную среды %include% с путём к папке инклудов. И свой AsmEditor написал который так и назвал "AsmEditor" =). Если кому нада, могу выложить.
Да, подскажите, как на дельфях направить вывод консольки на себя. При CreateProcess помимо всех остальных изменений установить флаг исользования STD хендлов и указать их, но вот чей хендл указывать? Если предположим выводить в мемо?
Можно конечно, перекомпилить чтоб FASM всё писал в файл, но природная лень...
Комьютер не поддаётся законам физики:
Глюки появляются из неоткуда, файлы пропадают в никуда...
Объём диска называется весом и измеряется в метрах...

---------------------------------------------------
Дрова для модема находятся на диске, а дрова для дисковода - в интернете...
Master-Skull вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как с поиощью hiew вставить в файл строчку, "раздвинуть" файл и вставить туда строчку? barand Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 28.06.2008 10:58
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
как вписать сферу в паскале Melok Помощь студентам 1 16.11.2007 21:56
как вывести строку поочередно сначала первая буква первой строки потом первая буква второй строки и т.д. vitalik007 Помощь студентам 1 25.09.2007 20:45
Как из Memo вывести строки в txt файл в конец там существующих Saili Компоненты Delphi 8 16.12.2006 11:23