Skip to content

Commit

Permalink
Dead Maze now ciphers its client verification template
Browse files Browse the repository at this point in the history
  • Loading branch information
friedkeenan committed Sep 23, 2023
1 parent 0086e95 commit fefa858
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 12 deletions.
4 changes: 1 addition & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,7 @@ Other Atelier 801 games have very similar structures to Transformice, and so thi
- Nekodancer
- Fortoresse

Dead Maze has a client verification template, however it should not be ciphered when used. Additionally it includes the bottom 16 bits of the `getTimer()` function in the data, but I don't believe that matters for our purposes.

The rest of the games do not have client verification templates, and thus none will be traced out.
Transformice and Dead Maze are the only games that have client verification templates. And so for the others, no client verification template will be traced out.

To obtain the secrets to a particular game, its name should be supplied to the `game` loader parameter. For instance, here is how you would do so using the `leak-secrets.py` script:

Expand Down
2 changes: 1 addition & 1 deletion src/leakers/DeadMazeLeaker.as
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package leakers {
public class DeadMazeLeaker extends Leaker {
public function DeadMazeLeaker() {
super("http://www.deadmaze.com/alpha/deadmeat.swf", true, false);
super("http://www.deadmaze.com/alpha/deadmeat.swf", true);
}
}
}
10 changes: 3 additions & 7 deletions src/leakers/Leaker.as
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,12 @@ package leakers {

private var game_url: String;
private var has_verification: Boolean;
private var is_verification_ciphered: Boolean;

public function Leaker(game_url: String, has_verification: Boolean = false, is_verification_ciphered: Boolean = false) {
public function Leaker(game_url: String, has_verification: Boolean = false) {
super();

this.game_url = game_url;
this.has_verification = has_verification;
this.is_verification_ciphered = is_verification_ciphered;
}

public function leak_secrets() : void {
Expand Down Expand Up @@ -631,11 +629,9 @@ package leakers {
data.readUnsignedByte();
data.readUnsignedByte();

if (this.is_verification_ciphered) {
var key: * = key_from_name(VERIFCATION_TOKEN + "", this.packet_key_sources);
var key: * = key_from_name(VERIFCATION_TOKEN + "", this.packet_key_sources);

data = xxtea_decipher(data, key);
}
data = xxtea_decipher(data, key);

var client_verification_template: * = "";
while (data.bytesAvailable) {
Expand Down
2 changes: 1 addition & 1 deletion src/leakers/TransformiceLeaker.as
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package leakers {
public class TransformiceLeaker extends Leaker {
public function TransformiceLeaker() {
super("http://www.transformice.com/Transformice.swf", true, true);
super("http://www.transformice.com/Transformice.swf", true);
}
}
}

0 comments on commit fefa858

Please sign in to comment.