| Посл.ответ | 
Сообщение | 
 Ранг: 14.5 (новичок) Активность: 0.01↘0 Статус: Участник 
 
 | 
Создано: 19 июля 2007 15:00   · Личное сообщение ·  #1 
Наро как вызывать API ыункции не используя нормальній вызов, я имею ввиду Call или invoke
 я вот чтото написал! вроде как базу Kernel32 нахожу, смещение известно заранее, пробую нечего неполучаеться видимо стото гдето неучел! посмотрите примерчик может ошибку заметите))))   37ff_19.07.2007_CRACKLAB.rU.tgz - test.asm
   | Сообщение посчитали полезным:  | 
 | 
  Ранг: 120.9 (ветеран), 5thx Активность: 0.08↘0 Статус: Участник Programmer and reverser 
 
 | 
Создано: 19 июля 2007 16:50   · Личное сообщение ·  #2 
Честно говоря там вообще херня написана   
----- Уважайте других и пишите грамотно.  | Сообщение посчитали полезным:  | 
  Ранг: 120.9 (ветеран), 5thx Активность: 0.08↘0 Статус: Участник 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.01↘0 Статус: Участник 
 
 | 
Создано: 20 июля 2007 10:41   · Личное сообщение ·  #4 
спасибо! походу у меня RVA неправильные! ладно! будем работать и учиться! А вот личный вопрос! все те кто кодит на АСМЕ имеют аватары маленьких пушистых безобидных зверьков(ну может и не зверьков а просто добрых созданий)?? просто ты второй кого я тут вижу и кто более менее разбираеться с похожим аватаром! а вот как раз те кто нечего незнает и нечего не понимает ставят себе какихто злождеев и монстров???))) ето так??? я правильно заметил???
   | Сообщение посчитали полезным:  | 
  Ранг: 107.6 (ветеран) Активность: 0.11↘0 Статус: Участник 
 
 | 
Создано: 20 июля 2007 11:53   · Личное сообщение ·  #5 
[OFFTOP]
 super_man86 пишет:
 а вот как раз те кто нечего незнает и нечего не понимает ставят себе какихто злождеев и монстров???))) ето так??? я правильно заметил??? 
Хм... ты тоже от скромности не умрешь.
 [/OFFTOP]
 ----- программистом не рождаются - им умирают  | Сообщение посчитали полезным:  | 
  Ранг: 113.0 (ветеран) Активность: 0.05↘0 Статус: Участник 
 
 | 
Создано: 20 июля 2007 13:33   · Личное сообщение ·  #6 
Есть еще вроде метод сканирования памяти с использованием crc (wasm.ru, испанец писал) с обкладками SEH'ом.
 > все те кто кодит на АСМЕ имеют аватары маленьких пушистых безобидных зверьков
 Ага, я например.
 ----- The one derivative you manage is the one I abhore (c) Slipknot  | Сообщение посчитали полезным:  | 
 Ранг: 162.2 (ветеран) Активность: 0.09↘0 Статус: Участник 
 
 | 
Создано: 20 июля 2007 13:52   · Личное сообщение ·  #7 
Chingachguk
Тебя просто довели  
  | Сообщение посчитали полезным:   | 
  Ранг: 120.9 (ветеран), 5thx Активность: 0.08↘0 Статус: Участник Programmer and reverser 
 
 | 
Создано: 20 июля 2007 15:48   · Личное сообщение ·  #8 
super_man86
У тебя там не только RVA неправильные. Там вообще фигня написана. Только база kernel32 правильно получается, видимо, из какого-то примера звято. А вызов ты, видать, сам писал    Не хочу обидеть) Учи асм.
 ----- Уважайте других и пишите грамотно.  | Сообщение посчитали полезным:   |