从已编译的搜索程序C中提取记录

时间:2013-01-18 15:14:10

标签: c database record binary-search brute-force

有没有人知道如何从编译的记录搜索程序中提取所有信息?

我认为该程序使用二进制搜索。它被编译,数据库在程序中。查看记录的唯一方法是进行正确的搜索。

有什么方法可以强制执行程序并提取所有信息? 该记录由ID开头,该ID以1和10位长[1xxxxxxxxx]开头。 如果你想尝试,1112700303将工作,但我没有其他数字。

我尝试了一些反编译器,但我不知道我在做什么。

该程序可以从这里下载: https://docs.google.com/file/d/0B9fwDRGBsrxBT3FiSFdaTnJZcUk/edit

我们非常感谢您的帮助,因为这会增加我的知识并在这里学到新的东西:D

2 个答案:

答案 0 :(得分:0)

虽然有疑问。有没有办法获取源代码(询问作者,搜索程序名称,......)?

在Unix / Linux上,程序字符串从二进制文件中提取可打印字符串。在x86可执行文件上执行此操作会给出一长串字符串,这些字符串只是指令,恰好是ASCII字符串,程序使用的函数名称,以及其他垃圾。在某处它列出了程序的初始化文本数据(printf(3)格式,使用的常量字符串),在这种情况下显示了一堆看起来像阿拉伯语的名称,以及一些目录名称。也许寻找那些可能有所帮助。

答案 1 :(得分:0)

这可以通过使用Snowman来实现。它可能无法获得您正在寻找的确切源代码,但足以提取您需要的所有数据,例如具有常量字符串。