채팅0

    64비트 몸

    조회수 624

    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 이 부분들 어떻게 바뀐지 아시는 형님… 부탁드립니다

    댓글2

    회원프로필

    64비트에 맞는 포인터랑 타입 수정 부터 하세요

    2023.07.02 00:33
    회원프로필

    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;

    2023.07.02 01:32

      게시글 리스트
      제목작성자작성일조회
      공지10-207648
      930305-1128
      930205-1147
      930105-1151
      930005-1192
      929905-11151
      929805-11102
      929705-1175
      929605-1191
      929505-11105
      929405-10130
      929305-1059
      929205-1095
      929105-10140
      929005-1098
      928905-0998
      928805-09164
      928705-09238
      928605-08278
      928505-08133