function BodySetValue(Value: Single): Boolean;
begin
try
PBYTE(@Value)^ := PBYTE(@Value)^ xor $3A;
PBYTE(Pointer(DWORD(@Value) + 3))^ := PBYTE(Pointer(DWORD(@Value) + 3))^ xor $B8;
WPM4Byte(BodyAlloc[2] + $660, PDWORD(@Value)^);
except
end;
end;
end.
3A, B8, +3 이 부분들 어떻게 바뀐지 아시는 형님… 부탁드립니다
| 제목 | 작성자 | 작성일 | 조회 | |
|---|---|---|---|---|
| 공지 | 게시판 이용 안내+64 | 10-20 | 8805 | |
| 9777 | 12-17 | 65 | ||
| 9776 | 12-15 | 169 | ||
| 9775 | 12-15 | 91 | ||
| 9774 | 12-15 | 147 | ||
| 9773 | 12-14 | 115 | ||
| 9772 | 12-14 | 76 | ||
| 9771 | 12-13 | 85 | ||
| 9770 | 12-13 | 262 | ||
| 9769 | 12-13 | 90 | ||
| 9768 | 12-12 | 125 | ||
| 9767 | 12-11 | 100 | ||
| 9766 | 12-07 | 778 | ||
| 9765 | 12-06 | 153 | ||
| 9764 | 패치님 소식 아시는분+14 | 12-06 | 600 | |
| 9763 | 12-06 | 279 | ||
| 9762 | 12-04 | 148 | ||
| 9761 | 12-02 | 291 | ||
| 9760 | 11-30 | 375 | ||
| 9759 | 11-28 | 173 |
댓글2
64비트에 맞는 포인터랑 타입 수정 부터 하세요
function BodySetValue(Value: Single): Boolean;
var
TempValue: UInt32;
begin
try
TempValue := PUInt32(@Value)^;
TempValue := TempValue xor $3A;
TempValue := TempValue xor $B8;
WPM4Byte(BodyAlloc[2] + $660, TempValue);
Result := True;
except
Result := False;
end;
end;