Reverse Engineers?

Idea and code exchange. Porting and new development talk here!

Moderator: Mod Squad

Post Reply
WndrBr3d
Posts: 19
Joined: Tue Nov 28, 2006 3:26 am
Location: San Diego, CA
Contact:

Reverse Engineers?

Post by WndrBr3d »

Hey, calling out to anyone with experience reverse engineering MajorBBS 6.25/WG 1.x/2.x modules.

I think coming together and discussing techniques and obstacles could help give life to otherwise abandoned modules. :D
MajorBBS Module Cracker (Ass Cracker)
You can find me on EfNet

WndrBr3d
Posts: 19
Joined: Tue Nov 28, 2006 3:26 am
Location: San Diego, CA
Contact:

Post by WndrBr3d »

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:

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 &#40;would be MCV value #4 defined in that modules .H&#41;
9AFFFF0000             call MAJORBBS.Ord&#123;01DCh&#125; <-- Loads that value to the buffer
59                     pop cx
B8FFFF                 mov ax, SEGMENT ADDR of MAJORBBS.Ord&#123;0274h&#125; <-- Retrieve the current user channel
8EC0                   mov es, ax
26FF360000             push word ptr es&#58;&#91;0000&#93;
9AFFFF0000             call MAJORBBS.Ord&#123;01CFh&#125; <--- Displays the buffered value to the user channel
59                     pop cx
I'm thinking within the next month I may write a HOWTO on cracking MBBS modules that are abandonware/long forgotten.

Thoughts? :D
MajorBBS Module Cracker (Ass Cracker)
You can find me on EfNet

frcorey
Posts: 414
Joined: Sat Jul 08, 2006 10:52 pm

Post by frcorey »

maybe it would be a little easier with the mbbs or wg source code?

WndrBr3d
Posts: 19
Joined: Tue Nov 28, 2006 3:26 am
Location: San Diego, CA
Contact:

Post by WndrBr3d »

I have the MBBS source code and I make reference to it in my explanation of code segments.
MajorBBS Module Cracker (Ass Cracker)
You can find me on EfNet

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Post by dspain »

WndrBr3d 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:

Code: Select all

&#91;DISASSEMBLY&#93;
9AFFFF0000 -- call MAJORBBS.Ord&#123;01CFh&#125;

&#91;DEFINITION&#93;
_OUTPRF                       @463

&#91;EXPLANATION&#93;
This is a call to OUTPRF &#40;defined in MAJORBBS.DEF, function in MBBST.LIB&#41; which displays text loaded using PRFMSG.
This function is usually preceded by USRNUM &#40;MAJORBBS.Ord&#123;0274h&#125;&#41;, which retrieves the current user channel number.

void outprf&#40;int chan&#41;;

&#91;EXAMPLE&#93;
6A04                   push 0004  <--- Pushes value 4 to the stack &#40;would be MCV value #4 defined in that modules .H&#41;
9AFFFF0000             call MAJORBBS.Ord&#123;01DCh&#125; <-- Loads that value to the buffer
59                     pop cx
B8FFFF                 mov ax, SEGMENT ADDR of MAJORBBS.Ord&#123;0274h&#125; <-- Retrieve the current user channel
8EC0                   mov es, ax
26FF360000             push word ptr es&#58;&#91;0000&#93;
9AFFFF0000             call MAJORBBS.Ord&#123;01CFh&#125; <--- Displays the buffered value to the user channel
59                     pop cx
I'm thinking within the next month I may write a HOWTO on cracking MBBS modules that are abandonware/long forgotten.

Thoughts? :D
/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.

WndrBr3d
Posts: 19
Joined: Tue Nov 28, 2006 3:26 am
Location: San Diego, CA
Contact:

Post by WndrBr3d »

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.
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.

Additionally, being that it's over a year since this reply, I think we can all agree that the 'future' of this platform is nothing more than hobby (if that). Don't get me wrong, as a career engineer I can appreciate people want to get paid for their effort, but I can also see that some are exploiting the few faithful that are left for all the money they can squeeze out of this.

I'm not claiming to be a modern day BBS "Robin Hood", but I think it's time we (the BBS community in general, not just WG/MBBS) accept that the best way to preserve the platform is to make it available to as many people as possible. Money should be a secondary goal.
MajorBBS Module Cracker (Ass Cracker)
You can find me on EfNet

Drex
Posts: 209
Joined: Mon Dec 04, 2006 10:09 pm

Post by Drex »

WndrBr3d wrote: and I'd say less than 10% of them can be still registered today (if that).
Have you checked your info with the modules that Rick has the rights too?

frcorey
Posts: 414
Joined: Sat Jul 08, 2006 10:52 pm

Post by frcorey »

Drex wrote:
WndrBr3d wrote: and I'd say less than 10% of them can be still registered today (if that).
Have you checked your info with the modules that Rick has the rights too?
I agree with wasisface thou, if you teach how to open a modual, then moduals that are still supported will be hacked too.

Syclops
Posts: 112
Joined: Sun Dec 24, 2006 6:25 am

Post by Syclops »

I personally think that the biggest problem all along that has led to the failure of MajorBBS/WG is the old Business Model that it is based on.

Look at all the Content Management Systems out there that are staying current with New Versions of the Baseline Software and constant Module Development. Some examples are DotNetNuke and Joomla and vBulletin

They provide the Baseline Software with Basic Modules at a very Low Cost or even for FREE and some even provide the Source Code.

DotNetNuke has Professional and Enterprise Level versions of the CMS that include a couple additional Modules and Technical Support for the Business Users, and they charge for it.

Module Development is where everyone makes their money. Modules are available that do almost everything (other than Games) that MajorBBS/WG could ever hope to do and are reasonably priced and some are even FREE. There are a few very expensive ones, but overall they are all priced very reasonable.

If MajorBBS/WG would have embraced this Business Model years and years ago, it would probably be a viable product, not just a Hobby/Nostalgic curiosity.

Just my 2 cents worth.

WndrBr3d
Posts: 19
Joined: Tue Nov 28, 2006 3:26 am
Location: San Diego, CA
Contact:

Post by WndrBr3d »

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.
MajorBBS Module Cracker (Ass Cracker)
You can find me on EfNet

frcorey
Posts: 414
Joined: Sat Jul 08, 2006 10:52 pm

Post by frcorey »

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.
I would ask the owner of mbbs and wg first.
You could end up up court.

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Post by dspain »

frcorey wrote:
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.
I would ask the owner of mbbs and wg first.
You could end up up court.
in all fairness they dont own em either, it would come down to who owns what and it has to be documented ownership.

i mean if he engineered Global Control yeah i'd be pissed but if he did it to say cheersoft globals, who will contest it in court?
i had to get some info from my attorney on my tele-arena game and spent 150 bucks just to sit in his office for less than a half an hour then have 14 documents faxed to me the following day.

i couldnt imagine the amount of money you'd spend to fight something when the win percentage isnt high enough and recovery is even less.

example, metro spends 5k to combat greatermud, only for a judge to say what they are doing is ok cause they are using original content, ok you lost yet still paid your attorney 5k (just an example this didnt happen)
it has to come down to a hobby being worth it? even commercialized programs dont generate enough revenue to be worth fighting.

another example, i have the best supported global package available for wg today, it sells for $50 USD i have sold 12 of them since january, not a bad piece of hobby change but the downside is thats about all i will ever sell so if someone cracks it unless i can fight them off for less than 600 dollars i take an immediate loss cause a judgement isnt worth the paper its printed on, and sure i can ask for restitution of my legal fees but lets face it who is to say they got the money to pay it back, all i ended up doing was wasting a shitload of money and time.

abandonware is a term that has been used by even law enforcement agencies since they were battling pirate bbs's in the 90s and alot of stuff that surfaces 10,15, even 20 years down the road is usualyl source codes people have posted on various sites of their works and people downloaded it and tried to make a buck.

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.

the problem in dealing with wg modules is alot of people still feel they are worth a ton of money so they hold on to em, sell em to ya for an extremely outrageous price, or want a piece of the action like per license royalty.

as long as the new owner has legal documented ownership i'd steer clear of those but if they dont and just 'feel' its wrong, do your part to restore the community cause lets face it years ago when this community started it was a restoration/museum with a ton of active posters now its delcining steadily cause of all the grey area, if restoring the community for him is to unlock the old modules, until the owner of that module appears its good for him to bring it back, anyone remember mbbs4ever? that package still exists on the net and is downloadable on over 100 sites, any simple google search will point to it at some site or another

i have slowly moved over to flash gaming and am making a push to mmo dsign next year but i still have my wg stuff going on cause its a good pass time, sit around writing modules, designing areas in my games, its a good 'hobby' but thats all it is.

Drex
Posts: 209
Joined: Mon Dec 04, 2006 10:09 pm

Post by Drex »

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.
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.

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Post by dspain »

Drex wrote:
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.
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.
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,
your engine well if you write it in java and use none of his functions thats your original coding, so see the grey area i refer to where would the argument be? as far as it looking like ta thats just a color scheme.

compare majormud to the rose, similiar engines, damn near looks the same, 2 different developers.

greatermud, a .net remake of majormud so if you were to remake ta in java it would be no different

WndrBr3d
Posts: 19
Joined: Tue Nov 28, 2006 3:26 am
Location: San Diego, CA
Contact:

Post by WndrBr3d »

frcorey wrote: I would ask the owner of mbbs and wg first.
You could end up up court.
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:

- 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. :wink:

If anything, I think I'd owe it to the community because who know where it'll be ten years from now.
MajorBBS Module Cracker (Ass Cracker)
You can find me on EfNet

User avatar
dspain
Posts: 2102
Joined: Sun May 07, 2006 10:38 pm
Location: richmond,virginia
Contact:

Post by dspain »

WndrBr3d wrote:
frcorey wrote: I would ask the owner of mbbs and wg first.
You could end up up court.
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:

- 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. :wink:

If anything, I think I'd owe it to the community because who know where it'll be ten years from now.
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.

Post Reply