게임핵 개발02
게임핵 개발02
Summary 게임핵 개발에 대한 내용으로, 소수점 표현을 두 자리로 제한하는 코드와 WriteInt를 사용하여 메모리 값을 변경하는 방법을 설명합니다. 실시간으로 플레이어 데이터를 읽고 수정하는 방법과 관련된 코드 예시가 포함되어 있습니다.
🎥 동영상 보기
🔥 소숫점 2자리까지만 출력되게 만드는 코드 (#.##) 예를들어 코드가
1 2 3
x_angle = 0.12345 Angle_LBL.Text = "Angle : " + mainPlayer.x_angle;
0.12345
1 2 3
x_angle = 0.12345 Angle_LBL.Text = "Angle : " + mainPlayer.x_angle.ToString("#.##")
0.12
🎥 동영상 보기
🔥 WriteInt를 사용하여 메모리 값 변경하기 ReadInt로 실시간으로 값을 불러오고 WriteInt로 값을 수정함
0,1초마다 한번씩 메모리를 읽는 Timer를 이용하여 계속해서 Read하고 Write를 한다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#PlayerData.cs using ProcessMemoryReaderLib; public PlayerData(Process proc, int offset, ProcessMemoryReader mem) { public void SetPlayerData(ProcessMemoryReader mem) //메모리를 읽고 실시간으로 값을 받아오기 위함 { HP = mem.ReadInt(base_addr + HP_offset); //프로세스 주소 + 0xEC Proof = mem.ReadInt(base_addr + Proof_offset); Ammo = mem.ReadInt(base_addr + Ammo_offset); x_pos = mem.ReadFloat(base_addr + x_pos_offset); z_pos = mem.ReadFloat(base_addr + z_pos_offset); y_pos = mem.ReadFloat(base_addr + y_pos_offset); x_angle = mem.ReadFloat(base_addr + x_angle_offset); y_angle = mem.ReadFloat(base_addr + y_angle_offset); } internal void hack_HP(ProcessMemoryReader mem) { mem.WriteInt(base_addr + HP_offset, 10000); //체력을 10000으로 } internal void hack_Ammo(ProcessMemoryReader mem) { mem.WriteInt(base_addr + Ammo_offset, 10000); //탄약을 100000으로 } } }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
#Form1.cs private void timer1_Tick(object sender, EventArgs e) // 0.1초마다 동작 { if (attach) { try { if (HP_hack) { mainPlayer.hack_HP(mem); } if (Ammo_hack) { mainPlayer.hack_Ammo(mem); } mainPlayer.SetPlayerData(mem); //데이터 모니터링 Health_LBL.Text = "Health : " + mainPlayer.HP; Ammo_LBL.Text = "Ammo : " + mainPlayer.Ammo; BulletProof_LBL.Text = "BulletProof : " + mainPlayer.Proof; Angle_LBL.Text = "Angle : " + mainPlayer.x_angle.ToString("#.##") + " | " + mainPlayer.y_angle.ToString("#.##"); Position_LBL.Text = "Position : " + mainPlayer.x_pos.ToString("#.##") + " | " + mainPlayer.z_pos.ToString("#.##") + " | " + mainPlayer.y_pos.ToString("#.##"); } catch { } } } private void Health_BT_Click(object sender, EventArgs e) { if (HP_hack) { HP_hack = false; } else { HP_hack = true; } } private void Ammo_BT_Click(object sender, EventArgs e) { if (Ammo_hack) { Ammo_hack = false; } else { Ammo_hack = true; } }
🎥 동영상 보기
🔥 수학 삼각함수… 예를들어 코드가
1 2 3
x_angle = 0.12345 Angle_LBL.Text = "Angle : " + mainPlayer.x_angle;
0.12345
1 2 3
x_angle = 0.12345 Angle_LBL.Text = "Angle : " + mainPlayer.x_angle.ToString("#.##")
0.12
💬 댓글
GitHub 계정으로 로그인하여 댓글을 남겨보세요. GitHub 로그인
🔧 댓글 시스템 설정이 필요합니다
GitHub Discussions 기반 댓글 시스템을 활성화하려면:
GISCUS_SETUP_GUIDE.md
파일의 안내를 따라 설정 완료Repository 관리자만 설정할 수 있습니다. 설정이 완료되면 모든 방문자가 댓글을 남길 수 있습니다.