I was recently attempting to isolate the cause of a hang in Lord of the Rings Online and had it in a debugger. I mentioned this on IRC and was told that I was "reverse engineering" and any patch I came up with would not be accepted. I find this rather confusing and would like to better understand the "dos and don'ts" of wine development. Is this documented anywhere?
If it matters any, the license agreement says that you may not reverse engineering it including "decompiling or disassembling" but it does not specifically mention using a debugger (although viewing disassembly from the debugger would obviously be covered). My aim was only to attempt to determine which thread(s) were hanging so I could isolate my logging to those thread(s) and try to figure out what was going wrong.
Thanks, Daniel
I thought reverse engineering was only relevant to MS code? As in reverse engineering of windows dlls and so on; another application would be irrelevant.
That's what I understood from it anyway.
J.
On Wed, May 13, 2009 at 10:20 PM, Daniel Santos javatroubadour@yahoo.com wrote:
I was recently attempting to isolate the cause of a hang in Lord of the Rings Online and had it in a debugger. I mentioned this on IRC and was told that I was "reverse engineering" and any patch I came up with would not be accepted. I find this rather confusing and would like to better understand the "dos and don'ts" of wine development. Is this documented anywhere?
If it matters any, the license agreement says that you may not reverse engineering it including "decompiling or disassembling" but it does not specifically mention using a debugger (although viewing disassembly from the debugger would obviously be covered). My aim was only to attempt to determine which thread(s) were hanging so I could isolate my logging to those thread(s) and try to figure out what was going wrong.
Thanks, Daniel
On Wed, May 13, 2009 at 10:02 PM, Jerome Leclanche adys.wh@gmail.com wrote:
I thought reverse engineering was only relevant to MS code? As in reverse engineering of windows dlls and so on; another application would be irrelevant.
That's what I understood from it anyway.
First of all I'm not a lawyer ;)
Correct you should avoid looking at windows code. Regarding Microsoft code we only allow black box reverse engineering, so you feed the dll with some input and check the outcome without looking what happens inside (so without checking debug logs of MS dlls). Looking at Microsoft debug traces should be avoided as it is similar to disassembling a program IF it is for the purpose of figuring out what the black box is doing.
Looking at debug traces of programs is fine and as I said it is similar to looking at the output of a disassembler. Sure it can happen that you are looking at calls made by Microsoft code since some Microsoft dlls are being used but you are not aware of that and you are not trying to reverse engineer the particular Microsoft dll, so that would also be fine (though it is a gray area).
Roderick
2009/5/13 Daniel Santos javatroubadour@yahoo.com
I was recently attempting to isolate the cause of a hang in Lord of the Rings Online and had it in a debugger. I mentioned this on IRC and was told that I was "reverse engineering" and any patch I came up with would not be accepted. I find this rather confusing and would like to better understand the "dos and don'ts" of wine development. Is this documented anywhere?
If it matters any, the license agreement says that you may not reverse engineering it including "decompiling or disassembling" but it does not specifically mention using a debugger (although viewing disassembly from the debugger would obviously be covered). My aim was only to attempt to determine which thread(s) were hanging so I could isolate my logging to those thread(s) and try to figure out what was going wrong.
Thanks, Daniel
if you are using the debugger in wine that is no problem, and i suppose you are since you are saying you were testing a hang. using the debugger on windows may be a problem (for the assembly as you say).