Unity BeastBeat [v0.1.15a] [C-BoneGames]

4.00 star(s) 3 Votes

Temp0r

New Member
Jun 7, 2023
9
1
trying to learn to modify .dll files, any good resources out there, especially from people that were able to make the previous cracks to this before the last 2 updates?
 

whocareslol1234

New Member
Oct 14, 2020
9
20
trying to learn to modify .dll files, any good resources out there, especially from people that were able to make the previous cracks to this before the last 2 updates?
Well they changed from Mono to IL2CPP, which makes life more annoying. I'm no reverse engineer, just someone that toys with software occasionally. Maybe you can take these steps further, or maybe you can find inspiration from how others have cracked stuff on this site and go from there.

Anyway, I toyed with this for awhile before giving up, but I got slightly further than nowhere by using UnityExplorer + MelonLoader to poke around on the fly rather than use something like Ghidra. This lovely comment from SireneDead seems like a solid guide to set that up, if you don't know how: https://f95zone.to/threads/hotel-elera-v202308101830a-project-elera.72713/post-11471464

I tried going back to a cracked older version (the one linked in the OP) to see how the GallerySelectView / GalleryView was constructed and tried to manually instantiate it in the DontDestroyOnLoad scene in the current version with the proper parent. I managed to get one of the scenes to show up in the gallery select view, but couldn't interact with it. I imagine there's some hacky nonsense you can do to manually create the view for each of the live2d scenes you care about, but that's gross. In any case, it seemed useful to me to use the old version as a reference for "how things SHOULD be working when cracked." Searching around in the Object Explorer > Object Search menu was also useful, although if you don't have any software/programming knowledge it'll probably be gibberish.

The more "shareable" fix here would be to fool the patreon authentication or gallery check in some way, but I got nowhere there. I poked around the "Patreon" object and tried to see how the auth works. I considered changing the URL for the oauth2 page from patreon to something spoofed/running locally, but every time I tried the game crashed. Maybe you can add a hook to one of the patreon auth methods that does something useful, but the 45 minutes I spent on this was more enjoyment than I got out of the game (seriously, the devs need to hire better map charters for hell difficulty...). In the happy path though, you'll be redirected you to a "connection success" page served at .

Hopefully some of that is useful, but it's probably just rambling. I have precisely 0 experience in this area, just passing forward what I learned in an hour or so of poking around.
 

Temp0r

New Member
Jun 7, 2023
9
1
Well they changed from Mono to IL2CPP, which makes life more annoying. I'm no reverse engineer, just someone that toys with software occasionally. Maybe you can take these steps further, or maybe you can find inspiration from how others have cracked stuff on this site and go from there.

Anyway, I toyed with this for awhile before giving up, but I got slightly further than nowhere by using UnityExplorer + MelonLoader to poke around on the fly rather than use something like Ghidra. This lovely comment from SireneDead seems like a solid guide to set that up, if you don't know how: https://f95zone.to/threads/hotel-elera-v202308101830a-project-elera.72713/post-11471464

I tried going back to a cracked older version (the one linked in the OP) to see how the GallerySelectView / GalleryView was constructed and tried to manually instantiate it in the DontDestroyOnLoad scene in the current version with the proper parent. I managed to get one of the scenes to show up in the gallery select view, but couldn't interact with it. I imagine there's some hacky nonsense you can do to manually create the view for each of the live2d scenes you care about, but that's gross. In any case, it seemed useful to me to use the old version as a reference for "how things SHOULD be working when cracked." Searching around in the Object Explorer > Object Search menu was also useful, although if you don't have any software/programming knowledge it'll probably be gibberish.

The more "shareable" fix here would be to fool the patreon authentication or gallery check in some way, but I got nowhere there. I poked around the "Patreon" object and tried to see how the auth works. I considered changing the URL for the oauth2 page from patreon to something spoofed/running locally, but every time I tried the game crashed. Maybe you can add a hook to one of the patreon auth methods that does something useful, but the 45 minutes I spent on this was more enjoyment than I got out of the game (seriously, the devs need to hire better map charters for hell difficulty...). In the happy path though, you'll be redirected you to a "connection success" page served at .

Hopefully some of that is useful, but it's probably just rambling. I have precisely 0 experience in this area, just passing forward what I learned in an hour or so of poking around.
Thanks for the reply! I've dabbled with the idea of hacking (yet to really manage anything usable/successful) but definitely want to see how far I could go. The resources are appreciated and I'll look over them to see what methods are more helpful.

So far all I've really been able to do is compare what the differences are between the original .dll and the carc .dll with JetBrains DotPeek and a diff software (Kdiff3). Assuming all the hacking that is needed is in the assembly dll and nothing else. Also tried decompiling the extracted game with the use of UTiny Ripper, but that lead to a lot of headache and errors out the wazoo due to incorect Unity version, and present build scripts, or something of that sort.

