我试图在二进制文件中找到一个调用函数,所以我尝试了这个:
mips-mti-linux-gnu-objdump -d myapp.elf> objdump.txt
9d003350: 42000828 myfunction 0x1
现在,我想在内存中读取此函数时在myapp.bin中识别此函数。但是,我明白了:28080042
。
我尝试使用命令:xxd -ps myapp.bin> xxd.txt
只需找到:28080042
。
有可能吗?
答案 0 :(得分:0)
这是endianness冲突。 $data = [
'name' => html_escape($this->input->post('name'),
'email' => html_escape($this->input->post('email'),
'mobile' => html_escape($this->input->post('mobile');
];
$this->form_validation->set_rules('mobile',Mobile','trim|required|numeric');
$this->form_validation->set_rules('name',name','trim|required');
$this->form_validation->set_rules('email',Email','trim|required|valid_email');
if ($this->form_validation->run() === false)
{
//print error
}else
{
$this->db->insert('TABLE', $data);
}
和objdump
为您提供相同的字节,它们只是使用不同的字节序。
xxd
Actual bytes in order:
28 08 00 42
Big endian value:
28 08 00 42
Little endian value:
42 00 08 28
将按文件中存在的顺序打印出文件中的各个字节。
xxd -p
正在拆解它,它知道这些字节属于4个组,并且它将它们解释为little-endian。
objdump
可以使用xxd
标志以小端顺序打印(默认分组为4个字节,使用-e
标志来更改每个组的字节数) 。但是,这与-g
标志不兼容,因为-p
标志忽略任何分组。
-p
可以使用objdump
标记以big-endian顺序打印,但这会影响它报告的说明。