mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-10-24 02:38:53 +08:00
77 lines
4.1 KiB
XML
77 lines
4.1 KiB
XML
<patternlist>
|
|
<patternpairs totalbits="32" postbits="16">
|
|
<prepatterns>
|
|
<data>0x03e00008 0x........</data> <!-- RETN : delayslot -->
|
|
<data>0x03e00008 0x........ 0x00000000 </data> <!-- RETN : delayslot filler -->
|
|
<data>0x03e00008 0x........ 0x00000000 0x00000000 </data> <!-- RETN : delayslot filler -->
|
|
<data>0x03e00008 0x........ 0x00000000 0x00000000 0x00000000 </data> <!-- RETN : delayslot filler -->
|
|
<data>000010.. 0x...... 0.100111 0xbd 0....... ......00</data> <!-- J xyz : _D/ADDIU This is probably a shared return-->
|
|
<data>000010.. 0x...... 0.100111 0xbd 0....... ......00 0x00000000 </data> <!-- J xyz : _D/ADDIU This is probably a shared return-->
|
|
<data>0x1000.... 0.100111 0xbd 0....... ......00</data> <!-- B xyz : _D/ADDIU This is probably a shared return-->
|
|
<data>0x1000.... 0.100111 0xbd 0....... ......00 0x00000000 </data> <!-- B xyz : _D/ADDIU This is probably a shared return-->
|
|
<data>0x03 0x20 00000... ..001000 0.100111 0xbd 0x0. 0x.. </data> <!-- JR t9 : _D/ADDIU -->
|
|
</prepatterns>
|
|
<postpatterns>
|
|
<data>0.100111 10111101 1....... ......00 </data> <!-- D/D/ADDIU SP,SP,-xxxx -->
|
|
<data>0x3c...... 0.100111 0xbd 1....... ......00</data> <!-- LUI - D/ADDIU SP,SP,-xxxx -->
|
|
<data>100011.. 0x...... 0.100111 0xbd 1....... ......00</data> <!-- LW - D/ADDIU SP,SP,-xxxx -->
|
|
<data>0x3c...... 100011.. 0x...... 0.100111 0xbd 1....... ......00</data> <!-- LUI - LW - D/ADDIU SP,SP,-xxxx -->
|
|
<data>0x3c1c.... 0.100111 0x9c.... </data> <!-- LUI gp,xxxx D/ADDIU GP,GP,xxxx -->
|
|
<funcstart/>
|
|
</postpatterns>
|
|
</patternpairs>
|
|
<patternpairs totalbits="32" postbits="16">
|
|
<prepatterns>
|
|
<data>0x03e00008 0x........</data> <!-- RETN : delayslot -->
|
|
<data>0x03e00008 0x........ 0x00000000 </data> <!-- RETN : delayslot filler -->
|
|
<data>0x03e00008 0x........ 0x00000000 0x00000000 </data> <!-- RETN : delayslot filler -->
|
|
<data>0x03e00008 0x........ 0x00000000 0x00000000 0x00000000 </data> <!-- RETN : delayslot filler -->
|
|
<data>000010.. 0x...... 0.100111 0xbd 0....... ......00</data> <!-- J xyz : _D/ADDIU This is probably a shared return-->
|
|
<data>0x1000.... 0.100111 0xbd 0....... ......00</data> <!-- B xyz : _D/ADDIU This is probably a shared return-->
|
|
<data>0x03 0x20 00000... ..001000 0.100111 0xbd 0x0. 0x.. </data> <!-- JR t9 : _D/ADDIU -->
|
|
</prepatterns>
|
|
<postpatterns>
|
|
<data>0x3c06.... </data> <!-- lui a2,xxx -->
|
|
<possiblefuncstart/>
|
|
</postpatterns>
|
|
</patternpairs>
|
|
|
|
<pattern> <!-- MIPS64 -->
|
|
<data> 01100111 10111101 1....... ......00 0xff 0xbc 0....... ......00 </data>
|
|
<!-- daddiu sp, sp, -xxxx
|
|
sd gp, (0x...)sp
|
|
-->
|
|
<funcstart validcode="6" contiguous="true"/>
|
|
</pattern>
|
|
|
|
<pattern> <!-- MIPS32 -->
|
|
<data> 00100111 10111101 1....... ......00 0xaf 0xbc 0....... ......00 </data>
|
|
<!-- addiu sp, sp, -xxxx
|
|
sw gp, (0x...)sp
|
|
-->
|
|
<funcstart validcode="6" contiguous="true"/>
|
|
</pattern>
|
|
|
|
<pattern> <!-- MIPS32 Thunk -->
|
|
<data> 0x3c 0x0f 0x.. 0x.. 0x8d 0xf9 0x.. 0x.. 0x03 0x20 00000... 0x08 0x25 0xf8 0x.. 0x.. </data>
|
|
<!-- lui t7,0x..
|
|
lw t9,offset 0x....(t7)
|
|
jr t9
|
|
_addiu t8,t7,0x....
|
|
-->
|
|
<funcstart validcode="function" thunk="true"/>
|
|
</pattern>
|
|
|
|
<pattern> <!-- MIPS16e Thunk -->
|
|
<data> 0xb2 0x03 0x9a 0x60 0x65 .....010 0xeb 0x00 0x65 .....011 </data>
|
|
<!-- lw v0,0xc(pc)
|
|
lw v1,0x0(v0)
|
|
move t8,v0
|
|
jr v1
|
|
move t9,v1
|
|
-->
|
|
<setcontext name="ISA_MODE" value="1"/>
|
|
<funcstart validcode="function" thunk="true"/>
|
|
</pattern>
|
|
</patternlist>
|