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 이 부분들 어떻게 바뀐지 아시는 형님… 부탁드립니다
| 제목 | 작성자 | 작성일 | 조회 | |
|---|---|---|---|---|
| 2197 | 64비트 몸+2 | 07-01 | 669 | |
| 2196 | 길로틴차단+6 | 07-01 | 1269 | |
| 2195 | 바@+1 | 07-01 | 576 | |
| 2194 | 에@ 무@+4 | 07-01 | 995 | |
| 2193 | 07-01 | 2687 | ||
| 2192 | 07-01 | 1406 | ||
| 2191 | 07-01 | 748 | ||
| 2190 | 07-01 | 1022 | ||
| 2189 | 07-01 | 482 | ||
| 2188 | 07-01 | 869 | ||
| 2187 | 찐빼이+1 | 07-01 | 786 | |
| 2186 | 07-01 | 740 | ||
| 2185 | 07-01 | 542 | ||
| 2184 | 07-01 | 437 | ||
| 2183 | hello+3 | 07-01 | 742 | |
| 2182 | 64비트 전환+3 | 07-01 | 634 | |
| 2181 | 06-30 | 983 | ||
| 2180 | 06-30 | 742 | ||
| 2179 | 06-30 | 701 | ||
| 2178 | 우흥어택+1 | 06-30 | 570 |
댓글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;