I also agree that the hell mode seems to need some work. Granted I'm not an experienced beat map style game player, but the difficulty jump seems rather steep. Have seen some screencaps of people getting impressive scores on hell mode though. If they're legitimate they definitely have a lot more talent/experience.
 

bird_boy24

Newbie
Feb 4, 2019
49
44
just read through their patreon and with so many extra verification steps to make it hard to crack it just doesn't seem worth it anymore
 

Leeon88

Newbie
May 13, 2020
41
24
just read through their patreon and with so many extra verification steps to make it hard to crack it just doesn't seem worth it anymore
They still post the animation (with story) as seperate post. So, maybe we should just wait for the video post later.
 

Passerby2010

Active Member
Dec 24, 2019
503
275
At this point it is better to upload video with animation from patreon. Why bother with game if every time i try open it the screen is black
 

munopop

Member
Nov 30, 2018
255
224


Link to the latest game on this website..but it's not the latest either according to patreon.
 
Sep 18, 2023
3
7
trying to learn to modify .dll files, any good resources out there, especially from people that were able to make the previous cracks to this before the last 2 updates?
Short novel incoming, but hopefully this is useful to pass on. Turns out this would hypothetically be super easy to do, even with all the obfuscation. Please remember to follow your local copyright laws and do not do anything unethical or illegal.

I would strongly expect these steps to do what you expect.

- Open BeastBeat_Data\Managed\Assembly-CSharp.dll in dnSpy 64 bit
- Navigate to the BeastBeat.View > MainView reference
- Find where the menuitems are instantiated, specifically the gallery. You'd be looking for a line of code something like:

Code:
            this.<OBFUSCATED_NAME>.Get<Button>("Gallery", true).RANDOMTEXT(new UnityAction(this.MORERANDOMTEXT), true);
In a method with an obfuscated name in public class MainView : ViewItem.

- The parameter passed to the UnityAction constructor in that line (this.MORERANDOMTEXT) is a pointer to a method. Follow that to find a method that will have two early-exit conditions based off an obfuscated conditional that might not make very much sense. This code is more or less saying: "if either of these conditions are true, don't show them the gallery select and instead show the LoginView."

If we remove both of those early returns and just allow the call to ShowView<GallerySelectView>() and recompile + save, voila, we can now access the gallery in game as expected. There's one small catch though, we can't do anything there.

There are a ton of functions in this unit that look exactly like the function we just changed, but I assume that's just duplication to support more obfuscation (I guess if you don't know the entry point or it's not obvious, it's harder to rule all these out as dead code), so that's the only change you'll have to make.

Anyway, at this point, nothing in the gallery will unlock because the developers are idiots wasting their time on obfuscation and silly overly complicated authentication rather than making better maps ...reasons.

So we check out the GallerySelectView and take a look. Well fuck me sideways, there are tons of functions that look something like this that are clearly used to determine whether or not we're authenticated:

Code:
        public bool AWFULNAMEHERE(int FOOBAR)
        {
            return ABCDEFG.HIJKLMNOP() && QRSTUVWXYZ.ABCD1234.FOOBARBAZ(MORETEXT);
        }
The first method in this conditional (ABCDEF....) is actually one of the methods used in the GallerySelectView code we nuked. I wonder what would happen if we were to navigate to that method by clicking on it and then change the method body (Right click -> Edit method (C#)) and change it to just return true. At that point, hypothetically, you could probably save and recompile the dll and everything will probably work.

If that didn't work, which I'm fairly sure it will, you could also go the nuclear option of right clicking ALL of those authentication methods and going to "Change IL Instructions" and changing the assembly to just return true (if you need to know what instructions do that, just change a method in a file that actually complies to return true and just steal the instructions. It should be one register edit + a ret statement). Modifying the assembly instead of the C# code here is necessary because the GallerySelectView itself won't actually compile if you edit due to specific compilation/translation nonsense I don't really want to get into, but modifying the underlying assembly will always work.

Hope that helps, sorry for the massive fucking wall of text. If this is useful to you, give this dude a like because his post is useful: https://f95zone.to/threads/beastbeat-v0-1-12-c-bonegames.131957/post-11474130
 
Last edited:
Sep 18, 2023
3
7
just read through their patreon and with so many extra verification steps to make it hard to crack it just doesn't seem worth it anymore
See my post directly above, but honestly when you give clients control over the code on their own machines it's damn hard to prevent them from doing what they want with it. The best you can hope to do is exactly what you said: make it hard enough to be not worth the effort.

I find it crazy they're making paying customers jump through all of these hoops (the patreon auth apparently was flaky as hell) when a crack for the not paying customers is almost unavoidable (at their budget at least, companies like Denuvo have actually done an incredible job of stopping piracy). So pirates are getting the better version of the game with less hassle :p
 
4.00 star(s) 3 Votes