为什么通过控制台或 python 将 ELF 插入 SQLite3 数据库会有所不同
Why does it make a difference to insert an ELF into a SQLite3 database via console or python
当我通过命令将 ELF 插入 SQLite 数据库时:
$ sqlite3 insert into TABLE values('name', readfile('executable'));
我可以对它执行提取的吊坠。但是当我通过以下 python 命令插入 blob 文件时:
>>> cursor.execute('''INSERT INTO table(Name,Executable) VALUES(?,?)''',('name',sqlite3.Binary(file)))
我收到错误消息
cannot execute binary file: Fehler im Format der Programmdatei
看来 sql.Binary()
更改了文件。第二种方法提取出来的ELF比另一种小很多
我哪里做错了?其实这两种方法应该做同样的事情,对吧?
io.open() 正在做这项工作。它不会将文件转换为八位字节流
当我通过命令将 ELF 插入 SQLite 数据库时:
$ sqlite3 insert into TABLE values('name', readfile('executable'));
我可以对它执行提取的吊坠。但是当我通过以下 python 命令插入 blob 文件时:
>>> cursor.execute('''INSERT INTO table(Name,Executable) VALUES(?,?)''',('name',sqlite3.Binary(file)))
我收到错误消息
cannot execute binary file: Fehler im Format der Programmdatei
看来 sql.Binary()
更改了文件。第二种方法提取出来的ELF比另一种小很多
我哪里做错了?其实这两种方法应该做同样的事情,对吧?
io.open() 正在做这项工作。它不会将文件转换为八位字节流