我正在尝试完成有关利用缓冲区溢出https://www.youtube.com/watch?v=hJ8IwyhqzD4的教程。一切似乎都可以正常工作,除了最后,“ / bin / sh”程序没有运行,尽管我可以看到无操作符和“ / bin / sh”文本。
该消息应显示为“进程正在执行新程序:/ bin / sh”,但我却得到:
var key1 = Builders<MyType>.IndexKeys.Ascending(x => x.Field1);
var key2 = Builders<MyType>.IndexKeys.Ascending(x => x.Field2);
var key3 = Builders<MyType>.IndexKeys.Ascending(x => x.Field3);
var keys = Builders<MyType>.IndexKeys.Combine(key1, key2, key3);
var options = new CreateIndexOptions { Unique = false };
var indexModel = new CreateIndexModel<MyType>(keys, options);
var indexName = myCollection.Indexes.CreateOne(indexModel, new CreateOneIndexOptions { });
当尝试使用gdb中的以下命令查找缓冲区的边缘时,我也会收到相同的消息:
Program received signal SIGILL, Illegal instruction.
0xb7e30a00 in __libc_start_main (main=0x804844d <main>, argc=3,
argv=0xbffff0a4, init=0x8048490 <__libc_csu_init>,
fini=0x8048500 <__libc_csu_fini>, rtld_fini=0xb7fed180 <_dl_fini>,
stack_end=0xbffff09c) at libc-start.c:246
246 libc-start.c: No such file or directory.
非常感谢您帮助理解此错误。 迈克尔