cxmplex How do I cheat? Reputation: 0
Joined: 13 Jun 2021 Posts: 1
|
Posted: Sun Jun 13, 2021 8:17 pm Post subject: Access Unity Material Shader |
|
|
Hello, I'm having trouble finding where the Shader reference is stored in UnityEngine.Material. It's not a field in the Material object, but the Material object does expose a private method get_shader:
Code: |
UnityEngine:Material:get_shader - 55 - push rbp
UnityEngine:Material:get_shader+1- 48 8B EC - mov rbp,rsp
UnityEngine:Material:get_shader+4- 48 83 EC 70 - sub rsp,70
UnityEngine:Material:get_shader+8- 48 89 65 C0 - mov [rbp-40],rsp
UnityEngine:Material:get_shader+c- 48 89 6D B8 - mov [rbp-48],rbp
UnityEngine:Material:get_shader+10- 48 89 5D C8 - mov [rbp-38],rbx
UnityEngine:Material:get_shader+14- 48 89 75 D0 - mov [rbp-30],rsi
UnityEngine:Material:get_shader+18- 48 89 7D D8 - mov [rbp-28],rdi
UnityEngine:Material:get_shader+1c- 4C 89 65 E0 - mov [rbp-20],r12
UnityEngine:Material:get_shader+20- 4C 89 6D E8 - mov [rbp-18],r13
UnityEngine:Material:get_shader+24- 4C 89 75 F0 - mov [rbp-10],r14
UnityEngine:Material:get_shader+28- 4C 89 7D F8 - mov [rbp-08],r15
UnityEngine:Material:get_shader+2c- 48 8B F1 - mov rsi,rcx
UnityEngine:Material:get_shader+2f- 65 48 8B 04 25 E8150000 - mov rax,gs:[000015E8]
UnityEngine:Material:get_shader+38- 48 8B F8 - mov rdi,rax
UnityEngine:Material:get_shader+3b- 48 83 C7 10 - add rdi,10
UnityEngine:Material:get_shader+3f- 48 8B C5 - mov rax,rbp
UnityEngine:Material:get_shader+42- 48 83 C0 B0 - add rax,-50
UnityEngine:Material:get_shader+46- 48 8B 0F - mov rcx,[rdi]
UnityEngine:Material:get_shader+49- 48 89 4D B0 - mov [rbp-50],rcx
UnityEngine:Material:get_shader+4d- 48 89 07 - mov [rdi],rax
UnityEngine:Material:get_shader+50- 48 85 F6 - test rsi,rsi
UnityEngine:Material:get_shader+53- 0F84 A2000000 - je UnityEngine:Material:get_shader+fb
UnityEngine:Material:get_shader+59- 48 B8 803857B1FA7F0000 - mov rax,UnityPlayer.dll+953880
UnityEngine:Material:get_shader+63- 48 8B CE - mov rcx,rsi
UnityEngine:Material:get_shader+66- 48 89 65 C0 - mov [rbp-40],rsp
UnityEngine:Material:get_shader+6a- 4C 8B D8 - mov r11,rax
UnityEngine:Material:get_shader+6d- 48 33 C0 - xor rax,rax
UnityEngine:Material:get_shader+70- 41 FF D3 - call r11
UnityEngine:Material:get_shader+73- 48 8B C8 - mov rcx,rax
UnityEngine:Material:get_shader+76- 48 B8 407A8B9DFA7F0000 - mov rax,mono-2.0-bdwgc.mono_internal_current_mask+77A4
UnityEngine:Material:get_shader+80- 8B 00 - mov eax,[rax]
UnityEngine:Material:get_shader+82- 48 8B F1 - mov rsi,rcx
UnityEngine:Material:get_shader+85- 85 C0 - test eax,eax
UnityEngine:Material:get_shader+87- 0F85 42000000 - jne UnityEngine:Material:get_shader+cf
UnityEngine:Material:get_shader+8d- EB 00 - jmp UnityEngine:Material:get_shader+8f
UnityEngine:Material:get_shader+8f- 48 8B 45 B0 - mov rax,[rbp-50]
UnityEngine:Material:get_shader+93- 48 89 07 - mov [rdi],rax
UnityEngine:Material:get_shader+96- 48 8B C6 - mov rax,rsi
UnityEngine:Material:get_shader+99- 65 48 8B 0C 25 E8150000 - mov rcx,gs:[000015E8]
UnityEngine:Material:get_shader+a2- 48 8B 49 20 - mov rcx,[rcx+20]
UnityEngine:Material:get_shader+a6- 83 F9 00 - cmp ecx,00
UnityEngine:Material:get_shader+a9- 74 02 - je UnityEngine:Material:get_shader+ad
UnityEngine:Material:get_shader+ab- FF D1 - call rcx
UnityEngine:Material:get_shader+ad- 48 8B 5D C8 - mov rbx,[rbp-38]
UnityEngine:Material:get_shader+b1- 48 8B 75 D0 - mov rsi,[rbp-30]
UnityEngine:Material:get_shader+b5- 48 8B 7D D8 - mov rdi,[rbp-28]
UnityEngine:Material:get_shader+b9- 4C 8B 65 E0 - mov r12,[rbp-20]
UnityEngine:Material:get_shader+bd- 4C 8B 6D E8 - mov r13,[rbp-18]
UnityEngine:Material:get_shader+c1- 4C 8B 75 F0 - mov r14,[rbp-10]
UnityEngine:Material:get_shader+c5- 4C 8B 7D F8 - mov r15,[rbp-08]
UnityEngine:Material:get_shader+c9- 48 8D 65 00 - lea rsp,[rbp+00]
UnityEngine:Material:get_shader+cd- 5D - pop rbp
UnityEngine:Material:get_shader+ce- C3 - ret
UnityEngine:Material:get_shader+cf- 48 89 65 C0 - mov [rbp-40],rsp
UnityEngine:Material:get_shader+d3- 48 33 C0 - xor rax,rax
UnityEngine:Material:get_shader+d6- 49 BB 830FF3AC4B020000 - mov r11,0000024BACF30F83
UnityEngine:Material:get_shader+e0- 41 FF D3 - call r11
UnityEngine:Material:get_shader+e3- 4C 8B F8 - mov r15,rax
UnityEngine:Material:get_shader+e6- 48 85 C0 - test rax,rax
UnityEngine:Material:get_shader+e9- 74 A4 - je UnityEngine:Material:get_shader+8f
UnityEngine:Material:get_shader+eb- 49 8B CF - mov rcx,r15
UnityEngine:Material:get_shader+ee- 49 BB 301BE6AC4B020000 - mov r11,0000024BACE61B30
UnityEngine:Material:get_shader+f8- 41 FF D3 - call r11
UnityEngine:Material:get_shader+fb- B9 A6010002 - mov ecx,020001A6
UnityEngine:Material:get_shader+100- 48 89 65 C0 - mov [rbp-40],rsp
UnityEngine:Material:get_shader+104- 48 33 C0 - xor rax,rax
UnityEngine:Material:get_shader+107- 48 8D AD 00000000 - lea rbp,[rbp+00000000]
UnityEngine:Material:get_shader+10e- 49 BB C0C55D9DFA7F0000 - mov r11,mono-2.0-bdwgc.dll+1BC5C0
UnityEngine:Material:get_shader+118- 41 FF D3 - call r11
UnityEngine:Material:get_shader+11b- 48 8B C8 - mov rcx,rax
UnityEngine:Material:get_shader+11e- 49 BB 301BE6AC4B020000 - mov r11,0000024BACE61B30
UnityEngine:Material:get_shader+128- 41 FF D3 - call r11
|
In Mono it's as simple as accessing it like this:
I'm looking to find the Shader externally. Any tips on finding this?
|
|