Steam Achievement Forced Unlocker screenshot

Steam Achievement Forced Unlocker v1.00 (SAFU)

SAFU is a tool that will unlock almost any given Steam achievement for the chosen game.

While I will admit there is a way better application wrote for this very purpose, SAFU was wrote using a weakness in the Steam-published game ‘Deadly 30’.

It works by using the bundled medals.exe file, which contains the achievement unlocking functions for the game mentioned before.  SAFU will just hex replace the name of the achievements in the file with the one inputed. A steam_appid file is generated to tell medals.exe what game is running. Because of this method there are some limitations, namely the achievement’s name can’t be any longer than 19 characters.

You can download the source and binary below. Be aware that the script was wrote using AutoHotkey, and compiled with AHK2EXE, which triggers a false positive with some Antivirus software. You can run the script uncompiled if you have AutoHotkey installed.

Download from: Dropbox

A copy of the source code:

#SingleInstance Force
#NoEnv
#NoTrayIcon
SendMode Input
SetWorkingDir %A_ScriptDir%

#Include inc\Crypt.ahk
#Include inc\CryptConst.ahk
#Include inc\CryptFoos.ahk

if not A_IsAdmin
{
Run *RunAs “%A_ScriptFullPath%”
}
if A_OSVersion in WIN_NT4,WIN_95
{
MsgBox, OS is too old for this shit.
ExitApp
}

;================================================================================================
GUI, Start:New
Gui -MaximizeBox
Gui, font, s8 bold q5 c000000, Arial

Gui, Add, Text, xm+9 ym+5, App ID
Gui, Add, Edit, xm+119 ym w260 r1 vGameID,
Gui, Add, Text, xm+9 ym+35, API Name
Gui, Add, Edit, xm+119 ym+30 w260 r1 Limit19 vApiName,
Gui, Add, Button, w185 h30 xm y70 gCANCEL, CANCEL
Gui, Add, Button, w185 h30 xm+195 y70 default gSTART, APPLY
Gui, Show, w400 h110, Steam Achievement Forced Unlocker v1.00
return

StartGuiEscape:
StartGuiClose:
Cancel:
ExitApp
return

START:
Gui Submit
hash := Crypt.Hash.StrHash(ApiName,1)
;Prepare files
FileRemoveDir, temp,1
FileCreateDir, temp
FileInstall, steam\steam_api.dll, temp\steam_api.dll,1
FileInstall, steam\medals.exe, temp\medals.exe,1
FileAppend, %GameID%, temp\steam_appid.txt
;Modify medals.exe
VarSetCapacity(Header2, 16896, 0)
file := FileOpen(“temp\medals.exe”,”rw”)
file.Seek(10184)
file.Write(ApiName)
file.RawWrite(Header2)
file.Seek(10204)
file.Write(hash)
file.RawWrite(Header2)
file.close()
FileAppend, %ApiName% hash, temp\test.txt
RunWait, %comspec% /c temp\medals.exe %ApiName% %hash%,,hide
FileRemoveDir, temp,1
Gui Destroy
ExitApp
return

ExitApp
return

Leave a Reply

Your email address will not be published. Required fields are marked *