I think coming together and discussing techniques and obstacles could help give life to otherwise abandoned modules.

Moderator: Mod Squad
Code: Select all
[DISASSEMBLY]
9AFFFF0000 -- call MAJORBBS.Ord{01CFh}
[DEFINITION]
_OUTPRF @463
[EXPLANATION]
This is a call to OUTPRF (defined in MAJORBBS.DEF, function in MBBST.LIB) which displays text loaded using PRFMSG.
This function is usually preceded by USRNUM (MAJORBBS.Ord{0274h}), which retrieves the current user channel number.
void outprf(int chan);
[EXAMPLE]
6A04 push 0004 <--- Pushes value 4 to the stack (would be MCV value #4 defined in that modules .H)
9AFFFF0000 call MAJORBBS.Ord{01DCh} <-- Loads that value to the buffer
59 pop cx
B8FFFF mov ax, SEGMENT ADDR of MAJORBBS.Ord{0274h} <-- Retrieve the current user channel
8EC0 mov es, ax
26FF360000 push word ptr es:[0000]
9AFFFF0000 call MAJORBBS.Ord{01CFh} <--- Displays the buffered value to the user channel
59 pop cx
/bumpWndrBr3d wrote:Well, seems there's not that many.
I'm working on documenting MajorBBS/WG disassemblies and identifying external subroutines. So far, it's looking like this:
I'm thinking within the next month I may write a HOWTO on cracking MBBS modules that are abandonware/long forgotten.Code: Select all
[DISASSEMBLY] 9AFFFF0000 -- call MAJORBBS.Ord{01CFh} [DEFINITION] _OUTPRF @463 [EXPLANATION] This is a call to OUTPRF (defined in MAJORBBS.DEF, function in MBBST.LIB) which displays text loaded using PRFMSG. This function is usually preceded by USRNUM (MAJORBBS.Ord{0274h}), which retrieves the current user channel number. void outprf(int chan); [EXAMPLE] 6A04 push 0004 <--- Pushes value 4 to the stack (would be MCV value #4 defined in that modules .H) 9AFFFF0000 call MAJORBBS.Ord{01DCh} <-- Loads that value to the buffer 59 pop cx B8FFFF mov ax, SEGMENT ADDR of MAJORBBS.Ord{0274h} <-- Retrieve the current user channel 8EC0 mov es, ax 26FF360000 push word ptr es:[0000] 9AFFFF0000 call MAJORBBS.Ord{01CFh} <--- Displays the buffered value to the user channel 59 pop cx
Thoughts?
Although I never released it, I think there's still value in it. There are archives of literally hundreds of MBBS/WG modules, and I'd say less than 10% of them can be still registered today (if that). I think the effort it has taken to even contact the rights holders from defunct ISV's by this project only speaks to why this would be of great value to the community.dspain wrote: /bump
just to offer a little bit of input here, i think a howto crack mbbs modules would be very dangerous to the future of this platform.
then anyone could crack even something released next week.
I would ask the owner of mbbs and wg first.WndrBr3d wrote:I guess I just don't buy the argument that the ability to unlock and enjoy hundreds of abandoned modules will cause the currently MAINTAINED modules (numbering in like, what, the tens?) to suffer.
I suppose I'll just release the information in the sense that it's educational to understand how MBBS modules work post-compile from an Assembly level standpoint. No direct harm in that.
in all fairness they dont own em either, it would come down to who owns what and it has to be documented ownership.frcorey wrote:I would ask the owner of mbbs and wg first.WndrBr3d wrote:I guess I just don't buy the argument that the ability to unlock and enjoy hundreds of abandoned modules will cause the currently MAINTAINED modules (numbering in like, what, the tens?) to suffer.
I suppose I'll just release the information in the sense that it's educational to understand how MBBS modules work post-compile from an Assembly level standpoint. No direct harm in that.
You could end up up court.
So that means if I would do up a TA clone in Java, using the same monsters, rooms spells etc. it would be legit ?? would be basically a clone to the "T" except for the language used.dspain wrote:
even me i clone all sorts of stuff, tele-arena, usurper, global power, which is perfectly legal, something can visually be similiar and even act and play the same what seperates its legality is how did i accomlish such a feat, did i use my own original code, databases, graphics, and text? if so im in the clear if i used even 1kb of the original im liable to pay losses.
part a will say yeah paty b will say nay but bottom line is where did the monster names sean used come from? he cant copyright minotaurs and ogres. potions.... anemone and hyssop? he cant own that copyright either,Drex wrote:So that means if I would do up a TA clone in Java, using the same monsters, rooms spells etc. it would be legit ?? would be basically a clone to the "T" except for the language used.dspain wrote:
even me i clone all sorts of stuff, tele-arena, usurper, global power, which is perfectly legal, something can visually be similiar and even act and play the same what seperates its legality is how did i accomlish such a feat, did i use my own original code, databases, graphics, and text? if so im in the clear if i used even 1kb of the original im liable to pay losses.
I don't think there's any legal ground to stand on here. First, really, it'd just be information that is freely available anywhere on the net. Examples such as:frcorey wrote: I would ask the owner of mbbs and wg first.
You could end up up court.
reverse engineering has never been illegal, when on your pc you can do anything you want to it as long as you dont distribute the changes, if all you offer is the know-hows to do it using information you compiled all you're basically offering is a convenience.WndrBr3d wrote:I don't think there's any legal ground to stand on here. First, really, it'd just be information that is freely available anywhere on the net. Examples such as:frcorey wrote: I would ask the owner of mbbs and wg first.
You could end up up court.
- How to use Win32DASM
- How to parse NE Format DLL's
The part where you get specific is how the MBBS/WG Libraries are linked at compile time by Borland. Information can be drawn from the MBBS/WG development tools that are freely available from some WELL KNOWN sites.![]()
If anything, I think I'd owe it to the community because who know where it'll be ten years from now.