Jump to content

Idenitfying A BA2 Loader Plugin


Recommended Posts

 

An empty BA2 loader plugin is an ESP/ESL which only serves to load BA2s and does nothing else much. Some have master(s) set and some have some description, nothing else.

 

For example, the following is a simple loader plugin content:

TES4*               ƒ   HEDR   €?       CNAM DEFAULT INTV   

I get what you're trying to do. DieFeM's idea about record counts isn't bad, but it's not complete. Is there a consistency with respect to the file sizes for these blank loaders? If they have the same file size, then that may be your solution. You could simply treat any ESP/ESL as empty if its file size fits into the range that empty files occupy.

Link to comment
Share on other sites

 

 

An empty BA2 loader plugin is an ESP/ESL which only serves to load BA2s and does nothing else much. Some have master(s) set and some have some description, nothing else.

 

For example, the following is a simple loader plugin content:

TES4*               ƒ   HEDR   €?       CNAM DEFAULT INTV   

I get what you're trying to do. DieFeM's idea about record counts isn't bad, but it's not complete. Is there a consistency with respect to the file sizes for these blank loaders? If they have the same file size, then that may be your solution. You could simply treat any ESP/ESL as empty if its file size fits into the range that empty files occupy.

 

 

They have "similar" size but it varies depending on what the author has included in the plugin. For example, description and number of masters can make the size vary wildly. Example:

TES4K               ƒ   HEDR   €?    ™  CNAM DEFAULT MAST
 Fallout4.esm DATA         INTV    

That's why I may be able to get a general clamp on them but this will have a tendency for false positives as well. I can compromise on coverage but not false positives.

 

So I studied plugin structure and found that it has these keys for groups of data, like HEDR CNAM MAST INTV etc. Through these I can know whether there is description, masters etc.

 

Thus with certain constraints on number and existence of certain keys I can get a more complete solution. Like I can ignore MAST HEDR keys, limit CNAM and INTV to 1 while check non-existence of all other keys,

 

My question was whether this approach can be used to achieve this or whether the complexity is too risky?

Edited by fpga123
Link to comment
Share on other sites

I have completed a limited soluton for this problem using both size and tag constraints. I opted for a tighter scheme with tendency to not detect large ba2 loader plugins but at least it has near zero risk of false positives.Constraints:

  1. Plugin size less than 500 bytes
  2. No keys other than CNAM, DATA, INTV, MAST, HEDR
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...