尝试从完成的软件访问哈希表

时间:2017-11-17 22:12:39

标签: c# hash

在我的公司,我们购买了一个巨大的软件包(用C#编写),目前正在我的部门推出。由于商业秘密的原因,我的公司选择不与开发人员签订服务合同,所以现在我可以自己学习软件/硬件以及所有故障排除。在这样做的时候,我在某些方面做了一些改变,导致了我无法撤消的以下错误。在尝试生成报告时,我收到以下错误消息。

enter image description here

我正在尝试查看哈希表的内容,以便我可以删除保留密钥“1”的内容,以便我可以返回任何已更改的内容,以便在生成报告时它会尝试输入不同的关键。您对哈希表的位置或我如何阅读它有什么建议吗?我已经看过其他关于如何读取哈希表的帖子。我找不到它。

我可以访问大多数.h和.dll文件,所以我一直在探索这些文件。几年前我参加了一些C ++课程,所以我对如何阅读代码有一个大概的了解。

可执行文件中的哈希表是?它会在哪里?我找不到.txt或.mdb文件。一旦找到它,我将如何访问它?我可以发布一些代码,如果这会有所帮助,但我不确定代码的哪些部分对你有用。任何帮助将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你没有DTL3DTDTP的源代码,你会非常失败 - 你必须对其进行逆向工程以了解会发生什么。如果您可以从Visual Studio连接到正在运行的应用程序并拦截异常(使用"只是我的代码"禁用)您安装了Reflector加载项,您将(可能)能够查看重组的源和调用堆栈,甚至可能是变量。那个HashTable要么是DTL3DTDTP的一个字段,要么是一个本地变量或其他东西......什么时候添加第二个(和第一个)重复键是有人猜的......在最坏的情况下你可以重新组装整个产品和花一个月的时间阅读代码。

当然,如果包装是商业性的,那么所有这些都是非常违法的 - 知识产权所有者不喜欢逆向工程师。

如果您有源,请调试它。