@@ -92,29 +92,63 @@ export const deobfuscateAppleGPU = (
9292
9393 gl . deleteProgram ( program ) ;
9494 gl . deleteBuffer ( vertexArray ) ;
95-
96- renderers =
97- ( {
95+ const id = pixels . join ( '' ) ;
96+ const { older, newer } = deviceInfo ?. isIpad
97+ ? {
98+ newer : [
99+ 'apple a12 gpu' , // ipad 8th gen / ipad air 3rd gen / ipad mini 5th gen
100+ 'apple a12x gpu' , // pro 11 1st gen / pro 12.9 3rd gen
101+ 'apple a12z gpu' , // pro 12.9 4th gen / pro 11 2nd gen
102+ 'apple a14 gpu' , // ipad air 4th gen
103+ 'apple m1 gpu' // ipad pro 11 2nd gen / 12.9 5th gen
104+ ] ,
105+ older : [
106+ // Commented out because they don't support ios version >= 13
107+ // 'apple a4 gpu', // ipad 1st gen
108+ // 'apple a5 gpu', // ipad 2 / ipad mini 1st gen
109+ // 'apple a5x gpu', // ipad 3rd gen
110+ // 'apple a6x gpu', // ipad 4th gen
111+ 'apple a8 gpu' , // pad mini 4
112+ 'apple a8x gpu' , // ipad air 2
113+ 'apple a9 gpu' , // ipad 5th gen
114+ 'apple a9x gpu' , // pro 9.7 2016 / pro 12.9 2015
115+ 'apple a10 gpu' , // ipad 7th gen / ipad 6th gen
116+ 'apple a10x gpu' // pro 10.5 2017 / pro 12.9 2nd gen, 2017
117+ ]
118+ }
119+ : {
120+ newer : [
121+ 'apple a11 gpu' , // 8 / 8 plus / X
122+ 'apple a12 gpu' , // XS / XS Max / XR
123+ 'apple a13 gpu' , // 11 / 11 pro / 11 pro max / se 2nd gen
124+ 'apple a14 gpu' // 12 / 12 mini / 12 pro / 12 pro max
125+ ] ,
126+ older : [
127+ // Commented out because they don't support ios version >= 13
128+ // 'apple a4 gpu', // 4 / ipod touch 4th gen
129+ // 'apple a5 gpu', // 4S / ipod touch 5th gen
130+ // 'apple a6 gpu', // 5 / 5C
131+ // 'apple a7 gpu', // 5S
132+ // 'aple a8 gpu', // 6 / 6 plus / ipod touch 6th gen
133+ 'apple a9 gpu' , // 6s / 6s plus/ se 1st gen
134+ 'apple a10 gpu' // 7 / 7 plus / iPod Touch 7th gen
135+ ]
136+ } ;
137+ renderers = (
138+ {
98139 // iPhone 11, 11 Pro, 11 Pro Max (Apple A13 GPU)
99140 // iPad Pro (Apple A12X GPU)
100141 // iPhone XS, XS Max, XR (Apple A12 GPU)
101142 // iPhone 8, 8 Plus (Apple A11 GPU)
102- '801621810' : deviceInfo ?. isIpad
103- ? [ 'apple a12x gpu' ]
104- : [
105- 'apple a11 gpu' ,
106- 'apple a12 gpu' ,
107- 'apple a13 gpu' ,
108- 'apple a14 gpu' ,
109- ] ,
143+ '801621810' : newer ,
144+ '80162181255' : newer ,
110145 // iPhone SE, 6S, 6S Plus (Apple A9 GPU)
111146 // iPhone 7, 7 Plus (Apple A10 GPU)
112147 // iPad Pro (Apple A10X GPU)
113- '8016218135' : deviceInfo ?. isIpad
114- ? [ 'apple a9x gpu' , 'apple a10 gpu' , 'apple a10x gpu' ]
115- : [ 'apple a9 gpu' , 'apple a10 gpu' ] ,
148+ '8016218135' : older ,
116149 // eslint-disable-next-line @typescript-eslint/no-explicit-any
117- } as any ) [ pixels . join ( '' ) ] || renderers ;
150+ } as any
151+ ) [ id ] ?? [ ...newer , ...older ] ;
118152
119153 debug ?.(
120154 `iOS 12.2+ obfuscates its GPU type and version, using closest matches: ${ renderers } `
0 commit comments