· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Загводка

<< . 1 . 2 . 3 . >>

Посл.отвђт Сообщенiе


Дата: Сен 19, 2004 10:37:16

Странно...?
Это самая лучшая учебная система!
А вот теперь по серьезней решил кодить, плюс к тому можешь ли ты так просто повторить в фокус в аттаче в винде?

_1054942634__fokus.com


Дата: Сен 19, 2004 11:45:50 · Поправил: q_q

EvilsInterrupt
В чем фокус?
Какие проблемы с поxor'иванием и перемещением собственного кода в win-приложении?
cs:0100 83C606         add    si,0006
cs:0103 FFE6           jmp    si
cs:0105 B9
cs:0106 BE1401         mov    si,0114
cs:0109 AD             lodsw
cs:010A 91             xchg   cx,ax
cs:010B 56             push   si
cs:010C 803466         xor    byte ptr [si],66
cs:010F 46             inc    si
cs:0110 E2FA           loop   010C
cs:0112 FFE6           jmp    si

cs:0114 0001           dw     100h

; это код после поксоривания
cs:0116 B409           mov    ah,09
cs:0118 BA0C01         mov    dx,010C
cs:011B CD21           int    21
cs:011D 31C0           xor    ax,ax
cs:011F CD16           int    16
cs:0121 C3             ret

; этот адрес превратиться в 010Ch после работы кода CS:0216h
cs:0122                db     'Hello,IDA PRO! $'

cs:0216 E80000         call   0219
cs:0219 59             pop    cx
cs:021A 5E             pop    si
cs:021B 2BCE           sub    cx,si
cs:021D BF0001         mov    di,0100
cs:0220 57             push   di
cs:0221 F3A4           rep movsb
cs:0223 C3             ret


Дата: Сен 19, 2004 15:43:20

странно но я всегда считал что код в винде всегда выставлен по чтению!


Дата: Сен 19, 2004 20:28:44 · Поправил: Inked Wedge

EvilsInterrupt
Ничего, бывает... :) Существуют же win32 полиморфные вири...

Меня тоже всякие недоумки, решившие писать книжки о protected mode и windows запутывали во многом... до сих пор не могу до конца разобраться в сосуществовании pagination и segmentation :)

А насчет ДОСа в образовательных целях - эт ты правъ... забыл просто - давно это было :) я вообще асм начиал учить в досовском DEBUG'е...


Дата: Сен 19, 2004 21:01:39

Взял володину статью про упаковщики и начал колупать
мучавший меня вопрос:

для этого взял calc.exe(w2k sp4) через dumppe увидел,
что ImageBase - 01000000,
Address of Entry Point - 00012420.
По идее если сложить будет VA точки входа в прогу по-
лучилось 55 8b, если уж сам володя так же написал, зна-
чит велика вероятность, что я не ошибся.
У меня непонимание вот в чем, когда мы на асме написа-
ли код, то ассемблер сделал его объект,линковщик дол-
жен сделать нужные связи, если я правильно понял доки
то именно он проставит все va,rva,и AdressOfEntryPoint
в том числе.
1) мне интересен этот момент как он вычисляет
адресс точки входа в прогу?
2) Плюс в статье сказано, что
реальный адрес загрузки не всегда должен совпадать с
указаным ImageBase! в каких случаях, он может не совпа-
дать с этим ImageBase, и правильно ли я понял, что это
значение все равно учитывается при поправках? если да,
то как?


Дата: Сен 19, 2004 22:24:22

Если твой ImageBase ненравиться мастдаю, то он его изменит на другой.


Дата: Сен 20, 2004 15:16:31

_Chiganchkug_
по используй мой последний зип в этой теме можешь скажешь, имеет ли погрешности шифрования прога, по мимо того, что могут совпадаться 64битные блоки


Дата: Сен 22, 2004 22:17:27

Господа виндовщики и любители wasm`a!

изучая урок 3 из туториалов Iczelion`a у меня возник
вопрос что же на самом деле делает функция CreatyWindow?
Читаю доку там передать тип окна и получишь банан, а что
именно и как банан получается ни слова? Я предполагаю, что
в выделенной области памяти рисуется пиксель за пикселем,
одна строка, потом другая и так все окно. Т.е. это как при
распечатывании матричным принтером.

вопрос) Прав ли я?

Логично если это действительно так происходит иначе больше
смысла не вижу. :(
;---------------------------------------------------------
Далее второй вопрос. Когда в игру вступает работа видеокар-
ты? Насколько я полагаю - в ShowWindow.
;---------------------------------------------------------
Третий вопрос после того как мы отобразили окно, мы можем
подвести курсор к краям окна и появится что то вроде этого:
"<->" и этим символом мы можем изменить размер окна.

ГДе в коде место на это действие? Я не увидел. Вижу токо
UpDateWindow, но оно не в цикл сообщений, ни в процедуру
окна не входит. Где правда?

ЗЫ: это что бы несоздавать новый топик: Я пробую убрать один
вызов в проге, но мне бы хотелось чтобы с помощью какой нить
проги можно было проследить все вызовы апи, без указания их
параметров, токо сами в функции.
К примеру я захожу в прогу нажимаю лицензия, далее появляет-
ся меню для ввода пароля, как мне с этого места проследить
все вызовы?
Прошу не материть и не банить,т.к. винду токо начал изучать.
APISpy, не предлагать, что то она мне не понравилась ;)

+ посоветуйте пожалуйста на будущее, что сделать для автома-
тизации создания окна. Чтобы не писать здоровый код в каждой
проге, может уже есть у кого готовые и удобные макросы?


Дата: Сен 22, 2004 22:27:20 · Поправил: bogrus

Для тебя надо создать отдельный форум WASM.EVILS %)


Дата: Сен 22, 2004 22:31:46

Блин, хорош смеяться просто эта голова, в смысле моя, задолбала генерировать колоссальное количество вопросов. А вот как не пытался увличить скорость генерации ответов, попытки весьма плачевны! :)


Дата: Сен 22, 2004 23:09:19

EvilsInterrupt
> + посоветуйте пожалуйста на будущее, что сделать для автома-
тизации создания окна. Чтобы не писать здоровый код в каждой
проге, может уже есть у кого готовые и удобные макросы?


А нарисовать в ресурс-редакторе тебя не устроит? ;-)


Дата: Сен 23, 2004 17:26:21

EvilsInterrupt
„вопрос что же на самом деле делает функция CreatyWindow?
Читаю доку там передать тип окна и получишь банан, а что
именно и как банан получается ни слова?“

Эта дока написана для тех, кто знает что такое об'ектно-ориентированное программирование, что такое классы , об'екты, свойства (property) и методы(method).
Просто у об'екта окно есть куча методов, которые реализованы в системных DLL - например , реакция на мышу.
Поэтому выбирай : или читать долго-долго толстые книжки или программировать наощупь. Именно этим мне и не нравится эта технология :-)


Дата: Сен 24, 2004 09:45:16

Ответ получил на rusfaq.ru
В моей теме "прошу помочь найти выход"

товарищ bagrus показал импортирование без jmp`ов, но мне до сих пор не понятен механизм импортирования. в указанной теме есть ff 25 [адрес] если проследить по этому переходу,то попадаю в секцию .rdata на сколько понимаю секцию импорта. Но если посмотреть в отладчике, управление передается в верхний адрес, т.е. в dll а не в секцию импорта.
Как это происходит?
В статьях как в джунглях гуляю, среди хинтов и намеков каких то да и всякие image_discryptor_import ясности тоже не вносят


Дата: Сен 24, 2004 23:41:49

Гм... Насколько я понял (сам только второй день изучаю кодинг под WIN32) Там в стек пихаюцца парпметры, идет вызов в.... как ето вы называете... секцию импорта, а там просто стоит jmp куда - то в kernel32.dll...

Вся эта лабуда хорошо просматривается td32 (Borland rulezz forever!!!!!!) :)


Дата: Сен 24, 2004 23:43:17 · Поправил: Inked Wedge

Т.е. как мне кажется в "секции импорта" :) строковые названия заменяются на конкретные адреса...


Насчет объектно ориентированного программирования... эх, видно, что человек не юзал в прошлом тысячелетии Turbo Vision... Я так думаю, что графическое окно и процесс - абсолютно разные сущности, графика - сама по себе, просто при воздействии на нее тебе (т.е. процессу) посылаются "события" или "сообщения". Сие есть принцип разделения визуальных копонентов и обработки данных.

<< . 1 . 2 . 3 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.104