Open
Description
For example:
[0xffffffff816ff3e0]> s sym.free_msg
[0xffffffff816ff4a0]> af
[0xffffffff816ff4a0]> pdg
void sym.free_msg(int64_t param_1)
{
int64_t *piVar1;
int64_t *piVar2;
uchar *puVar3;
ulong uStack_18;
uStack_18 = 0xffffffff816ff4ae;
func_0xffffffff8171df00();
piVar2 = *(param_1 + 0x20);
*(&stack0xfffffffffffffff0 + -8) = 0xffffffff816ff4ba;
func_0xffffffff814f27e0(param_1);
puVar3 = &stack0xfffffffffffffff0;
if (piVar2 != NULL) {
do {
piVar1 = *piVar2;
*(puVar3 + -8) = 0xffffffff816ff4ca;
func_0xffffffff821f4c18();
*(puVar3 + -8) = 0xffffffff816ff4d2;
func_0xffffffff814f27e0(piVar2);
puVar3 = puVar3;
piVar2 = piVar1;
} while (piVar1 != NULL);
}
return;
}
whereas
[0xffffffff816ff4a0]> pdd
/* r2dec pseudo code output (r2 5.9.8) */
/* vmlinux @ 0xffffffff816ff4a0 */
#include <stdint.h>
void free_msg (int64_t arg1) {
rdi = arg1;
security_msg_msg_free (rbx);
rbx = *((rbp + 0x20));
rdi = rbp;
kfree ();
if (rbx == 0) {
goto label_0;
}
do {
rbx = *(rbx);
SCT_cond_resched ();
rdi = rbp;
kfree ();
} while (rbx != 0);
label_0:
return pi_x86_return_thunk ();
}
The target is a vmlinux.
Metadata
Metadata
Assignees
Labels
No labels