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

 eXeL@B —› Вопросы новичков —› windows7+LoadLibrary
Посл.ответ Сообщение

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

Создано: 16 ноября 2009 17:55
· Личное сообщение · #1

Когда в данной оси пробую загрузить допустим user32.dll or shell32.dll, то она отписывает в оле следующее: error_access_denied. В какую сторону смотреть хоть ?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 16 ноября 2009 18:09
· Личное сообщение · #2

Скорее всего в сторону кривых рук. Весьма сомнительно, что винда неожиданно запретила грузить даже основные либы. Пример в студию.



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

Создано: 16 ноября 2009 18:42 · Поправил: n1kt0
· Личное сообщение · #3

Archer, вот даже на таком простейшем останавливается.
format PE GUI 4.0
use32
include '%fasminc%\win32ax.inc'
include '%fasminc_new%\winnt.inc'
mov eax,eax
invoke LoadLibrary,shell
invoke ExitProcess,NULL



;==================================IDATA============================== ===================
section '.idata' import data readable writable
library kernel32,'kernel32.dll'
import kernel32, ExitProcess,'ExitProcess',\
LoadLibrary,'LoadLibraryA'

shell db 'user32.dll',0


Address Thread Command ; Registers and comments
Flushing gathered information
<ModuleEntryPoint>MOV EAX,EAX
00401002 Main PUSH 0040206C ; FileName = "user32.dll"
00401007 Main CALL DWORD PTR DS:[<&kernel32.LoadLibraryA>]; EBX=00000000, EBP=0006FCBC, ESI=7FFDF000, EDI=0006FD50
KiFastSystemCallR>RETN ; EAX=77D18F19, ECX=77C20000, EDX=FFE30000, EBP=0006F91C, EDI=0006F9B0
KiFastSystemCallR>RETN ; EAX=77D17A32, ECX=77690000, EBP=0006F57C, EDI=0006F610
KiFastSystemCallR>RETN ; EAX=77D23EF0, ECX=77E70000, EBP=0006F1DC, EDI=0006F270
KiFastSystemCallR>RETN ; EAX=77EDA16D, ECX=00000030, EDX=0005A1D6, EBP=0006EE3C, EDI=0006EED0
KiFastSystemCallR>RETN ; EAX=00005A4D, ECX=0006ED01, EDX=00000000, EBP=0006F210, EDI=0006F2A4
KiFastSystemCallR>RETN ; EAX=77C2EEE1, ECX=76380000, EDX=FFF10000, EBP=0006EE70, EDI=0006EF04
KiFastSystemCallR>RETN ; EAX=77C20000, ECX=77D4316F, EDX=00110174, EBX=7FFDD000, EBP=0006FF94, ESI=00000000, EDI=00000000
0040100D Main PUSH 0 ; ExitCode = 0
0040100F Main CALL DWORD PTR DS:[<&kernel32.ExitProcess>];





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

Создано: 16 ноября 2009 20:12
· Личное сообщение · #4

или я в чем-то неправ ?




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

Создано: 16 ноября 2009 21:12 · Поправил: mak
· Личное сообщение · #5

А что у тебя в еах ?

Return Values

If the function succeeds, the return value is a handle to the module.
If the function fails, the return value is NULL. To get extended error information, call GetLastError.

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




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

Создано: 16 ноября 2009 23:48 · Поправил: um0v
· Личное сообщение · #6

GetLastError возвращает последнюю ошибку, возникшую в потоке. Если этот поток вызывает другую функцию Windows и все проходит успешно, код последней ошибки не перезаписывается
Ошибка происходит выше.

...
mov eax,eax ;<----- а EAX поди равен 0
invoke LoadLibrary,shell
invoke ExitProcess,NULL
...

Add.
заглючило, вместо mov eax,eax привиделось mov eax,[eax]




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 17 ноября 2009 10:09
· Личное сообщение · #7

eax до исполнения функции вообще не имеет значения.
Капитан очевидность говорит, что если функция вернула значение без ошибки, то и нечего вообще лезть в код ошибки, он волновать тебя не должен.




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

Создано: 17 ноября 2009 17:21
· Личное сообщение · #8

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

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



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


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