Why doesn't FASM want to create fixups for this DLL:
------------------------------
format pe gui dll
entry DLLEntry
DLLEntry:
mov eax,1
ret 12
Proc:
mov ebx,
mov edx,
...
ret 8
data export
dd 0,0,0,rva DLLName,1
dd 1,1,rva Adresses,rva Names,rva Ordinals
Adresses:
dd rva Proc
Names:
dd rva _Proc
Ordinals:
dw 0
DLLName db 'zzz.dll',0
_Proc db 'Proc',0
end data
data fixups
end data
------------------------------
:confused:
PEBrowse shows that there is space for relocations in DLL, but it is empty.
------------------------------
format pe gui dll
entry DLLEntry
DLLEntry:
mov eax,1
ret 12
Proc:
mov ebx,
mov edx,
...
ret 8
data export
dd 0,0,0,rva DLLName,1
dd 1,1,rva Adresses,rva Names,rva Ordinals
Adresses:
dd rva Proc
Names:
dd rva _Proc
Ordinals:
dw 0
DLLName db 'zzz.dll',0
_Proc db 'Proc',0
end data
data fixups
end data
------------------------------
:confused:
PEBrowse shows that there is space for relocations in DLL, but it is empty.
Currently there is nothing in your code that would need to be relocated. If you - for example - put there instruction like "mov ebx,DllEntry", it would create a fixup.
And is there any code to be relocated in the attached file?
When I try to import DDBin2ASCII proc the system says that the DLL is not valid because it can't be loaded at needed address and is not movable to another one. :(
What should I do?
When I try to import DDBin2ASCII proc the system says that the DLL is not valid because it can't be loaded at needed address and is not movable to another one. :(
What should I do?
Well, it's seems like a Windows stupidity, but you have to add at least one instruction that needs fixup, otherwise Windows will think that your code is not moveable, because it has no fixups (which is not true, just your code is moveable even without fixups).
You can also change the default loading address with the at operator in the "format PE" line.
You can also change the default loading address with the at operator in the "format PE" line.
Excuse me, Privalov, but I am nearly new to both assembly and PE format, and I don't know which instructions need fixups.
:stupid:
You wrote that another way of getting out of my situation is to change the default loading address. Can I write fixups manually instead of it? If yes, drop me some links where I can find how to do it, pleeease :grin: .
:stupid:
You wrote that another way of getting out of my situation is to change the default loading address. Can I write fixups manually instead of it? If yes, drop me some links where I can find how to do it, pleeease :grin: .
Thanks, Privalov!
Everything works fine with another default loading address :alright: .
Everything works fine with another default loading address :alright: .