PDA

View Full Version : Opcode Table IDA Script



trevius
12-29-2008, 02:45 AM
Again, I know my work isn't exactly SEQ related, but if anyone knows how to run the IDA script for creating the opcodetable.h file, I would appreciate any info on it. I am able to run the script fine, but in another post, ieatacid mentioned that you have to put the cursor at the beginning of the opcode table in the assembly code. I don't know where the opcode table is. If someone could point that out to me, it would be helpful. If it works like I think it does, at least I can verify if I am finding the correct opcodes I need or not. I am still working on getting eqemulator working with SoF but I am stuck at a point that has had me stumped for days.

I see in the script that it says:
// place cursor at the start of the OpcodeTable then load the script
// i.e. this line VV
// .rdata:00713030 FF ObfuscatorTable db 0FFh ; DATA XREF: CObfuscator__CObfuscator+D

But, I don't see ObfuscatorTable in my IDA output at all. Maybe I am not running the exe through IDA properly to get everything needed?

In case anyone is interested, here is what I have done so far:
http://www.eqemulator.net/forums/showthread.php?p=162077#post162077

I am looking for anything I can find to get this working. So every little bit of info is useful. I am determined to get it going for the emu project and won't be giving up without a fight.

Also, in one of the threads, ieatacid mentioned that he found the spawn struct completely out of the IDA assembly code. If any info on how to pull structs from the code could be provided, that would probably help me a HUGE amount. Unless maybe I am misunderstanding what he meant in this quote:


This should be 100% right. It was too hard and time consuming using packet logs so I dug them out of the exe.

I thank any help you guys can give and I apologize for asking for help on things that aren't directly related to SEQ. But, anything else I find, I will be more than happy to share here. That includes all unknown fields in structs that may or may not be useful for SEQ.

ieatacid
12-29-2008, 05:33 AM
I don't see ObfuscatorTable in my IDA output at all. Maybe I am not running the exe through IDA properly to get everything needed?


I named it that in my idb. In an un-named idb it would be labeled "unk_xxxxxx" where the xs are some numbers. You can name it whatever you'd like.

For the 20070907 exe it's located at 0x713030. Have fun.

trevius
12-29-2008, 05:33 PM
Thanks much for the info! I really do appreciate it. I will try it as soon as I get home tonight.

If you get a chance, could you please briefly explain what you meant by pulling the spawn struct out of the .exe? I am assuming you mean directly from the IDA output, but I just can't seem to find anything that would be useful for figuring out how packet structures should be.

Here is the post where you mentioned that, so you will know what I am referring to:

http://www.showeq.net/forums/showpost.php?p=42344&postcount=21

And, I already asked this in another thread, but if you have any SEQ logs that includes the order that opcodes are coming in, I could really use it. I specifically need the logs from when entering the world from character select or when zoning (both should have what I need). Preferably, I need logs from Sep-7-2007, but anything up to 2008 should be useful I think. My only other option is to see if I can get a live account going and getting SEQ running with it and see if the order the opcodes are sent is close enough to when SoF was released to work for the emulator code. If that doesn't work, I will probably have to start offering money for logs to give people an incentive lol. Yes, I am getting that desperate :P

I wouldn't be asking for any of this if I didn't have to, but I have already put dozens of hours into this so far and would like to make more progress. Normally, I like to do as much as possible on my own and I hate asking for favors or help. Maybe there is something I can do for SEQ to repay any help I get here. I see MySEQ has had alot of recent updates but that SEQ hasn't been updated in a while. Is normal SEQ still working with EQLive? If not, I may have to fix it to get the info I am needing lol.

Thanks again :)

BlueAdept
12-29-2008, 08:24 PM
SEQ is working. It hasnt really needed an update in a while (keeping fingers crossed).

I'm sorry but I wouldn't have that info anymore even if I did log it from back then. I would help if I could but then again, I never really was good at figuring out anything in the stream anyway.

trevius
12-29-2008, 10:16 PM
Thanks for letting me know SEQ is working. I guess I will try running EQLive with SEQ and see if it helps me figure anything out. I can get most of the needed opcodes from the IDA output, so I am mostly just looking for structures I see little to no changes in the SEQ structures from the time SoF was released up to current, so I am hoping they haven't changed much if at all. If not, it should be enough for me to at least get some info from.

I totally understand you guys not having those old logs. I didn't really expect anyone to have exactly what I needed, but I figured it was worth a shot. I am just glad you guys aren't getting mad that I am asking :P Some forums can definitely flame people who ask for help, especially when it isn't directly related to what the forums are for. I know if someone from the SEQ dev team came to the EQEmu forums looking for help, I would try to at least be curtious to them even if I couldn't directly help them. I am glad you guys are doing the same for me :)