Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Gui, Add, Button,, SELECT
- Gui, Show
- return
- ; ===================== Функция записи в файл. ======================
- FilePatch(SrcFile, Offset, HexString)
- {
- FileGetSize, FileSize, %SrcFile%
- HexString := RegExReplace(HexString, "\s")
- Len := StrLen(HexString)
- cBytes := Len / 2
- VarSetCapacity(Buf, cBytes, 0)
- Pos = 1
- Loop, % cBytes
- {
- Byte := "0x" . SubStr(HexString, Pos, 2)
- Pos += 2
- NumPut(Byte, Buf, A_Index - 1, "Char")
- }
- OPEN_EXISTING = 3
- FILE_WRITE_DATA = 2
- FILE_BEGIN = 0
- VarSetCapacity(BytesWritten, 4, 0)
- hFile := DllCall( "CreateFile", "Str", SrcFile
- , "UInt", FILE_WRITE_DATA
- , "UInt", 0
- , "UInt", 0
- , "UInt", OPEN_EXISTING
- , "UInt", 0
- , "UInt", 0 )
- DllCall( "SetFilePointer", "UInt", hFile
- , "UInt", Offset
- , "UInt", 0
- , "UInt", FILE_BEGIN )
- DllCall( "WriteFile", "UInt", hFile
- , "UInt", &Buf
- , "UInt", cBytes
- , "UInt", &BytesWritten
- , "UInt", 0 )
- DllCall( "CloseHandle", "UInt", hFile )
- }
- ButtonSELECT:
- Offset = 0x2DD ; Смещение в файле, по которому писать.
- Data = ; Данные для записи. Пробелы необязательны.
- (
- EB 1B
- )
- FileSelectFile, FilePath, 0, , Выберете CrackMe, *.exe
- FilePatch(FilePath, Offset, Data)
- MsgBox, Patching Success!
- return
- GuiClose:
- ExitApp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement