Location changer to fake GPS or mock in iOS through 3uTools

From July 1, 2026, all banks in Belarus are required to comply with new requirements for collecting, storing, and analyzing digital device fingerprints. The goal is to combat unauthorized payments and protect against fraud. This requirement is contained in the financial services and technology standard SFUT 9.07-2026 "Banking. Information security. Device fingerprint." Approved by Resolution No. 17 of the Board of the National Bank of Belarus dated January 20, 2026, "On approval of financial services and technology standards."

The program 3uTools

3uTools Start Screen
3uTools Start screen.
We need the Virtual Location menu item below.

3uTools Toolbox

3uTools Toolbox
There is Virtual Location menu item in Toolbox too.

Virtual Location window in 3uTools

3uTools GPS Mock
Modify Immediately or
Cyclic Modification check and
Start Modification requires enabling on the device

Application gives 3 ways to modify the device position:
Enter the longitude and latitude
Enter the address on the Search Location bar
Drag and Click the address on the map using the mouse


3uTools GPS Mock Enable Developer Mode

3uTools GPS Mock Enable Developer Mode
Settings > Privacy & Security > Developer Mode
iPhone Enabling Developer Mode Screenshot

Phone Location modified successully

3uTools GPS Mock. Phone Location modified successully
For 30 seconds

Organic Maps Check

GPS Mock Organic Maps Check Screenshot
Check GPS mock in maps, for example, in Organic Maps

Delphi: OldCreateOrder property in a form

CodeGear Delphi 2010
OldCreateOrder property was absent in Delphi 3, but present in Delphi 5.
OldCreateOrder property was removed in Delphi 11.
For instance, default for the property OldCreateOrder is False in Delphi 11 Alexandria.
OldCreateOrder controls when the OnCreate and OnDestroy events are called.
With OldCreateOrder = True the OnCreate is called inside TCustomForm.Create after the DFM is loaded in a TCustomForm descendant/
With False the OnCreate is called after all inherited constructors are finished, i.e. in TCustomForm.AfterConstruction.
With OldCreateOrder = True, the FormDestroy is called inside the inherited call of Destroy.
With OldCreateOrder = False it is called before execution of any destructor.

Undeclared identifier error: SListIndexError

CodeGear Delphi 2007, 2009
The SListIndexError is a constant string declared in Delphi 4 in the unit Consts.
SListIndexError since Delphi 6 is in the unit RTLConsts.
The first and the most competent method is to resort to conditional compilation directives:
{$IF CompilerVersion >= 14.0} // Delphi 6 and higher RTLConsts {$ELSE} Consts {$IFEND}
The second remedy:
The construction Error(SListIndexError, Index) may be replaced by Error('List Index out of bounds (%d)', Index)

TIOBE Index for August 2026

The TIOBE Programming Community index is an indicator of the popularity of programming languages. The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular web sites Google, Amazon, Wikipedia, Bing and more than 20 others are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written. The index can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system.
TIOBE Index for August 2026

TIOBE index

The ANSI function to Ansi-fy

CodeGear Delphi 2007, 2009

This table is not a divine revelation, but my personal reference book.

Windows support non-Unicode function like SomeFunctionExA and SomeFunctionExW for Unicode.
When a call is to non-Unicode function, Windows will pass the call to Unicode, process and then give the result as ANSI, where makes it slower and demands processing overload.
Ansi-fy Wide Char, Unicode Units
const C = '...'; const C: AnsiString = '...';
CompareText AnsiCompareText CompareText SysUtils; AnsiStrings. Case insensitive, ignoring accents characters.
CompareStr AnsiCompareStr CompareStr SysUtils; AnsiStrings
FindWindow FindWindowA FindWindowW
(in Delphi Versions >= 2009 the same as FindWindowW)
GetDiskFreeSpace GetDiskFreeSpaceA GetDiskFreeSpace
(in Delphi Versions >= 2009 calls GetDiskFreeSpaceW)
Windows
GetTempPath GetTempPathA GetTempPath
(in Delphi Versions >= 2009 calls GetTempPathW)
Windows
LowerCase AnsiLowerCase LowerCase SysUtils or AnsiStrings (Delphi 2009+)
SameText AnsiSameText SameText calls AnsiCompareText. Case insensitive
ShellExecute ShellExecuteA ShellExecuteW
(in Delphi Versions >= 2009 the same as ShellExecute)
ShellApi
ShellExecute ShellExecuteA ShellExecuteW
(in Delphi Versions >= 2009 the same as ShellExecute)
ShellApi
ShellExecuteInfo ShellExecuteInfoA ShellExecuteInfoW
(in Delphi Versions >= 2009 the same as ShellExecuteInfo)
SHGetPathFromIDList SHGetPathFromIDListA SHGetPathFromIDList
(in Delphi Versions >= 2009 calls SHGetPathFromIDListW)
ShlObj
StrAlloc AnsiStrAlloc in Delphi Versions >= 2009 StrAlloc calls WideStrAlloc SysUtils
UpperCase AnsiUpperCase UpperCase SysUtils or AnsiStrings (Delphi 2009+)

This article will not be complete, some text was removed intentionally. If you are unable to apply this, please contact for paid consultation.
Данная статья не будет полной, часть текста была удалена намеренно. Если вам не удалось применить, обращайтесь за платной консультацией.