【问题标题】:Reverse Engineering question - .NET packet capture逆向工程问题 - .NET 数据包捕获
【发布时间】:2011-08-27 13:17:53
【问题描述】:

我正在与有兴趣将 Web 应用程序与专有 ERP 客户端/服务器系统集成的人合作。我正在尝试找出一种方法来对服务器的 API 调用进行逆向工程,并将其复制到我需要使集成工作的有限数量的功能。

我使用wireshark 从客户端捕获一些网络流量。作为一名 PHP/Java 程序员,我对 .NET 世界不是很熟悉,所以我希望这里有人可以查看下面的 TCP 流并为我指明正确的方向。是否有可能通过查看流量来判断使用哪种 .NET 客户端与该服务器进行通信?

.NET.............."...tcp://XXXXXXXX:nnnn/Transporter.rem........application/octet-stream..........................GetMail.mDTA.Connectivity.ITransporter, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null....................System.Guid....._a._b._c._d._e._f._g._h._i._j._k........................../.1D.).`..k..

.NET.......................................................System.Collections.ObjectModel.Collection`1[[DTA.Connectivity.Messaging.Message, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null]].....items...System.Collections.Generic.List`1[[DTA.Connectivity.Messaging.Message, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null]]..........NDTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null.......System.Collections.Generic.List`1[[DTA.Connectivity.Messaging.Message, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null]]....._items._size._version...$DTA.Connectivity.Messaging.Message[].................................."DTA.Connectivity.Messaging.Message.....

.NET......D......."...tcp://XXXXXXXX:nnnn/Transporter.rem........application/octet-stream..........................SubmitOperation.mDTA.Connectivity.ITransporter, DTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null........................NDTA.Connectivity, Version=1.0.4098.30211, Culture=neutral, PublicKeyToken=null.....0DTA.Connectivity.Operations.DataManagerOperation....._Type_SqlStatement._SplitAtSemicolon

【问题讨论】:

  • hmmm 专有 ERP,逆向工程;要么你死在水里,因为界面会改变,要么它不会改变,你仍然在一个黑暗的地方(因为你的 ERP 很快就会过时);你能不能不玩床单上面的游戏并联系供应商......我知道我知道,说起来很傻很天真
  • 你的分数很好。我们已经联系了供应商,但他们想收取巨额费用来自己构建 Web 连接器。我们想做的事情太简单了,花费不菲。

标签: .net reverse-engineering


【解决方案1】:

从外观上看,它是 .net 远程处理。这包括序列化对象并将它们传递到网络中。

如果应用程序的二进制文件可用,您可以将它们添加为解决方案的引用,以便您可以使用相同的对象并拦截一些数据包。不过,您可能需要检查是否违反了任何许可要求。

【讨论】:

  • 同意;看起来像通过标准 TCP 通道(未加密的 LOL)和 BinaryFormatter 序列化的简单 .NET 远程处理
  • 非常感谢您朝着正确的方向前进。我在.net 远程处理上做了一些搜索。看起来除非我能够重新创建对象以对它们进行反序列化,否则我的想法就会失败。我希望能够做一些简单的 RPC 调用之类的。看起来 .net 远程处理也已过时,请参阅 sehe 的评论。
猜你喜欢
  • 1970-01-01
  • 2011-12-21
  • 1970-01-01
  • 2022-08-16
  • 1970-01-01
  • 1970-01-01
  • 2017-03-29
  • 2015-10-24
  • 1970-01-01
相关资源
最近更新 更多