Dyna Blaster ※ reverse engineering on DOS ※ Cracking VG Passwords S2e3

  Рет қаралды 108,776

Bisqwit

Bisqwit

Күн бұрын

In the advent of 1990 I played NES games a lot. Knowing nothing about programming but being geekish by nature, I obsessed over cracking the password systems in those games. In this series we will reverse engineer some of these password generators.
Become a member: kzbin.info...
Twitter: / realbisqwit
Patreon: / bisqwit (alternatives at iki.fi/bisqwit/...)
Twitch: / realbisqwit
Homepage: iki.fi/bisqwit/
You can contribute subtitles: www.youtube.com...
Downloads:
bisqwit.iki.fi...
github.com/bis...
Channels of the guest star Toni Rosendahl, man of gadgets:
/ @tonirosendahl3714 / trflight
More DOS stuff on my channel:
- • I wrote a Raytracer fo... Raytracer
- • I wrote an OpenGL firs... OpenGL
- • Creating a MIDI player... MIDI player
More cracking of VG passwords:
- • Cracking Videogame Pas...
- • Cracking Videogame Pas...

Пікірлер: 386
@gustavopaiva4676
@gustavopaiva4676 5 жыл бұрын
Bisqwit, the Bob Ross of the programming
@abdulalhazred5924
@abdulalhazred5924 5 жыл бұрын
isn't that javidx9?
@minsin56
@minsin56 5 жыл бұрын
@@abdulalhazred5924 yup
@MarquisDeSang
@MarquisDeSang 5 жыл бұрын
If Bob Ross was an Alien and had an IQ of 300
@penguincoding1353
@penguincoding1353 4 жыл бұрын
Long life bisqwit you are the legend of programmer i got inspired from you
@MESYETI
@MESYETI 4 жыл бұрын
YES
@artwork79
@artwork79 5 жыл бұрын
UNP is now my new favorite Bisqwit word. Thank you for a wonderful video B-man
@Echelon-xh8mb
@Echelon-xh8mb 4 жыл бұрын
Pay him to tell '' SMS ''
@muhammadwahyuramadhan7730
@muhammadwahyuramadhan7730 3 жыл бұрын
Hhhh
@vitaawl
@vitaawl 5 жыл бұрын
Hello Bisqwit. I would like to talk about unused bits. This game is a port with TurboGrafx-16. The console version has a checksum, which checks the correctness of the entered password. Checksum is not in the DOS version, so there are many bits that do nothing. In the console version, significant bits are not lost due to randomization. Also in the DOS version, you can create a password with 0 bombs, which cannot be done in the TurboGrafx-16 version.
@Bisqwit
@Bisqwit 5 жыл бұрын
Yeah my guess was that the other ports do more strict checks than the DOS version does (as was noted on the short-lived annotation before the camera footage), but I don’t currently _have_ an approach to debug m68k code, let alone _compressed_ m68k code, so I had to leave it like that. And I discovered this only when the video was almost completed.
@duuqnd
@duuqnd 5 жыл бұрын
I think the reason why it's called "Dyna Blaster" was that they didn't want to call it "Bomberman" in Europe (I don't remember why, terrorism probably). Dyna Blaster was the second name change. The first was to "Eric and the Floaters", which is obviously not a good name.
@ryuuji159
@ryuuji159 5 жыл бұрын
So from "Eric and the Floaters" comes the suposed spanish translation "Don Pepe y los Globos"
@luispieri640
@luispieri640 5 жыл бұрын
I used to play Eric and the Floaters on the speccy on the 80s... very basic but fun nonetheless
@edwardecl
@edwardecl 5 жыл бұрын
It was because of the IRA they changed the name, for the UK.
@SpiralPegasus
@SpiralPegasus 5 жыл бұрын
@@ryuuji159 WHOOOOOAAAAAAA Mind blown!
@Dhalin
@Dhalin 5 жыл бұрын
I remember hearing a story about some guy that attempted to blow a tower up (was that the WTC?) somewhere in the 80s and the police called him "the bomber man" or something, and sketches of this guy was famous, and perhaps since Europe/UK seems to be a lot more sensitive about this kinda thing, they thought that a game called "Bomberman" might not be kosher. Not sure if that's the reason why or not.
@SoftBreadSoft
@SoftBreadSoft 5 жыл бұрын
Love this series. Cracking video game password systems is one of the perfect examples for edutainment of reversing asm algorithms/encryptions, in my opinion. Take care
@qwertyuiop4991
@qwertyuiop4991 5 жыл бұрын
Don't have a clue what is going on here, but still impressed :)
@victornaut
@victornaut 4 жыл бұрын
same
@knuti27
@knuti27 4 жыл бұрын
password encoder and decoder is pretty stupid end
@ricardo.mazeto
@ricardo.mazeto 5 жыл бұрын
I like how you took care of explaining step by step the process of reverse engineering. Kudos you for having the patience. So, we'll not going to see more scheme code in the future? Didn't you fall in love with functional programming?
@Bisqwit
@Bisqwit 5 жыл бұрын
Thanks. Nah, this time I wanted to get things done rather than tackle a programming puzzle. It is unlikely I will use Scheme again, though not impossible.
@ricardo.mazeto
@ricardo.mazeto 3 жыл бұрын
@EspDiVideoG - Mattia No, only one zee and one tee. Why?
@ricardo.mazeto
@ricardo.mazeto 3 жыл бұрын
@EspDiVideoG - Mattia My Granpa was italian.
@LightTheMars
@LightTheMars 5 жыл бұрын
I really enjoy you using different programming languages for your encoder/decoder through the episodes. It's just a minor detail but it adds a lot to these videos.
@christianbuendia5794
@christianbuendia5794 5 жыл бұрын
One year ago im discover this channel and today can i say "Bisqwit is my favorite channel on all youtube" i really enjoy any of ur vídeos, thank you. Greetings from México.
@antonnym214
@antonnym214 Жыл бұрын
In those days, I was coding in z-80 and 8080 assembly and I have to say you are a smart cookie! Good investigation!
@jemakrol
@jemakrol 3 жыл бұрын
So fun to watch these videos. I never really got into cracking but I managed to write a save game editor for UFO - Enemy Unknown for PC in the early 90's (I believe it was). It was so much fun, don't know why I didn't continue to do things like that. That very game had a very simple save game format, it was uncompressed, unencrypted fixed size files so just a matter of play, save, play save again and then check diff. Really not hard, but the feeling of eventually having identified the workings is wonderful. A feeling I can recognize here too - especiellay considering you failed back then and got a chance to redo it properly this time. Thanks again, great as always.
@pasi2305
@pasi2305 5 жыл бұрын
Even these days i find my self admiring you to my colligues about your programming skills in -97-98 in riihimaki army.
@ihspan6892
@ihspan6892 5 жыл бұрын
You are THE Wizard. Thank you for showing us the method with BBB and ABC etc. appearing in the memory state as consecutive numbers. Very smart. I have no words. I'm just dust under your feet. Keep the great work going. Thank you.
@yonathantorres2021
@yonathantorres2021 5 жыл бұрын
You should definitely keep this series going for a long time. Really like the education intros to most of your videos. Chag Sameach! Happy Sukkot
@njsynthesis
@njsynthesis 4 жыл бұрын
He pronounces "Dyna Blaster" as "Dinner Blaster" and I'm getting KZbin Poop flashbacks.
@bigshaqsmathematicalinstit3318
@bigshaqsmathematicalinstit3318 5 жыл бұрын
Are you still driving a coach? Your videos are of top notch quality, and shows the fruits of years of hard work, and thank you for sharing it us.
@Bisqwit
@Bisqwit 5 жыл бұрын
Nope, I lost the job due to competitive tendering a long time ago. I have been doing embedded programming for three years now. Thank you for writing!
@leandersmainchannel4493
@leandersmainchannel4493 4 жыл бұрын
Inspired by password systems, I now have a game idea in my head known as Passcoder. It is a video game where you input passwords to generate objects and solve quests.
@Bisqwit
@Bisqwit 4 жыл бұрын
It is somewhat similar to some RPGs where you have alchemist recipes where mixing several items will produce another item or a magical effect. In BatMUD, there is also a secret spider demon summoners’ guild, where each spider demon has an alien name that likely* is a password of sorts that encodes their attributes. More powerful spider demons have more complicated names. *) I don’t know the implementation, it could also be a database key. But an algorithmic name sounds more interesting! :-)
@RobUttley
@RobUttley 5 жыл бұрын
What a great video. Perfectly judged the explanation level I thought. Thank you! Look forward to the next one.
@PritamDas-oy3mq
@PritamDas-oy3mq 4 жыл бұрын
man i am too noob and most of the time cant understand what r u doing.. lot to learn for me ...got a good channel
@Dhalin
@Dhalin 5 жыл бұрын
This brings back memories. I remember attempting to crack the password system in JRR Tolkien's The Lord of the Rings (SNES). I was partially successful, in that I figured out how to make my characters level 50+ at the beginning of the game which basically lets you just steamroll through the game and makes you invincible. Protip: Being Lv50+ is enough to kill the Ring Wraiths at the very beginning of the game with ease, but Bree's door will still be locked so sadly, no you can't pass up Barrow Downs.
@nrdtec7152
@nrdtec7152 5 жыл бұрын
Glad I found your channel. I've been struggling for inspiration lately and you have invigorated me. Thanks so much for what your doing!
@sofka2001
@sofka2001 5 жыл бұрын
It's like a detectiv inverstigation.
@JoLiKMC
@JoLiKMC 5 жыл бұрын
I learned something, today. I learned that the MS-DOS version of this game uses Creative Music Format for its soundtrack, and I learned that several songs are nowhere to be found, including my personal favorite, Round 3. 'cause, I ripped the soundtrack, myself, after watching this. Cheers, Bisqwit!
@Bisqwit
@Bisqwit 5 жыл бұрын
Yes, it uses the CTMF format. I extracted 15 music files from that file in… what seems to be September 2016. Huh, so recently. I guess it’s because I was looking for material for ADLMIDI. Song 8 is the title, and song 13 is the music that plays in 1-1. I don’t know what song 10 is used for. Maybe end credits?
@JoLiKMC
@JoLiKMC 5 жыл бұрын
Heh. Yesterday, I took a few minutes to sort and label every single CMF file I extracted. (I'm kind of a collector of CMFs~) The tracks, according to order of extraction from _Multi-Ripper_ (starting from 0), are as follows: 00 - Battle Mode, Round BGM 01 - Battle Mode, Draw 02 - Battle Mode, Win Round 03 - Game Start (Round/Battle) 04 - Battle Mode, Win Game 05 - Story Mode, Miss (Lose Life) 06 - Story Mode, Game Over 07 - Title Screen 08 - Story Mode, Map 09 - Story Mode, Ending 10 - Story Mode, Stage Clear 11 - Story Mode, Vs. Boss 12 - Story Mode, Round BGM (Odd Numbers)* 13 - Story Mode, Round BGM (Even Numbers)** 14 - Story Mode, Intro Cutscene _(* = Round 2 BGM in other versions)_ _(** = Round 1 BGM in other versions)_
@intylab
@intylab 5 жыл бұрын
I remember having to binary hack my save file for the DOS port of Mega Man X because there was a bug that prevented you from getting Zero's power after you fight King. It was pretty straightforward.
@acos21
@acos21 5 жыл бұрын
The older Bisqwit get's the more he is morphing from the archetype of an obscure nerd into Scandinavian handsome masculinity. No homo yo.
@ahmadhabib1493
@ahmadhabib1493 5 жыл бұрын
Yooo. my siblings and mum used to get turns for this game on our first home pc. brings back so many memories.
@EH-ty7ko
@EH-ty7ko 4 жыл бұрын
It's my childhood game! Thanks for the video Bisqwit.
@AT-zr9tv
@AT-zr9tv 4 жыл бұрын
This was brilliant, thank you! Very fun, very well explained, super retro. Perfect.
@user-gu8ul4ol9s
@user-gu8ul4ol9s 2 жыл бұрын
As someone with a lot of interest in reverse engineering, I love this series so much! Have you ever participated in a software bug bounty program?
@Bisqwit
@Bisqwit 2 жыл бұрын
As I have often stated, I am not one of those people who seem to have infinite free time…
@user-gu8ul4ol9s
@user-gu8ul4ol9s 2 жыл бұрын
@@Bisqwit Oh. I hope that one day you will be a person with infinite free time.
@zerocoll20
@zerocoll20 4 жыл бұрын
you made programming funny to see. I never thought that would be possible
@holly_hacker
@holly_hacker 5 жыл бұрын
Great video! The game "The Incredibles" on the Gameboy Advance also has a password system, so perhaps it would be interesting how reverse engineering a GBA rom would be? Cheers!
@hristiyanvasilev1720
@hristiyanvasilev1720 5 жыл бұрын
It is all fun and games up to 12:17. How do you know the information described in the 'Data Content' portion of the video? That seems like some incredibly hard things to find out just by looking at the code.
@Bisqwit
@Bisqwit 5 жыл бұрын
The next part of the asm code built several variables by calling a function that receives a pointer to a struct with {byte index, bit index} pairs and the number of bits to assemble. It bore down to using the memory inspect feature to see what the contents of those structs are, annotate them down, and then identify what exactly those target variables are used for. I identified them by making changes to those memory bytes and seeing how the game reacts.
@pixelflow
@pixelflow 5 жыл бұрын
You should mess around with radare2/cutter! I've been reversing some microcontroller stuff. You can even step through functions and visualize call graphs.
@Bisqwit
@Bisqwit 5 жыл бұрын
I look forward to seeing you reproduce the results I did with the tools you mention.
@amigalemming
@amigalemming 5 жыл бұрын
Once I analysed the construction of Lemmings level codes. Unfortunately no one cared because you could get level code lists from any Amiga magazine at that time.
@stevep9177
@stevep9177 2 жыл бұрын
If you are looking for suggestions, I think Legacy of the Wizard (Dragon Slayer 4) would be fun to look at. Its password system is more or less completely documented, so maybe you can use some visuals to explain it for laypeople (you do this very well). The password system has also been modified between different ports/regions. Would it be interesting to compare and contrast?
@clydeston
@clydeston 5 жыл бұрын
Always interesting, very cool Bisqwit
@matoatlantis
@matoatlantis 5 жыл бұрын
Excellent video. Thanks for a hint about dosbox-debug (I use qemu/gdb combo but as gdb is not realmode aware it's a bit painful even with custom commands to deal with segments).
@Tsaukpaetra
@Tsaukpaetra 5 жыл бұрын
[ Genuine heavy rain sounds in the background ]
@maletil
@maletil 5 жыл бұрын
Good video! I would love to see you decoding Jazz Jackrabbit save files
@trieulieuf9
@trieulieuf9 4 жыл бұрын
Well, he tried to reverse engineer this game before i was born, and now i am a developer, watching him to reverse engineer it again.
@FyberOptic
@FyberOptic 5 жыл бұрын
It was fun to see a DOS one. I've done some 6502 and Z80 work in the past, but DOS and x86 disassembly is where most of my nostalgia is. I took apart Legend of the Red Dragon once, for example, which is my favorite BBS door game.
@Bisqwit
@Bisqwit 5 жыл бұрын
I loved the Legend of the Red Dragon and its successor, which I don’t remember what it was called. As for the game itself, I only remember the diamonds you acquired by various tasks, and Seth Able.
@FyberOptic
@FyberOptic 5 жыл бұрын
In the late 90s I was a huge Seth Able fan, and I wrote a LORD 2 clone called Defenders of Zentax. I sent out a beta version through Fidonet. But the BBS community in my area was practically dead by that point, and it was still going to take a while to finish the actual RPG parts of the game, so I never ended up releasing a full version.
@Mriks007
@Mriks007 5 жыл бұрын
Great work Bisqwit, you are the One, with your skills as programmer you can change the world. . ., i would like you to see programming ARM microcontrollers such as STM32 or any . . .
@Bisqwit
@Bisqwit 5 жыл бұрын
Thanks. I do in fact program STM32 microcontrollers daily at work, so I am not a foreigner to that world. However, electronic design is _not_ one of my strengths, and you kind of need both to produce something useful.
@DarkPuIse
@DarkPuIse 5 жыл бұрын
Clearly after a few difficult ones, you went for something easier, and that's fine. Was actually kind of interesting to me because I didn't know that PC games of the era would even use passwords - I guess I'm just so used to most of the games of that era that I'm familiar with having save files, but given the nature of the game and the minimal number of things it needs to encode, a password makes sense. Now what I'm wondering, as a long-time viewer of your stuff (and especially the Cracking VG Passwords series), is how the hell is this game's password somehow less complex than NES Bomberman!? Guess keeping that score, subtotal, and grand total was totally worth the extra password length...
@Bisqwit
@Bisqwit 5 жыл бұрын
Yeah, I didn’t want another 2-month project right after another. Thanks for writing!
@a_tiny_cactus
@a_tiny_cactus 5 жыл бұрын
Love this series, keep it up! Fascinating stuff.
@UXXV
@UXXV 5 жыл бұрын
Ahhh I used to use that unpacker too! Reminds me of the old SoftIce days!
@KeithPhillips
@KeithPhillips 3 жыл бұрын
Damn! I was just thinking of Softice the other day. Such a bad ass program back in its prime.
@Gioco_Ragazzo
@Gioco_Ragazzo 5 жыл бұрын
You Are The Alan Turing of Video Game Passwords.
@salainen6850
@salainen6850 5 жыл бұрын
Oh my god! The channel picture has finally changed.
@0xva
@0xva 5 жыл бұрын
I miss the old one.
5 жыл бұрын
Amazing video as always.
@gordontaylor2815
@gordontaylor2815 3 жыл бұрын
Doesn't look like anyone's mentioned this one yet, so I'll suggest the Robin Hood: Prince of Thieves licensed game for the NES. Its password system was DELIBERATELY hidden from the player (can only be activated by a button combination on the title screen) and generally regarded as being horribly broken; maybe you can make an episode about what went wrong in the implementation and how it could be fixed?
@Bisqwit
@Bisqwit 3 жыл бұрын
That sounds interesting, and yes, you are the first person to suggest that. I’ll add it to the wish list, with a higher score than most other remaining suggestions!
@KuraIthys
@KuraIthys 5 жыл бұрын
That is quite the process. Most of it was unfamiliar to me until I saw you messing around with a debugger and that suddenly reminded me of stuff I've actually done in the past. XD To be fair, I've never tried messing with existing games on this level. The closest I've ever gotten is doing Birth of the Federation mods. Since all the game data is in binary files, it involves making changes in a hex editor. I did do some investigation of my own, trying to work out additional things that could be modified, but someone else had already documented basic things pretty well. Still, changing ship parameters by tweaking values in a binary file is already pretty complex as far as modding goes. Come to think of it, most of the games I've ever tried to mod have been star trek ones. XD The other thing I did was mess around with the python scripts behind Bridge Commander. - possibly one of the most moddable games I've ever come across, and perhaps the only reason I know any python coding.
@ThanhNguyen-rz4tf
@ThanhNguyen-rz4tf 4 жыл бұрын
Wow, i always wanted to play this game when i was a child.
@v8metal
@v8metal 5 жыл бұрын
Bisqwit RULES.
@LemSportsinterviews
@LemSportsinterviews 4 жыл бұрын
think you'll do more content regarding thinkpads? i bought a t420 and flashed a custom BIOS, and it's like someone reached into my brain and created the perfect laptop from my dreams. sounds like it'd be up your alley, saw your video about your X series (:
@Bisqwit
@Bisqwit 4 жыл бұрын
Likely not. It‘s not like I collect thinkpads for hobby (though I prefer thinkpads for my personal use). I needed to accomplish a thing and I decided to make a video about that.
3 жыл бұрын
Elementar meu caro Watson!
@stgoddv2525
@stgoddv2525 5 жыл бұрын
hey you know this guy has like 45 years old? but he only represents like 25 years old. Hey Bisqwit, tell us the secret of eternal youth. What do you eat?
@Anton_Sh.
@Anton_Sh. 5 жыл бұрын
how do you know his age ?
@bastardtubeuser
@bastardtubeuser 5 жыл бұрын
This is a random off topic question with no priority. On 8/16 bit processors there are reachable limits to how many instructions could be passed before the next vertical blank arrives, otherwise drawing slows down. I wondered on modern machines doing many more cycles, could a hypothetical averaged nes game instruction set, multiplied by the whole nes catalog, be executed in the time it takes for a screen refresh ?. these are things i think about while working on an old 32k mirco computer for fun.
@Bisqwit
@Bisqwit 5 жыл бұрын
Well, you can calculate that. The NTSC vblank time is: The screen refreshes 60 frames per second, and the PPU counts 262 scanlines, of which about 20 scanlines are in vblank period. This means about 7.6 % of frame, and one frame is 1:60 seconds. This means the vblank period is about 1.27 milliseconds long. A modern computer may run at like 4.2 GHz rate, and may at times run two instructions per clock cycle. This means that in a span of 1.27 milliseconds (1:786 of a second), it can run about 10.7 million instructions. A typical NES game has 262144 bytes of program ROM, which contains both data and code, and each instruction is anywhere from one to three bytes long. This might mean about 117k instructions. By this calculation, a modern CPU, if it was running the 6502 instruction set, could run through this entire code (assuming that no part loops) ten times in a single NTSC vblank.
@bastardtubeuser
@bastardtubeuser 5 жыл бұрын
@@Bisqwit Thanks for that amazing hypothesis but would say 117k instructions X 679 (estimated nes games released) = 79443k run in a modern pcs refresh ? i guess it would, that is insane, thanks.
@BlueTJLP
@BlueTJLP 5 жыл бұрын
And there I was, thinking I was okay at assembler languages. I feel like writing another "Hello World" again. Here we go...
@Muslim_011
@Muslim_011 5 жыл бұрын
New cheat about bomberman in Nes is by switching the letter number 16 and 17 You will get an amazing levels can be 60 , 8A ... as example. But dont explose the dore because that will crash the game :) Ps: check the code 16 and 17. May be it is 15 and 16 or 17 and 18 because I may forget the exact switching
@GamerPro-nw5lf
@GamerPro-nw5lf 2 жыл бұрын
I wanted to modify the textures of the game The Getaway: Black Monday, on PS2, a GTA-style game from Sony with the Kinetica engine, from God Of War 1 and 2, well, I wanted to modify the textures of the city, vehicles, weapons, characters , and other things. Well, what would I have to do to change it like that? What program should I use?
@rouldiy
@rouldiy 2 жыл бұрын
If anyone is interested: I still remember the password for the last boss fight (stage 8-8) from like forever ago: MOCAEMNY
@AL6S00740
@AL6S00740 5 жыл бұрын
You sir are awesome
@m4rt_
@m4rt_ 2 жыл бұрын
6:10 hold on that's ascii values (a is 61 and b is 62)
@Bisqwit
@Bisqwit 2 жыл бұрын
Yes. Although not necessary by any means, often old-time console video game programmers opted to use ASCII for convenience reasons. Especially with games ported on multiple platforms.
@PwnySlaystation01
@PwnySlaystation01 5 жыл бұрын
Nice. I find the background music kinda distracting though
@neobikes
@neobikes 5 жыл бұрын
dyna blaster on amiga was my almost fav
@MrRamsestone
@MrRamsestone 4 жыл бұрын
Ok so I'm not familiar with advanced programming but it kinda looks like retro Cheat Engine. Am I wrong?
@gabrielazevedo3257
@gabrielazevedo3257 5 жыл бұрын
I love your videos! Will you record more programming videos?
@Bisqwit
@Bisqwit 5 жыл бұрын
yes
@alexturcani3234
@alexturcani3234 5 жыл бұрын
No clue what's going on, but i still love the video, and the game.
@cst1229
@cst1229 4 жыл бұрын
What text editor do you use?
@jimmybaldino5026
@jimmybaldino5026 5 жыл бұрын
Do this to Silpheed next. It's got this "flight school" thing at the beginning where it asks you to correctly name an enemy it shows on the screen (easily identified and named if you have a copy of the game's manual). I'm not sure if it does anything. I never noticed it do anything. But there does seem to be a frame that flashes by after you hit Enter with some text on it, and I was never able to capture and read it. Is there a way you can figure out what this question actually does in the gameplay?
@Bisqwit
@Bisqwit 5 жыл бұрын
That sounds more like copy protection than it sounds like game resume passwords. Not what this series is about. Also if there is a flash screen, just record it on a video and watch it frame-by-frame.
@jimmybaldino5026
@jimmybaldino5026 5 жыл бұрын
Bisqwit Here's the thing though: It seems to do nothing to the gameplay, whether I answer correctly out of the manual or just type in random text.
@Bisqwit
@Bisqwit 5 жыл бұрын
And you are sure the game version is not cracked (copy protection circumvention)?
@jimmybaldino5026
@jimmybaldino5026 5 жыл бұрын
Bisqwit I've downloaded the game from various sources, doesn't seem to be any different between each try. I just would like to know how this input affects the game.
@jasondaigle9852
@jasondaigle9852 5 жыл бұрын
Nice work!!
@elmariachi5133
@elmariachi5133 5 жыл бұрын
Hello! How do you come to enter tne length of the memory dump as 10000? Is it just to see as a generic value that most probably is more than enough for a small DOS program's data segment?
@Bisqwit
@Bisqwit 5 жыл бұрын
The number 10000 is in hexadecimal, and it is the largest addressable size within a single memory segment in 16-bit code.
@elmariachi5133
@elmariachi5133 5 жыл бұрын
Thank you! So could I also say: The memory segment itself is 10000h in size? OR are smaller ones possible?
@Bisqwit
@Bisqwit 5 жыл бұрын
Yes, you are both correct!
@sucersdungeon
@sucersdungeon 5 жыл бұрын
Best video I've seen this month. These are not only very interesting but educational as well. Thank you Bisqwit!
@josip22partenon
@josip22partenon 2 жыл бұрын
Hello there, here is one question. It's not about reverse engineering / cracking the passwords, but it is about this game. In gfx game folder there is 19 IMG files (graphic file format). I manage to see what 1st and 2nd file contains (with DDS converter), but there is a problem with rest of them (failed to load file). When you open any of them with notepad, you can see that they start with something like: "XXXX XXXXXXXX". Does it mean that they are, in some way, protected / encrypted, and if so - how to bypass that :D ?
@josip22partenon
@josip22partenon 2 жыл бұрын
My 1st comment is kinda off-topic, but Idk where to post this, cause your video is nearly close topic to my question that I found XD. I tried to open these files with Corel Ventura Publisher on Windows 3.1 via DosBox, but that program tells me that file cannot be converted, because it can be in impropered format or there is not enough memeory to perform the action -_- . Why Ventura Publisher ? Because, this old software can open IMG graphic file formats which are related to GEM (Graphic Enviroment Manager). Anyone ? Thanks in advance.
@Bisqwit
@Bisqwit 2 жыл бұрын
Hi josip22 partenon, First of all, file extensions are meaningless. They are just a name. Especially when it comes to video games, which don’t have to worry about interoperability but only care about their own files, the files can be named literally _anything._ The game can open its own file just as well whether it is called JACK.JPG or QUUX.ZOF. There is literally no difference, for a programmer that already knows which file they want to open and who knows what they expect to find inside. The only thing that file extensions are good for is for user interfaces and programs that don’t already know what the file contains; in that case it provides a hint that the UI can use to decide which program to open when the file is clicked. When you study a game file directory, and you find a file that has an extension IMG or PIC or something like that, it _probably_ means that it contains some kind of images or pictures, but the format is utterly and totally arbitrary and up to the game designer. I cannot state this enough. The file contents can be literally anything up to the imagination of the game designers. If you are lucky, it contains some common format like PCX/BMP/LBM, but it is equally likely that it’s a custom format designed for the game. There is overwhelmingly close to _zero_ chance that it’s some CorelDraw format or some other esoteric format related to some proprietary software made by another company. Sometimes, it might be a common format like PCX/PNG/BMP/JPG, but encrypted using some scheme that is specific and tailored for that game. The same goes for sounds, videos, models, tables, data, anything. The only files that are guaranteed to contain what it says on the tin are those you are meant to access directly, such as the executable that starts the game.
@josip22partenon
@josip22partenon 2 жыл бұрын
I understand. Anyway, thank you for detailed response. Appreciate it !
@Boffin55
@Boffin55 5 жыл бұрын
+1 for using JOE
@ovemelaa
@ovemelaa 5 жыл бұрын
Didn't understand anything... but watched it all.
@alfiewhitson7726
@alfiewhitson7726 5 жыл бұрын
if you're using Debian for actually running DosBox, how come you're not having to use Wine ? Or am I looking at this from too literal of a perspective given that this is Dos, and it would be more of a case that you'd just have to have some sort of way of being able to compile x86 assembly ?
@Bisqwit
@Bisqwit 5 жыл бұрын
DOSBox is a portable DOS emulator that runs on any platform that can compile SDL programs, regardless of host architecture. It is essentially a mix between a virtual machine and an emulator.
@Veso266
@Veso266 5 жыл бұрын
Do you know of any good decompiler gor 16 bit programs (what did people use in the DOS days, was there something else then Hackers View) was there something for DOS like IDA is for windows now?
@ninekay9
@ninekay9 3 жыл бұрын
nice! i loved this!
@user-zt3qv5de8r
@user-zt3qv5de8r 2 жыл бұрын
Have you ever participated in a security ctf competition?
@Bisqwit
@Bisqwit 2 жыл бұрын
Nope..
@yomismo3252
@yomismo3252 5 жыл бұрын
pretty awesome as always
@scarbotheblacksheep9520
@scarbotheblacksheep9520 4 жыл бұрын
I wonder if you'll ever do a Metal Gear password cracking video. If I looked at someone's walkthrough correctly, it has one of the weakest checksums I've seen (only 32 possible characters). Also, there are many passwords that seem to be valid that use tons of repeating characters, like T1111 11111 11111 11111 11111.
@Bisqwit
@Bisqwit 4 жыл бұрын
Thank you. I have added it to the idea list. The list is publicly viewable at: docs.google.com/spreadsheets/d/11gvPNgp6H4d2vEYl9kQJXM6jOCQ5WcnA4VMr9KugPos/
@BagOfMagicFood
@BagOfMagicFood 3 жыл бұрын
Could it be any weaker than Cosmic Spacehead's? That appears to have no scrambling of its password information at all, so it gets pretty obvious how a certain kind of change in your status will always change the same two or three characters, with one of those characters always being the final character, which means that's got to be the 5-bit checksum--I've been finding I can make any bogus password legal just by trying all 32 values for the last character. Of course it's easier to see the individual changes in the American NES version, Linus Spacehead's Cosmic Crusade, where you can always generate another password anywhere instead of having to find the few password items in the other versions. This video reminds me that only the PC and Amiga versions of Cosmic Spacehead modified the password encoding to include the number of extra lives. I once transferred a password that gave me 15 lives on PC and 31 lives on Amiga, even though you can't collect anywhere near 31 in any version! It's also strange how the PC version is the only other version that accepts locations from Linus passwords that don't contain password items in Cosmic Spacehead instead of defaulting to Old Lino Town, while the Amiga version will hang/crash/glitch up if you enter a password with a location that doesn't contain a password item, at least on the emulator I tried. Though I got stumped trying to follow code in a debugger earlier this month, this video series gives me hope that I'll learn how to decipher at least this one easy password system.
@edoardobarolo4680
@edoardobarolo4680 3 жыл бұрын
I have a dream: to be able to reverse engeneer the old DiD Eurofighter 2000 DOS game dynamic campaign generator. There is nothing like that this days...Can you help me ?
@Bisqwit
@Bisqwit 3 жыл бұрын
Sorry, I don’t have time to work on extra projects.
@murrij
@murrij 5 жыл бұрын
Awesome.
@sevret313
@sevret313 5 жыл бұрын
I loved that game.
@spider853
@spider853 4 жыл бұрын
watching at 5:36, why not search for memory for you input password (bbbbbbb) and put a data breakpoint on it?
@Bisqwit
@Bisqwit 4 жыл бұрын
Because of likelihood of false positives, and because I don’t know the representation of the data - whether the symbol "B" is stored in RAM as 01, 02, 81, 42, or any arbitrary number. Even in this case it was 62 - corresponding to ASCII _lowercase_ "b", even though the symbol on screen is a capital "B" - but there is no reason to assume that the game even uses ASCII to begin with.
@spider853
@spider853 4 жыл бұрын
@@Bisqwit I see
@notorio526
@notorio526 5 жыл бұрын
You sound like a cool pirate
@HeribertoNieves
@HeribertoNieves 2 жыл бұрын
you are such a genius!!
@Bisqwit
@Bisqwit 2 жыл бұрын
Thanks! I hope I was able to make you help learn something, too.
@pierrenapoletano3889
@pierrenapoletano3889 5 жыл бұрын
hello, I would have liked to know which clavie do you use?
@Bisqwit
@Bisqwit 5 жыл бұрын
What’s a clavie?
@Bisqwit
@Bisqwit 5 жыл бұрын
If you mean the _keyboard,_ I use a Fujitsu KBPC-SX. it has a PS2 connector.
@Synapse-id6ej
@Synapse-id6ej 4 жыл бұрын
Should I change from windows to Linux? I develop programs for database and low-base server side application but I don't know if I should, since I still have to be in touch with Windows
@Bisqwit
@Bisqwit 4 жыл бұрын
I would recommend it. Many corporate software is nowadays available for Linux, such as Microsoft Teams, Outlook Web Access (through browser). If you really need Windows, you can always put it in a virtual machine. There _is_ some learning to get fluent at a Linux desktop, but there was a learning curve to learn using Windows, too.
@Synapse-id6ej
@Synapse-id6ej 4 жыл бұрын
@@Bisqwit thank you so much!
@Synapse-id6ej
@Synapse-id6ej 4 жыл бұрын
Can I ask what os you use?
@arlecchino1986
@arlecchino1986 3 жыл бұрын
what font do you use in your terminal
@Bisqwit
@Bisqwit 3 жыл бұрын
Answered in: kzbin.info/www/bejne/q3q3oYFjhL-Wq9E
@arlecchino1986
@arlecchino1986 3 жыл бұрын
@@Bisqwit Thank you
@DIPPY16
@DIPPY16 5 жыл бұрын
Get your hands off Dyna Blaster! This is my top childhood game! I used to have codes for all levels :). Though It a couple of years for me to find out that if you type the name of developper of this game as one name - hudsonsoft - it will make you invincible :)
@Bisqwit
@Bisqwit 5 жыл бұрын
Not only invincible, but you can hit F1..F8 to warp right into the selected level… and shift+F1..F8 (IIRC) to select the sublevel.
@DIPPY16
@DIPPY16 5 жыл бұрын
@@Bisqwit Still missing 1-3, 2-3, 2-8, 3-4, 3-5, 3-8, 4-1, 4-3, 4-4, 4-5, 4-7, 5-3, 5-5, 5-7, 5-8, 6-1, 6-2, 6-4, 6-5, 7-1, 7-3, 7-4, 7-5, 7-8, 8-1, 8-7 from English words (guess it is impossible to generate code for those levels?)
@Bisqwit
@Bisqwit 5 жыл бұрын
It’s just that none of the valid passwords for those levels happened to be an English word, but some other cluster of letters that is not an English word. The table at 15:44 was specifically a table of passwords that coincidentally happen to also be an English word. For example, here is small list of valid passwords for the 1-3 level. MABWSOTP, MACCWQVT, MACCWVVN, MACESIVN, MACRWQVN, MACRWVVC, MAFCHVPS, MAFEJIPS, MAFESOTP, MAFRHQPS, MAFRHVPV, MAFRWVTP, MAFWJOPU, MAFWSITP, MARCHQSL, MARCWQVN, MARCWVVC, MARRWQVC, MBGGWQEY, MBGNHQRZ, MBGNWQEK, MBGNWVEY, MBNASIEK, MBNGWQEK, MBNGWVEY, MBNNWQEA, MBNNWVEK, MBOAJIHR, MBOASOAH, MBOGHQHR, MBOGHVHE, MBOGWVAH, MBOLJOHG, MBOLSIAH, MBONHVHR, MBYLSOAH, MCGGWQVC, MCGNHQSL, MCGNWQVN, MCGNWVVC, MCNASIVN, MCNGWQVN, MCNGWVVC, MCNNWQVT, MCNNWVVN, MCOAJIPS, MCOASOTP, MCOGHQPS, MCOGHVPV, MCOGWVTP, MCOLJOPU, MCOLSITP, MCONHVPS, MCYLSOTP, MKGGVNEY, MKGNONRZ, MKGNVNEK, MKGNVWEY, MKNATMEK, MKNGVNEK, MKNGVWEY, MKNNVNEA, MKNNVWEK, MKOALMHR, MKOATHAH, MKOGONHR, MKOGOWHE, MKOGVWAH, MKOLLHHG, MKOLTMAH, MKONOWHR, MKYLTHAH, MOGGVNVC, MOGNONSL, MOGNVNVN, MOGNVWVC, MONATMVN, MONGVNVN, MONGVWVC, MONNVNVT, MONNVWVN, MOOALMPS, MOOATHTP, MOOGONPS, MOOGOWPV, MOOGVWTP, MOOLLHPU, MOOLTMTP, MOONOWPS, MOYLTHTP, MUBWTHTP, MUCCVNVT, MUCCVWVN, MUCETMVN, MUCRVNVN, MUCRVWVC, MUFCOWPS, MUFELMPS, MUFETHTP, MUFRONPS, MUFROWPV, MUFRVWTP, MUFWLHPU, MUFWTMTP, MURCONSL, MURCVNVN, MURCVWVC, MURRVNVC, MWBWSOAH, MWCCWQEA, MWCCWVEK, MWCESIEK, MWCRWQEK, MWCRWVEY, MWFCHVHR, MWFEJIHR, MWFESOAH, MWFRHQHR, MWFRHVHE, MWFRWVAH, MWFWJOHG, MWFWSIAH, MWRCHQRZ, MWRCWQEK, MWRCWVEY, MWRRWQEY, MXBWTHAH, MXCCVNEA, MXCCVWEK, MXCETMEK, MXCRVNEK, MXCRVWEY, MXFCOWHR, MXFELMHR, MXFETHAH, MXFRONHR, MXFROWHE, MXFRVWAH, MXFWLHHG, MXFWTMAH, MXRCONRZ, MXRCVNEK, MXRCVWEY, MXRRVNEY, UAEEOBRA, UAEVOBRU, UAEVOHRA, UAEVOQCH, UAOWIJUL, UAVEOBRU, UAVEOHRA, UAVKIBHU, UAVVOHRU, UBAAOBST, UBAHOBSG, UBAHOHST, UBAHOQYP, UBFLIJGZ, UBHAOBSG, UBHAOHST, UBHHOHSG, UBHZIBPG, UCAAOBRA, UCAHOBRU, UCAHOHRA, UCAHOQCH, UCFLIJUL, UCHAOBRU, UCHAOHRA, UCHHOHRU, UCHZIBHU, UKAAHEST, UKAHHESG, UKAHHNYP, UKAHHOST, UKFLMLGZ, UKHAHESG, UKHAHOST, UKHHHOSG, UKHZMEPG, UOAAHERA, UOAHHERU, UOAHHNCH, UOAHHORA, UOFLMLUL, UOHAHERU, UOHAHORA, UOHHHORU, UOHZMEHU, UUEEHERA, UUEVHERU, UUEVHNCH, UUEVHORA, UUOWMLUL, UUVEHERU, UUVEHORA, UUVKMEHU, UUVVHORU, UWEEOBST, UWEVOBSG, UWEVOHST, UWEVOQYP, UWOWIJGZ, UWVEOBSG, UWVEOHST, UWVKIBPG, UWVVOHSG, UXEEHEST, UXEVHESG, UXEVHNYP, UXEVHOST, UXOWMLGZ, UXVEHESG, UXVEHOST, UXVKMEPG, UXVVHOSG
@DIPPY16
@DIPPY16 5 жыл бұрын
@@Bisqwit So all in all it is totally random and depends on the game itself (speaking very generally)?. I am asking ever since I used to play this game like 20 years ago as well and I also kept on collecting the passwords - it was really satisfying to finish it :)
@Bisqwit
@Bisqwit 5 жыл бұрын
Each game has their own algorithm how its data is converted from/to a password. Because those conversion processes simply deal with relationships between numbers and some symbols, the results are not really words in any language except by chance. For example, suppose that in my game I decided that a level number from 00-675 range is converted into two alphabets, by dividing the level number by 26 and converting both the quotient and remainder into alphabets in A-Z range, and concenating the two. Most of the results would look like BK, AC, DP, UA, and so on, but a few of them would be valid English words like IS, AN, OR, IF, because that’s just how mathematics works. I hope this gets the point across.
@alexandrprincip6366
@alexandrprincip6366 5 жыл бұрын
Last time played this game in 2001. Remember password MURCTNAL
@紺野-純子
@紺野-純子 5 жыл бұрын
Thanks for the info I don't understand anything
@TheHippyhopp
@TheHippyhopp 5 жыл бұрын
When is the pointer video coming?😋
@Darksoulmaster
@Darksoulmaster 5 жыл бұрын
Nice! A New video!
@Olejika_CheatEngine
@Olejika_CheatEngine 3 жыл бұрын
Why no more videos?
@Bisqwit
@Bisqwit 3 жыл бұрын
Because I am only one person with one life. Making videos takes time and energy that is sometimes required for other purposes. When that happens, one has to prioritize pursuits. I will make more when situation allows.
@Decco6306
@Decco6306 4 жыл бұрын
cool
@mgetommy
@mgetommy 5 жыл бұрын
awesome!
@akj7
@akj7 5 жыл бұрын
Is there a reason why you used PHP instead of C++ for the algorithms?
@Bisqwit
@Bisqwit 5 жыл бұрын
Faster prototyping. Different languages are good for different things, even if they all can be used for all tasks.
@tonychopper5758
@tonychopper5758 5 жыл бұрын
Why didn't you just use a Game Genie?
@Bisqwit
@Bisqwit 5 жыл бұрын
I have a few questions regarding your suggestion. 1. How exactly will that solve the puzzle and satisfy curiosity on how the password system works? 2. How exactly would you insert the Game Genie device into a PC? 3. If the point is to cheat, why not just type the HUDSONSOFT cheat, which enables level selection with F1..F8?
How I got Mario in That Editor - And how Norton Got 🐁
13:30
Which editor/IDE does Bisqwit use? Answers & some history.
14:23
Players vs Corner Flags 🤯
00:28
LE FOOT EN VIDÉO
Рет қаралды 68 МЛН
когда не обедаешь в школе // EVA mash
00:57
EVA mash
Рет қаралды 3,3 МЛН
Офицер, я всё объясню
01:00
История одного вокалиста
Рет қаралды 3,3 МЛН
Reverse Engineered old Compression Algorithm for Frogger
16:29
LiveOverflow
Рет қаралды 254 М.
What are EXE files made of?
11:00
Bisqwit
Рет қаралды 145 М.
Reverse Engineering RollerCoaster Tycoon | How does it work?
38:54
Nathan Baggs
Рет қаралды 247 М.
Creating a Doom-style 3D engine in C
18:50
Bisqwit
Рет қаралды 958 М.
CrowdStrike IT Outage Explained by a Windows Developer
13:40
Dave's Garage
Рет қаралды 2,1 МЛН
Learn Reverse Engineering (for hacking games)
7:26
cazz
Рет қаралды 1 МЛН
My thoughts on framework after daily driving it for 2 years
16:34
Louis Rossmann
Рет қаралды 708 М.
Reverse Engineering a Classic Video Game (BioForge)
59:02
Tim Comport
Рет қаралды 21 М.