Scrambler (XOR key) pattern visual recognition

Scrambler (XOR key) pattern visual recognition

Nowadays flash controllers use scrambling algorithms when recording data to NAND chip. This process converts user data to noise (simple encryption). When chip-off technique of data recovery is used, it’s necessary to convert noise back to the data (decryption). The XOR key (scrambling pattern) is not unique and depends on the controller model. Xor key is like “masterkey” for decryption. Sometimes same controllers use a number of different keys and different controllers can use the same key. One of the main problem lies in choosing the right Xor key, which must be used in a particular task. Typically, the physical image (dump of NAND) contains lot of fragments of the Xor key, because when key scrambled with zeros during data recording process, the dump contains pure key fragments or even whole key [Key + 00 = Key]. The unique method of XOR key identification, that used in Visual Nand Reconstructor, consists in finding and visual recognition of the key fragments in dump, using Bitmap viewer mode (since user’s data contain a lot of zeros, there are many key fragments in dump). Below are XOR key patterns of most popular controllers. Using this Xor key library it’s possible to find and choose the right key to particular case even if controller is unknown or monolithic (microSD, etc). This list of XOR Keys is periodically updated.

AU6990 / ITE1171 / PS3016-P7-T /
FC8708-C / PS2251-33BA / ITE1167BFN-46A /
IT1165E-48B / PS2251-33BB-E


Pattern (XOR key) period: 128/256/258 pages
Page size: 8kb
Visually looks like diagonals.
Controller generates one page of pattern for first page in block, then cyclically shift it -1 byte (-8 bits) for next pages in block. Pattern xored with Data area of page only.

EN2683BBA / SM2683


Pattern (XOR key) period: 64 pages
Page size: 4/8kb
Visually looks like vertical patterns.
Controller generates 64 pages of pattern, then cyclically xor it with groups of 64 pages. Pattern xored with Data area of page only.

EN2683 / SM3257EN-AA


Pattern (XOR key) period: 64 pages
Page size: 4/8kb
Visually looks like vertical patterns.
Controller generates 64 pages of pattern, then cyclically xor it with groups of 64 pages. Pattern xored with Data area of page only.

PS2251-67-5 / PS2251-61-5 / PS8030 /
PS2251-03-V / PS2251-01-L / PS2251-02-Q


Pattern (XOR key) period: 128/256 pages
Page size: 8kb
Visually looks like noisy diagonal patterns.
Controller generates 128/256 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.

TC58NCF668 / JMF668


Pattern (XOR key) period: 256 pages
Page size: 8kb
Visually looks like cubical patterns.
Controller generates 256 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.

PS2251-50-F / PS2251-P / PS2251-50-5 /
PS3105 / PS2251-39-E


Pattern (XOR key) period: 128/256 pages
Page size: 4/8kb
Visually looks like diagonals.
Controller generates one page of pattern for first page in block, then cyclically shift it -1 byte (-8 bits) for next pages in block. Pattern xored with Data area of page only.

SM3257EN Q AA


Pattern (XOR key) period: 256 pages
Page size: 8/16kb
Visually looks like noisy vertical patterns.
Controller generates 256 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.



Pattern (XOR key) period: 32 pages
Page size: 8kb
Visually looks like vertical patterns.
Controller generates 32 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.

SM3257


Pattern (XOR key) period: 258 pages
Page size: 8kb
Visually looks like noisy vertical patterns.
Controller generates 258 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.

SM3255 / SM3255Q AB


Pattern (XOR key) period: 64/128 pages
Page size: 4/8kb
Visually looks like vertical patterns.
Controller generates 64/128 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.

IS902


Pattern (XOR key) period: 128 pages
Page size: 8k
Visually looks like vertical patterns.
Controller generates 128 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area only.

IS903


Pattern (XOR key) period: 128 pages
Page size: 8832b/9216b (8192b + 640b/1024b SA)
Visually looks like vertical patterns with distinctive triangles.
Controller generates 128 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area and Spare area.

IS916


Pattern (XOR key) period: 256 pages
Page size: 8640b (8192b + 448b SA)
Visually looks like vertical patterns with distinctive triangles.
Controller generates 256 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area and Spare area.

EN3257LTQAB


Pattern (XOR key) period: 192 pages
Page size: 8kb
Visually looks like noise, no distinctive patterns.
Controller generates 192 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.

JMF616


Pattern (XOR key) period: 1 page
Page size: 8kb
Visually looks like straight vertical lines.
Controller generates 1 pages of pattern, then cyclically xor it with all pages and blocks. Pattern xored with Data area of page only.

AU GLUED (ALCOR MICRO)


Pattern (XOR key) period: 256 pages
Page size: 8kb
Visually looks like vertical patterns.
Controller generates 256 pages of pattern, then cyclically xor it with blocks. Pattern xored with Data area of page only.

Browser mode - XOR analyser

Patterns of XOR keys can be also inspected through XOR analyser. This tool have special "Browser mode" which allows to check pattern of all available XOR keys.

To run it, open XOR analyser and tick "XOR key browser mode".

















Now it is possible to select XOR key from the menu on the right site and check its pattern.




    • Related Articles

    • XOR transformation

      Scrambling (XOR) Modern Flash controllers utilize scrambling algorithms when recording data into flash memory. A typical scrambler implementation is based on the method where the special scrambling (XOR) key is generated by a controller and mixed ...
    • Phison dynamic XOR

      Majority of NAND memory devices that use scrambling algorithms generate their XOR keys statically. When a user writes new data to the NAND chip, the controller transforms this data with the XOR key that is generated every time with the same binary. ...
    • Chipsbank(CBM) Adaptive XOR

      Majority of NAND controllers which we can find in removable flash devices are using simple static XOR keys. Except the controllers which are using dynamic XOR keys there are also Chipsbank controllers which are using sophisticated adaptive scrambling ...
    • Binary patterns in NAND flash memory

      Analysis and recognition of binary patterns in NAND flash memory is the key step in chip-off data recovery and digital forensic analysis of broken flash devices. This analysis is carried out in the Bitmap mode since the classic HEX view does not ...
    • Block extraction

      Video tutorial Introduction In this little tutorial the procedure of block extraction is briefly explained. Blocks are second most basic structures in NAND memory dumps and their length defines (in most cases) length of XOR key, for this reason it is ...