问题标签 [reverse-engineering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4405 浏览

debugging - 在反汇编中查找函数

我正忙于学习一个教程,作者使用 DUMPBIN 列出导出,并使用 OllyDbg 获取导出函数的汇编代码。鉴于导出表 RVA 与反汇编中的实际地址不对应,我将如何在完整的反汇编中找到函数代码。

0 投票
7 回答
29768 浏览

c++ - 逆向工程 C++ DLL

我有一个最初用 VS2005 编写的小实用程序。

我需要做一个小改动,但是其中一个 dll 的源代码已经丢失了。

是否有免费或价格合理的工具可以将 dll 反向工程回 C++ 代码。

0 投票
2 回答
5355 浏览

sql-server-2008 - 逆向工程 SQL2008 数据库到图表

Visio 2007 支持对 MSSQL 数据库进行逆向工程。但是,不支持 SQL2008(链接)。

是否有其他(免费?)工具可以做到这一点?

谢谢。

0 投票
12 回答
2592 浏览

.net - 反射是逆向工程吗?

您可以通过反射找到有关应用程序内部的大量信息,它由 .NET BCL(基类库)公开,并且可以轻松检索任何 .NET 方法的实际 IL。

维基百科上的逆向工程:

逆向工程是通过分析设备、对象或系统的结构、功能和操作来发现其技术原理的过程。

反射肯定会满足结构分析。但是你在哪里划清内省和实际逆向工程之间的界限呢?从法律的角度来看,反射是逆向工程吗?

0 投票
0 回答
5968 浏览

.net - 保护 .NET 应用程序

复制:

保护 .NET 代码免受逆向工程

我们最近发布了一个小应用程序,这个周末我发现了一个破解版,它Piratebay删除了注册检查,所以应用程序运行起来就像是注册版一样。

除了使用代码混淆工具(似乎并不难解决)之外,我们还应该做些什么标准的事情来让我们的 .NET 应用程序更难破解?

0 投票
6 回答
32318 浏览

c# - 比较已编译的 .NET 程序集?

有没有什么好的程序可以用来比较编译 .NET 程序集?

例如,我有 HelloWorld.dll (1.0.0.0) 和 HelloWorld.dll (2.0.0.0),我想比较差异我该怎么做?

我知道我可以使用 .NET Reflector 并使用 Assembly Diff 插件。有没有其他好的工具可以做到这一点?

0 投票
6 回答
295 浏览

database - 即使在“野外”安装时,什么 DBMS 也适合保持模式私有

我有一个连接到数据库服务器的应用程序服务器。我希望能够为用户提供安装程序,并以适度的舒适度相信数据库架构是安全的。

我知道,如果不控制安装它的计算机,我将不得不接受一些风险——一个拥有正确工具和知识的坚定的人可以直接查看内存并提取信息。

最初,我认为我的重点领域只是将凭据添加到安装程序,而无需在十六进制编辑器中轻松查看它们。

然而,当我开始研究时,我了解到对于 PostGreSQL,即使我静默安装数据库并且不向用户提供凭据——他们也可以简单地更改基于文本的配置文件 (pg_hba.conf),并且重新启动服务器,无需凭据即可完全访问数据库。

这种情况在其他 DBMS 中是否安全?在这种情况下,大多数商业产品如何保护它们的模式?大多数产品会使用嵌入式数据库吗?


编辑:我假设(也许是错误的)某些产品依赖于用户从未真正直接接触过的数据库。我当然从来没有见过他们,因为他们以用户不需要的方式设计了它 - 可能使用嵌入式数据库。

0 投票
3 回答
2886 浏览

apache-flex - 用于 flex/actionscript 的逆向工程或文档工具

我继承了一个 flex 项目,遗憾的是没有记录。我正在寻找一个文档生成工具/类图生成器或与 actionscript 一起使用的类似工具。大约有 1000 个类文件,我没有时间单步调试所有代码。

我尝试了一些工具,例如 Doxygen(将语言设置为 java)和 NaturalDocs,但效果不佳。

0 投票
1 回答
1009 浏览

http - 逆向工程 windows mobile live search CellID 位置感知协议 (yikes)

我不确定如何提出问题,所以如果标题具有误导性,我深表歉意。此外,您可能想喝杯咖啡并为此坐下……它很长。

基本上,我正在尝试对 Windows Mobile Live Search 应用程序使用的协议进行逆向工程,以根据 cellID 获取位置。在继续之前,我知道其他开源服务(例如 OpenCellID),但这更多是为了教育和冗余。

根据我捕获的数据包,发出 POST 请求以...

...带有一些特定的标头(代理、内容长度等)并且没有正文。一旦完成,服务器会发回 100-Continue 响应。此时,应用程序提交了这个数据(我剪掉了数据包头):

并在响应中接收到这个(数据包和 HTTP 响应标头被截断):

现在,这是我到目前为止所确定的:

  • 所有字符串都以一个字节作为其长度的十进制等效值。

  • 在整个请求和响应中似乎使用了三种不同的强制转换。它们显示为长度字节之前的一个字节。我得出的结论是,这三种类型的映射如下:

    1. 0x06 - 父元素(后续值为子元素,以 0x00 结束)
    2. 0x07 - 字符串
    3. 0x08 - 整数?

基于这些确定,以下是请求和响应以更易读的方式呈现的样子(括号括起来的值表示长度,括号括起来的值表示强制转换):

和..

除了以下几点外,我的分析似乎效果很好:

  1. 整个 0x01 让我感到困惑……起初我以为它们是某种基本级别的元素终止符,但我不确定。
  2. 我不确定 7 字节标头实际上是 7 字节标头。我想知道它是否可能是 4 个字节,剩下的三个 0x00 是否具有其他意义。
  3. 尾随 0x00s。为什么请求中只有一个,响应中只有两个?
  4. 上面提到的类型 8 转换......我似乎无法弄清楚这些值是如何编码的。我在这些行中添加了值应该对应的注释。

任何关于这四点的建议将不胜感激。

是的,这些数据包是在马萨诸塞州沃特敦捕获的。:)

0 投票
5 回答
26685 浏览

mysql - 应用逆向工程 MySQL 和 PostgreSQL 数据库?

是否有应用程序对 mysql 和/或 postgre 中的现有数据库进行逆向工程?

我有兴趣从现有的数据库图获取数据库图,类似于它可以在 MSSQL Server 中完成