Some time back I had investigated a concept for a tool to aid in discovering behavioral differences between Wine and Windows. I have most of the technological issues figured out -- it would be a bit of an undertaking, but can be developed iteratively so that it could begin to pay for its self fairly soon. However, I need advise on rather or not it would create tort.
Put simply, it would be a layer built into Wine that records win32/64 API calls and their results and another layer on Windows that does the same. The two results can then be analyzed to discover behavioral differences. Of course, this is a heavily over-simplified explanation as there are many gory details of how to make this work, perform acceptably, produce useful information, remove noise, etc., but could this produce a legal problem? I would hope to be able to use such a tool on a typical piece of commercial software with a typical EULA. To me, it doesn't seem differ much from what antivirus software does.
Thanks, Daniel
When I asked about something similar, whether it was okay to stopwatch how long it takes the Windows default windowproc to process a certain message, in order to determine whether that message got handled at all, I got some dubious looks, so I didn't pursue that path. It's probably an ambiguous point, are we violating the "reverse engineering" clauses if we notice how long a Windows API takes? Is 4'33 of silence, anywhere, a violation of John Cage's copyright? On such abstruse legal decisions pettifogging legal beagles gold-plate their yachts.
( In the 1940's, Northwest Airlines, on Dec 31'st each year, they would fly every plane to a small airport in North Dakota, where their auditor would photograph their presence, to document that all their planes were "domiciled" in North Dakota, thereby they only had to pay ND taxes on them. That case went all the way to the Supreme Court. One judge's opinion was that since they had ruled in 1881 and 1933 that railroad cars had to be taxed in their state of longest residence, planes should be likewise taxed. ) FYI: Excerpts: [https://supreme.justia.com/cases/federal/us/322/292/case.html]
but, bottom line, I have no idea.
On 01/26/2018 04:47 PM, Daniel Santos wrote:
Some time back I had investigated a concept for a tool to aid in discovering behavioral differences between Wine and Windows. I have most of the technological issues figured out -- it would be a bit of an undertaking, but can be developed iteratively so that it could begin to pay for its self fairly soon. However, I need advise on rather or not it would create tort.
Put simply, it would be a layer built into Wine that records win32/64 API calls and their results and another layer on Windows that does the same. The two results can then be analyzed to discover behavioral differences. Of course, this is a heavily over-simplified explanation as there are many gory details of how to make this work, perform acceptably, produce useful information, remove noise, etc., but could this produce a legal problem? I would hope to be able to use such a tool on a typical piece of commercial software with a typical EULA. To me, it doesn't seem differ much from what antivirus software does.
Thanks, Daniel
Hi Daniel,
My sense is that this would be legally still OK, even though it gets very close into that "not sure" grey area. Conceptually how is this tool different from e.g. http://www.rohitab.com/apimonitor or Wine +relay logs? It seems that making API monitor work on Wine (if it doesn't already) and comparing its output would get you the same things.
It does become a problem if you observe that winfoo.dll calls winbar.dll and replicate this behaviour on Wine. That's essentially the same as observing a native Windows library in Wine with Wine's logging tools.
I don't think comparing application runs on a large scale will be useful though. It may be useful to answer well-defined questions like "This game is passing incorrect parameters to IDirect3DVertexBuffer9::Lock. Does it to the same on Windows, or are we giving the game bad input?". Applications respond to differences in the environment (language, windows version, GPU, available hardware), so a behavioural difference is often not a problem.
Stefan
Am 2018-01-26 um 23:47 schrieb Daniel Santos:
Some time back I had investigated a concept for a tool to aid in discovering behavioral differences between Wine and Windows. I have most of the technological issues figured out -- it would be a bit of an undertaking, but can be developed iteratively so that it could begin to pay for its self fairly soon. However, I need advise on rather or not it would create tort.
Put simply, it would be a layer built into Wine that records win32/64 API calls and their results and another layer on Windows that does the same. The two results can then be analyzed to discover behavioral differences. Of course, this is a heavily over-simplified explanation as there are many gory details of how to make this work, perform acceptably, produce useful information, remove noise, etc., but could this produce a legal problem? I would hope to be able to use such a tool on a typical piece of commercial software with a typical EULA. To me, it doesn't seem differ much from what antivirus software does.
Thanks, Daniel