News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

DLL Export Name

Started by guga, April 11, 2020, 06:36:32 AM

Previous topic - Next topic

guga

Quote from: hutch-- on April 12, 2020, 07:14:38 PM
There is another alternative and that is to use ordinals instead of names. I rarely ever use it but it does work and it appears to be a Microsoft technique to make tracking the exports more obscure, mainly against hacking.

Hi Steve and Jochen.

Yes, ordinal numbers are a alternative. RosAsm allows them to be used too. The problem is that, i would like to make things a bit simpler, like a check for forbidden chars when the user writes a call to a api function.

For what i read on the comments (nidud,Aw etc) there are some invalid chars that can be used for such a thing, but the compilation speed maybe a bit affected. So, perhaps, i´ll be forced to end simply allowing the user to write whatever he wants as it is already. So, when the user types a invalid api function the proper message will show up. (Since the verification of that api is done by loadlibrary etc, rosasm uses it´s return value to show the proper message).

I´m thinking in what could be better to do (If i use some of the forbidden chars or not). I just faced another problem regarding the LoadLibrary api concerning a deadlock i found in one dll from ffmpeg. I opened another thread for that specific problem. I´m quite sure it is a windows10 bug in LoadLibraryExW function, but, i posted there to try to find a workaround for that.
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

hutch--

Guga,

Just do a lookup table with the allowable characters and reject the rest. Table below is numbers, upper and lower case characters for a US character set.

  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0
  db 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  db 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0
  db 0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
  db 1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
  db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

guga

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com