Everything is pointless from a certain perspective.

utena.egloos.com

포토로그




powershell로 바이너리 배치 에디트 하기 나중에 다시 찾아볼 것들

그러니깐....간단히 작은 파일 중 일부 내용을 매일 고쳐써야할 일이 있는데, vbs로도 가능은 하지만 원래 글케 쓰라고 만든게 아니라 빙빙 돌아가야하는 귀찮음이 있음. 뭐 어차피 windows 10에서 쓸거니 default로 탑재된 powershell로 된걸 써도 되겠지싶어 만ㄷ..아니 베낀것. superuser.com에서 가져왔지 싶다. 아래걸 bat로 만들면 굳이 ps1같은거 따로 안만들어도 한방에 됨.

아래 예시는 1kB도 안되는 파일 읽어서 그중 두 부분을 0으로 만드는 것. 물론 주소는 zero base. 원래 파일은 주소, 데이터입력 받아서 활용가능하지만 잘 안되길래 hard code해버림. 그래서 중간에 쓸데없이 변수에 할당해주는 라인있는거니까 없애도 됨.



@PowerShell.exe -ExecutionPolicy RemoteSigned -Command "Invoke-Expression -Command ((Get-Content -Path '%~f0' | Select-Object -Skip 2) -join [environment]::NewLine)"
@exit /b %Errorlevel%
# script goes here and below....

$FileName="여기는 파일 경로"
$bytes = [System.IO.File]::ReadAllBytes($FileName)
$bytes[0x25c] = 0x00
$bytes[에디트할 주소] = 써넣을 값
[System.IO.File]::WriteAllBytes($FileName, $bytes)