Сейчас на форуме: 2nd, morgot, Rio, CDK123, zds, tyns777, tihiy_grom (+5 невидимых)

 eXeL@B —› Программирование —› macro import/export
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 20 сентября 2008 14:03
· Личное сообщение · #1

Хочу сделать динамическое добавление строчек в секцию дата или в код , это 2 таблицы , одна с крк и вторая с адресами апи функций. Смысл в том что в проге используется слишком много апи и менять их нужно быстро , тоесть это придется перестраивать таблицы вручную. Удалять и добавлять нужное. Как можно макросом заменить эти действия когда код сам по себе вызывается колом в данные в дате.

Я думал так например

.code
Callx MessageboxAx

А макрос будет такой
Call macro
тут действия для инициализации двух структур типа в зависимости от данных в параметре

MessageboxAx dd 0

и MessageboxAxCRC dd 0

хотелось бы разделить по библиотекам еще , например MessageboxAx пойдет в структуру ЮСЕР32
а MessageboxAxCRC dd 0 пойдет в структуру Юсер32КРК.

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

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 20 сентября 2008 14:22 · Поправил: mak
· Личное сообщение · #2

Что то вроде такого , это быстрый набросок поэтому явно не рабочий но идея чтоб видна была

Code:
  1. macro    MessageVector        message1, message2:REST
  2.          IFNB    <user32>
  3. user32CrcApi struct
  4. MessageVectorCrcApi        dd 0
  5. dd 000000000h
  6. user32CrcApi ends
  7. user32Api Struct
  8.                       MessageVectorApiStruct dd 0
  9. user32Api ends
  10.          ENDIF
  11. endm     MessageVector


-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 20 сентября 2008 22:42
· Личное сообщение · #3

скачай ezines'ы у A29, там есть




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 21 сентября 2008 00:37
· Личное сообщение · #4

Av0id Спсб , в каком езайне не помнишь ? за какой год ?

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 21 сентября 2008 12:47
· Личное сообщение · #5

там по-моему в каждом по три штуки




Ранг: 118.1 (ветеран)
Активность: 0.140
Статус: Участник

Создано: 21 сентября 2008 12:50
· Личное сообщение · #6

mak Можешь проще объяснить? У мну много VX журналов, может что подскажу

-----
PSP-Gamer.ru




Ранг: 135.2 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 21 сентября 2008 13:52
· Личное сообщение · #7

товарищи, подскажите, хде эти езины скачать, ато 29a.host.sk пишет 404




Ранг: 355.4 (мудрец), 55thx
Активность: 0.320
Статус: Uploader
5KRT

Создано: 21 сентября 2008 13:55 · Поправил: coderess
· Личное сообщение · #8

Смысл в том что в проге используется слишком много апи

Так если получать динамически сначал адрес кернела, потом вычесление адресов API функций, как в вирусе (или я не правильно понимаю о чем речь?)

alexey_k
vx.netlux.org/29a/

-----
Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 21 сентября 2008 14:21
· Личное сообщение · #9

Av0id 2а последних просмотрел ничего полезного не нашел

coderess Loco

Есть АПИ в проге. Они ищутся динамически все. Этот модуль легко переносимый. Но для кажого АПИ нужно создавать дворд КРК и двод для Самого найденного адреса. Таким образом заполняются разные библиотеки кернел и юсер32 и так далее. Смысл Макроса упростить рутинную работу по созданию Таких крк и адресных структур. Ибо если я хзахочу что то менять мне предется много удалять лишних двордов с таблиц. Или наоборот добавлять очень много. Поэтому этот макрос заменит вызов каждой апи и во время генерации будет генерировать добавление двордов в нужную таблицу под ее названием юсер или кернел.

Как доступнее обьяснить не знаю .. проще уже некуда для тех кто пишет на асм. Пример выше дурацкий но всетаки типо того.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 118.1 (ветеран)
Активность: 0.140
Статус: Участник

Создано: 21 сентября 2008 17:54 · Поправил: Loco
· Личное сообщение · #10

Av0id Переводил я некоторые номера 29а, что-то не помню там подобного.

Av0id пишет:
скачай ezines'ы у A29, там есть
Вообще-то 29а...

mak Спроси на васме

-----
PSP-Gamer.ru




Ранг: 50.2 (постоянный)
Активность: 0.010
Статус: Участник

Создано: 23 сентября 2008 16:18
· Личное сообщение · #11

mak
взять зомбовский k32man и немного переработать под себя, слабо?
для с++ можно сделать std::map< lib_t, std::map< crc32, api > > -- доставляет




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 сентября 2008 19:28
· Личное сообщение · #12

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

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 46.9 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 24 сентября 2008 16:04
· Личное сообщение · #13

29a.net они вечно тут теперь.




Ранг: 118.1 (ветеран)
Активность: 0.140
Статус: Участник

Создано: 24 сентября 2008 16:17
· Личное сообщение · #14

vx.netlux.org/29a/ - вот, страница 29а, а та не робит

-----
PSP-Gamer.ru



 eXeL@B —› Программирование —› macro import/export
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати