Сейчас на форуме: vsv1, _MBK_ (+4 невидимых)

 eXeL@B —› Вопросы новичков —› Работа с API используя их смещение
Посл.ответ Сообщение

Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 19 июля 2007 15:00
· Личное сообщение · #1

Наро как вызывать API ыункции не используя нормальній вызов, я имею ввиду Call или invoke
я вот чтото написал! вроде как базу Kernel32 нахожу, смещение известно заранее, пробую нечего неполучаеться видимо стото гдето неучел! посмотрите примерчик может ошибку заметите))))

37ff_19.07.2007_CRACKLAB.rU.tgz - test.asm




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 19 июля 2007 16:50
· Личное сообщение · #2

Честно говоря там вообще херня написана

-----
Уважайте других и пишите грамотно.





Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 19 июля 2007 17:17 · Поправил: Executioner
· Личное сообщение · #3

должно быть приблизительно это (тут прописаны мои RVA функций):
.486
.model flat,stdcall
option casemap:none

.code
main:
assume fs:flat
mov eax, fs:[30h]
push esi
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov eax, [eax+08h]
pop esi
mov edx, eax ; в EDX база kernel32
mov ebx, 0B529h ; в EBX RVA функции GetModuleHandleA
add ebx, edx ; добавляем к смещению базу
push 0 ; ModuleName = null
push offset Return ; пихаем в стек адрес возврата
jmp ebx ; прыжок на GetModuleHandleA
Return:

mov ebx, 1CAA2h ; RVA ExitProcess
add ebx, edx ; добавляем к смещению базу
push 0 ; ExitCode = 0
push offset Return1 ; пихаем в стек адрес возврата
jmp ebx ; прыжок на ExitProcess
Return1:
end main


-----
Уважайте других и пишите грамотно.




Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 20 июля 2007 10:41
· Личное сообщение · #4

спасибо! походу у меня RVA неправильные! ладно! будем работать и учиться! А вот личный вопрос! все те кто кодит на АСМЕ имеют аватары маленьких пушистых безобидных зверьков(ну может и не зверьков а просто добрых созданий)?? просто ты второй кого я тут вижу и кто более менее разбираеться с похожим аватаром! а вот как раз те кто нечего незнает и нечего не понимает ставят себе какихто злождеев и монстров???))) ето так??? я правильно заметил???




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

Создано: 20 июля 2007 11:53
· Личное сообщение · #5

[OFFTOP]
super_man86 пишет:
а вот как раз те кто нечего незнает и нечего не понимает ставят себе какихто злождеев и монстров???))) ето так??? я правильно заметил???

Хм... ты тоже от скромности не умрешь.
[/OFFTOP]

-----
программистом не рождаются - им умирают





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

Создано: 20 июля 2007 13:33
· Личное сообщение · #6

Есть еще вроде метод сканирования памяти с использованием crc (wasm.ru, испанец писал) с обкладками SEH'ом.

> все те кто кодит на АСМЕ имеют аватары маленьких пушистых безобидных зверьков

Ага, я например.

-----
The one derivative you manage is the one I abhore (c) Slipknot




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

Создано: 20 июля 2007 13:52
· Личное сообщение · #7

Chingachguk
Тебя просто довели




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 20 июля 2007 15:48
· Личное сообщение · #8

super_man86
У тебя там не только RVA неправильные. Там вообще фигня написана. Только база kernel32 правильно получается, видимо, из какого-то примера звято. А вызов ты, видать, сам писал Не хочу обидеть) Учи асм.

-----
Уважайте других и пишите грамотно.



 eXeL@B —› Вопросы новичков —› Работа с API используя их смещение
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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