• Doorgame cracking

    From esc@21:4/173 to All on Tuesday, January 31, 2023 00:20:07
    Hey friends, has anyone cracked a 16bit DOS doorgame?

    I'd like to begin learning how to do this to crack old games and IGMs and things of that nature, but haven't done this type of work before. I have a linux computer and am using dosemu2 for my doors. I seemingly have the 'sourcer' program working but haven't actually done any cracking before so I would love to find someone to show me the ropes, if that person exists :)

    Thanks!

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: m O N T E R E Y b B S . c O M (21:4/173)
  • From Bugz@1:0/0 to esc on Tuesday, January 31, 2023 11:57:00
    esc wrote to All <=-

    Hey friends, has anyone cracked a 16bit DOS doorgame?

    You mean there exists people that haven't? Those POOR SOULS. :P

    I'd like to begin learning how to do this to crack old games and IGMs
    and things of that nature, but haven't done this type of work before. I have a linux computer and am using dosemu2 for my doors. I seemingly
    have the 'sourcer' program working but haven't actually done any
    cracking before so I would love to find someone to show me the ropes,
    if that person exists :)

    It really depends on the door. Some doors are packed (upx/pklite), but
    can be unpacked with utilities. Some won't run when unpacked (they check.) Other doors are distributed as unregistered, you only get a registered
    version if the author recompiles it and sends it to you. (There's nothing there to crack.) Some use overlays, so the program can be larger and
    tricker to debug.

    There's some written in qbasic that I haven't been able to figure out. (Because of the way it interfaces to the qbasic runtime via int calls.)
    It's tokenized and interpreted...

    Sourcer is ok, but gets lost too easily. (No, this really is code. No, this really is data.) IDA (Interactive DisAssembler) is fantastic (for cold disassembly).

    My goto tool is TD (Turbo Debugger) in dosbox.

    There's nothing like viewing the live code running right there, right now.
    (Ah, my old friends AX, BX, and etc...)

    As my time permits, I'll see what I can come up with.

    Take care,
    bugz

    ... It really WAS my evil twin.
    === MultiMail/Linux v0.52
    --- SBBSecho 3.14-Linux
    * Origin: Red-Green BBS - bbs.red-green.com (0:0/0)
  • From esc@21:4/173 to Bugz on Tuesday, January 31, 2023 10:11:47
    Hey friends, has anyone cracked a 16bit DOS doorgame?

    You mean there exists people that haven't? Those POOR SOULS. :P

    Ha! Looks like I found the right person :)

    Sourcer is ok, but gets lost too easily. (No, this really is code. No, this really is data.) IDA (Interactive DisAssembler) is fantastic (for cold disassembly).

    Appreciate this - hearing which tools are useful at this early stage is very helpful. I don't see IDA's ability to work on 16 bit DOS binaries with the free version...is there an older version somewhere floating aroudn that you know of that I can use without paying them thousands of dollars for a license?

    My goto tool is TD (Turbo Debugger) in dosbox.

    Sweet. Ok. I'll track this down in that case. Any specific version? Is it easy to get installed and set up for doing this work?

    As my time permits, I'll see what I can come up with.

    wOOt! Thanks :)

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: m O N T E R E Y b B S . c O M (21:4/173)
  • From Alonzo@21:1/130 to Bugz on Tuesday, January 31, 2023 18:30:19
    There's some written in qbasic that I haven't been able to figure out.

    Is it possible to write new door games in Qbasic? I used to create doors in Qbasic a long time ago, so I am wondering if it is possible to write doors for Mystic. To run them, would I still need some kind of a drop file? And what are MPL doors? Is there a place where I could learn this language and write doors for Mystic?

    Sorry for all of the questions. If anyone has any ideas, feel free to jump in here.

    ... There will be a rain dance Friday night, weather permitting!

    --- Mystic BBS v1.12 A47 2021/12/25 (Windows/64)
    * Origin: The Unmarked Van (21:1/130)
  • From claw@21:1/210 to Alonzo on Wednesday, February 01, 2023 07:34:41
    On 31 Jan 2023, Alonzo said the following...
    Is it possible to write new door games in Qbasic? I used to create doors in Qbasic a long time ago, so I am wondering if it is possible to write doors for Mystic. To run them, would I still need some kind of a drop file? And what are MPL doors? Is there a place where I could learn this language and write doors for Mystic?

    Sorry for all of the questions. If anyone has any ideas, feel free to
    jump in here.


    Sure is learn Python. Its easy to learn and it had a built in system to work with it. You won't even need the drop file. Mystic will share what you want directly from it. In fact the way it works is there is a special library for mystic that allows you to have mystic do most of the heavly lifting for you like spitting out ANSIs or collecting input from the user ect.

    |23|04Dr|16|12Claw
    |16|14Sysop |12Noverdu |14BBS |04(|14Noverdu.com|04)
    |10Standard Ports for SSH/Telnet Web/HTTP://|14Noverdu.com:808
    |20|15fsxNet/MRC Chat/Registered Doors!/50Nodes/No Time Use! Stay On!|16|07

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Noverdu BBS (21:1/210)
  • From Alonzo@21:1/130 to claw on Wednesday, February 01, 2023 21:12:17
    Sure is learn Python. Its easy to learn and it had a built in system to work with it. You won't even need the drop file.

    That sounds like a great idea. Thanks! I'm going to try to learn Python.

    ... Back up my hard drive? I can't find the reverse switch!

    --- Mystic BBS v1.12 A47 2021/12/25 (Windows/64)
    * Origin: The Unmarked Van (21:1/130)
  • From paulie420@21:2/150 to Alonzo on Wednesday, February 01, 2023 18:14:52
    Is it possible to write new door games in Qbasic? I used to create do in Qbasic a long time ago, so I am wondering if it is possible to wri doors for Mystic. To run them, would I still need some kind of a drop file? And what are MPL doors? Is there a place where I could learn th language and write doors for Mystic?

    Sorry for all of the questions. If anyone has any ideas, feel free to jump in here.


    Sure is learn Python. Its easy to learn and it had a built in system to work with it. You won't even need the drop file. Mystic will share
    what you want directly from it. In fact the way it works is there is a special library for mystic that allows you to have mystic do most of the heavly lifting for you like spitting out ANSIs or collecting input from the user ect.

    Claw is right here, MPY (similar to MPL) is Mystic's Python Language. MPL is more PASCAL-like... I just had two things to add here; well, three actually;

    For .MPY programming, be SURE to grab xqtr's MPY Functions documentation! It is complete and well-written. You can grab it by finding the file xq-mpy.zip.

    For .MPL programming, there isn't any 'new/great' documentation, but I've put together what I think is the 'most current' collection. Its an older MPL documentation, but has all the whatsnew.txt additions on the bottom of it. You can find this by finding the file mpldocs_2o22.zip.

    Inside mpldocs_2o22.zip, there are also 21 MPL tutorials that were written by Black Panther. They are extremely helpful and kinda take you down a path going from basics to data manipulation to m0re.

    Both of these files could be downloaded @ 2oFB - 20ForBeers.com:1337 or found at other bbSes. :P

    Cheers!



    |07p|15AULIE|1142|07o
    |08.........

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: 2o fOr beeRS bbs>>>20ForBeers.com:1337 (21:2/150)
  • From claw@21:1/210 to Alonzo on Thursday, February 02, 2023 07:30:33
    On 01 Feb 2023, Alonzo said the following...
    That sounds like a great idea. Thanks! I'm going to try to learn Python.


    If your a quick learner you might complete this in a few hours. If not maybe a couple days. At the end you will have a fairly good start and at least know the right questions to ask. :D

    https://www.amazon.com/Python-easy-steps-Covers-3-7/dp/1840788127/ref=sr_1_1?ke ywords=python+in+easy+steps&qid=1675344405&sprefix=python+in+%2Caps%2C542&sr=8- 1

    Here is a short link for it since I know it can be hard to copy otherwise

    https://tinyurl.com/yw8k86kp

    If you want to see my first program which came from this book its on my board. ANSiTV

    |23|04Dr|16|12Claw
    |16|14Sysop |12Noverdu |14BBS |04(|14Noverdu.com|04)
    |10Standard Ports for SSH/Telnet Web/HTTP://|14Noverdu.com:808
    |20|15fsxNet/MRC Chat/Registered Doors!/50Nodes/No Time Use! Stay On!|16|07

    --- Mystic BBS v1.12 A47 2021/12/24 (Linux/64)
    * Origin: Noverdu BBS (21:1/210)
  • From Alonzo@21:1/130 to paulie420 on Thursday, February 02, 2023 22:42:08
    For .MPL programming, there isn't any 'new/great' documentation, but
    I've put together what I think is the 'most current' collection. Its an older MPL documentation, but has all the whatsnew.txt additions on the bottom of it. You can find this by finding the file mpldocs_2o22.zip.

    OK, thanks a lot.

    ... Error 3032 - Recursion error. See error 3032.

    --- Mystic BBS v1.12 A47 2021/12/25 (Windows/64)
    * Origin: The Unmarked Van (21:1/130)
  • From Bugz@1:0/0 to Alonzo on Friday, February 03, 2023 13:42:00
    Alonzo wrote to Bugz <=-

    Is it possible to write new door games in Qbasic? I used to create
    doors in Qbasic a long time ago, so I am wondering if it is possible to write doors for Mystic. To run them, would I still need some kind of a

    Yes, if you can find a Qbasic compiler and door library for it, sure.
    There are some out there. Whether or not they need to be registered
    ... no idea. I stuck mostly with TC++ 3.0 when I wrote for MS-DOS.

    As others mentioned, there's better ways to write doors these days.
    I wouldn't recommend writing anything in MS-DOS today, since that just adds
    an extra hurdle for someone to overcome to run your door.

    And hopefully history doesn't repeat itself. There were a lot of neat doors written out there, but sadly their source is lost forever. Share the code,
    so the door lives on. :D

    Take care,
    bugz

    ... I feel more like I do now than I did before!
    === MultiMail/Linux v0.52
    --- SBBSecho 3.14-Linux
    * Origin: Red-Green BBS - bbs.red-green.com (0:0/0)
  • From Bugz@1:0/0 to esc on Friday, February 03, 2023 14:10:00
    esc wrote to Bugz <=-

    Appreciate this - hearing which tools are useful at this early stage is very helpful. I don't see IDA's ability to work on 16 bit DOS binaries with the free version...is there an older version somewhere floating aroudn that you know of that I can use without paying them thousands of dollars for a license?

    I bought my IDA license back in 2001. I think it was around $250. My
    old version even runs under DOS (using the dos4gw protect mode), so it makes use of all the memory available under DOS.

    The prices have gone up, but they do even more today. (Well, they don't support DOS! Ah, well, such is progress...)

    My goto tool is TD (Turbo Debugger) in dosbox.

    Sweet. Ok. I'll track this down in that case. Any specific version? Is
    it easy to get installed and set up for doing this work?

    I'm using 3.1. They should be about the same. You probably could use DOS's debug for that matter, but it's not very pretty. You'd have to hit extra
    keys to see what TD shows you in an instant. And debug's output would be
    with program output as well. That really won't look good.

    As my time permits, I'll see what I can come up with.

    I've made some progress on this. I have a very short intro to asm.
    (Better can be found on the web, I'm sure.) A section on working with IDA, and working with Turbo Debugger.

    I can put up what I've got so far somewhere out there. I'd love feedback
    if I could. It's always difficult to cover something complex, when you've
    been doing it for years. What seems "obvious" to me might not be. :)

    I'm hoping to finish this weekend.

    * I wanted to cover more about diving deeper into the sample disassembly.
    As far as possibly making a keygen for my example.
    * Other ways of doing things. I'd like to make an example that brute forces
    my example.

    Take care,
    bugz

    ... PUNTIUM: Computer that makes bad jokes.
    === MultiMail/Linux v0.52
    --- SBBSecho 3.14-Linux
    * Origin: Red-Green BBS - bbs.red-green.com (0:0/0)
  • From Alonzo@21:1/130 to Bugz on Friday, February 03, 2023 21:06:18
    As others mentioned, there's better ways to write doors these days.
    I wouldn't recommend writing anything in MS-DOS today, since that just

    As others suggested, I am going to try to write some doors in Python. It will be a while but if I manage to create any doors, I will gladly share them.

    ... No honey, I can't eat with the family. My computer gets lonely!

    --- Mystic BBS v1.12 A47 2021/12/25 (Windows/64)
    * Origin: The Unmarked Van (21:1/130)
  • From esc@21:4/173 to Bugz on Friday, February 03, 2023 23:47:22
    I bought my IDA license back in 2001. I think it was around $250. My old version even runs under DOS (using the dos4gw protect mode), so it makes use of all the memory available under DOS.

    Hm, wonder if I should just try to find an older version with DOS functionality in that case. :/

    As my time permits, I'll see what I can come up with.

    I've made some progress on this. I have a very short intro to asm. (Better can be found on the web, I'm sure.) A section on working with IDA, and working with Turbo Debugger.

    Awesome! Are you going to throw it up in a blog post or something? Or a howto guide zipfile to share out over FTN?

    I'd really benefit from all your work. There are some LORD IGMs and IGMs for other games like TW2002 that I would really like to register, not to mention a couple of actual doorgames that don't have keygens or any way to contact the original author.

    Again I'm thrilled you're going through all of this. I've always wanted to know how to crack things, for whatever reason I simply /hate/ running anything that says "SHAREWARE" or "UNREGISTERED" lol.

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: m O N T E R E Y b B S . c O M (21:4/173)
  • From Bugz@1:0/0 to esc on Saturday, February 04, 2023 19:50:00
    esc wrote to Bugz <=-

    Hm, wonder if I should just try to find an older version with DOS functionality in that case. :/

    I know IDA 4.0 works. The IDA 4.5 I found from somewhere segfaults when starting the analysis process.

    Awesome! Are you going to throw it up in a blog post or something? Or a howto guide zipfile to share out over FTN?

    I'm not sure if FSX would be interested or not. I've put it on my website
    for now:

    https://bugz.red-green.com/book.zip

    Unzip, and open book/index.html in your web browser. Hopefully my spelling and grammar isn't too bad. Please let me know what's unclear -- always hard
    to talk about something when you've just done it for many years.

    (That's a function call with 2 parameters -- don't you see it? .. no, all
    I see are pushes and call. Yeah! That's the call! Why didn't you say so?)

    I'd really benefit from all your work. There are some LORD IGMs and
    IGMs for other games like TW2002 that I would really like to register,
    not to mention a couple of actual doorgames that don't have keygens or
    any way to contact the original author.

    Patches are the easiest ones to do. Keygens are a bit tougher, because
    you have to figure out what the code is doing exactly, and all you're
    given is assembly. And you need to keep in mind how the code reacts to signed/unsigned, overflow, and bitwise rotations.

    If there's something specific you're looking at, send it my way. I'll
    take a peek, and share my notes on what I find out.

    Some of the (newer-then-mine) IDA versions had "flirt". It would look at
    the source, and match the functions against the various runtime libraries.

    Instead of call <something meaningless>, it would be call _fopen, _strlen.
    It would tell you what functions were being called. (I can't find any references to it. I think flirt might have been replaced with HexRays.)

    Why include something, when you can spin it off into another $product$. :(

    https://hex-rays.com/

    Wow, it is shown taking disassembly and generating matching C code.

    Again I'm thrilled you're going through all of this. I've always wanted
    to know how to crack things, for whatever reason I simply /hate/
    running anything that says "SHAREWARE" or "UNREGISTERED" lol.

    The days of using a disk zapper to edit the text. I've done my share of
    that as well. ;)

    Take care,
    Bugz

    ... Don't Squat With Yer Spurs On. - A Cowboy's Guide To Life
    === MultiMail/Linux v0.52
    --- SBBSecho 3.14-Linux
    * Origin: Red-Green BBS - bbs.red-green.com (0:0/0)
  • From esc@21:4/173 to Bugz on Saturday, February 04, 2023 20:04:25
    I'm not sure if FSX would be interested or not. I've put it on my
    website for now:

    https://bugz.red-green.com/book.zip

    Oh man this is fantastic. I can't wait to delve in here. Sadly I'm on some pretty strong narcotics at the moment and am going cross eyed but I'm very appreciative!

    Patches are the easiest ones to do. Keygens are a bit tougher, because you have to figure out what the code is doing exactly, and all you're given is assembly. And you need to keep in mind how the code reacts to signed/unsigned, overflow, and bitwise rotations.

    Gotcha. I think for the /most/ part I'd probably be ok with patches. Keygens are cool because they aren't modifying actual game files but I haven't seen any of the patched games react poorly in the past. I could be wrong but *shrug* seems like the easiest solution is the correct solution, hehe

    If there's something specific you're looking at, send it my way. I'll take a peek, and share my notes on what I find out.

    Sounds good. I'd like to see what I can figure out with what you've provided so far. But yeah, I have a decent list of things I'd like to crack and as a complete and total n00b I suspect I'll be reaching out with specifics :)

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: m O N T E R E Y b B S . c O M (21:4/173)
  • From Zip@21:1/202 to Bugz on Sunday, February 05, 2023 10:41:21
    Hello Bugz!

    On 04 Feb 2023, Bugz said the following...
    I'm not sure if FSX would be interested or not. I've put it on my
    website for now:

    https://bugz.red-green.com/book.zip

    Thanks! Very nice write-up and very interesting!

    Best regards
    Zip

    --- Mystic BBS v1.12 A49 2023/01/27 (Linux/64)
    * Origin: Star Collision BBS, Uppsala, Sweden (21:1/202)