mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-06 03:50:02 +02:00
GP-5411 Added plt thunk patterns, pre-fill of edit thunk GUI, loosened
thunk address calculation for more complicated thunks
This commit is contained in:
parent
c2533aaf6e
commit
208f6f3ed1
4 changed files with 127 additions and 33 deletions
|
@ -36,4 +36,31 @@
|
|||
<possiblefuncstart validcode="function" label="__get_pc_thunk_lr" /> <!-- must be a function here -->
|
||||
</pattern>
|
||||
|
||||
<pattern> <!-- .plt entry thunk -->
|
||||
<data>
|
||||
0xf8410028 <!-- std r2,0x28(r1) -->
|
||||
001111.. ...00010 0xff 0xff <!-- subis rX,r2,0x1 -->
|
||||
0xe9 ........ ........ ........ <!-- ld rX,#(x) -->
|
||||
0x7d 0x.9 0x03 0xa6 <!-- mtctr rX -->
|
||||
0xe8 010..... ........ ........ <!-- ld r2,#(x) -->
|
||||
0x28220000 <!-- cmpldi r2,0 -->
|
||||
0x4c 1..00010 0x04 0x20 <!-- bnectr+ -->
|
||||
010010.. ........ ........ ......00 <!-- b X@plt -->
|
||||
</data>
|
||||
<funcstart after="defined" thunk="true"/> <!-- must be something define before this -->
|
||||
</pattern>
|
||||
|
||||
<pattern> <!-- .plt entry thunk -->
|
||||
<data>
|
||||
0xf8410028 <!-- std r2,0x28(r1) -->
|
||||
0xe9 ........ ........ ........ <!-- ld rX,#(x) -->
|
||||
0x7d 0x.9 0x03 0xa6 <!-- mtctr rX -->
|
||||
0xe8 010..... ........ ........ <!-- ld r2,#(x) -->
|
||||
0x28220000 <!-- cmpldi r2,0 -->
|
||||
0x4c 1..00010 0x04 0x20 <!-- bnectr+ -->
|
||||
010010.. ........ ........ ......00 <!-- b X@plt -->
|
||||
</data>
|
||||
<funcstart after="defined" thunk="true"/> <!-- must be something define before this -->
|
||||
</pattern>
|
||||
|
||||
</patternlist>
|
||||
|
|
|
@ -35,5 +35,32 @@
|
|||
<data>0x21 0x00 0x80 0x4e</data> <!-- blrl -->
|
||||
<possiblefuncstart validcode="function" label="__get_pc_thunk_lr" /> <!-- must be a function here -->
|
||||
</pattern>
|
||||
|
||||
<pattern> <!-- .plt entry thunk -->
|
||||
<data>
|
||||
0x280041f8 <!-- std r2,0x28(r1) -->
|
||||
0xff 0xff ...00010 001111.. <!-- subis rX,r2,0x1 -->
|
||||
........ ........ ........ 0xe9 <!-- ld rX,#(x) -->
|
||||
0xa6 0x03 0x.9 0x7d <!-- mtctr rX -->
|
||||
........ ........ 010..... 0xe8 <!-- ld r2,#(x) -->
|
||||
0x00002228 <!-- cmpldi r2,0 -->
|
||||
0x20 0x04 1..00010 0x4c <!-- bnectr+ -->
|
||||
......00 ........ ........ 010010.. <!-- b X@plt -->
|
||||
</data>
|
||||
<funcstart after="defined" thunk="true"/> <!-- must be something define before this -->
|
||||
</pattern>
|
||||
|
||||
<pattern> <!-- .plt entry thunk -->
|
||||
<data>
|
||||
0x280041f8 <!-- std r2,0x28(r1) -->
|
||||
........ ........ ........ 0xe9 <!-- ld rX,#(x) -->
|
||||
0xa6 0x03 0x.9 0x7d <!-- mtctr rX -->
|
||||
........ ........ 010..... 0xe8 <!-- ld r2,#(x) -->
|
||||
0x00002228 <!-- cmpldi r2,0 -->
|
||||
0x20 0x04 1..00010 0x4c <!-- bnectr+ -->
|
||||
......00 ........ ........ 010010.. <!-- b X@plt -->
|
||||
</data>
|
||||
<funcstart after="defined" thunk="true"/> <!-- must be something define before this -->
|
||||
</pattern>
|
||||
|
||||
</patternlist>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue