【问题标题】:Reverse Engineering URL Algorithm [closed]逆向工程 URL 算法 [关闭]
【发布时间】:2013-10-14 13:31:47
【问题描述】:

我有一个正在尝试从中获取数据的 URL - 当进行完整搜索并返回所有可以使用的结果时:

http://sheriff.org/apps/arrest/results.cfm?lname=&fname=

但是每个人都有自己的页面,可以参考如下:

http://sheriff.org/apps/arrest/details.cfm?id=7133e45d-3115-4ec8-bd0b-35cb9e193e50&key=CEFC904002B745E5265D6A76402610A2&page=1&lname=&fname=

...由 ID 和 KEY 组成。

ID = 7133e45d-3115-4ec8-bd0b-35cb9e193e50

KEY = CEFC904002B745E5265D6A76402610A2

如何确定如何生成此 ID?

我认为这是基于个人的一些详细信息(可能是他们的逮捕号码:501207593 或逮捕号码加上其他一些数据)

我只需要一种对这个数字进行逆向工程的方法,这样我就可以在我的 android 应用程序中使用它。

【问题讨论】:

  • 我刚投了反对票 - 为什么?这不是一个完全合理的问题吗?
  • @Selvin:不,你没有抓住重点。他想知道生成 ID 和 Key 的魔法算法。这是完全不可能知道的。
  • ID 是为每个被捕者生成的 GUID。如果不将其暴露给您(即屏幕刮擦),您将无法获得此号码。如果他们不向您公开 API,您将无能为力。
  • 看起来像一个标准的 GUID,根本不是根据人的数据构建的......
  • 这个问题似乎是题外话,因为它是关于违反第 3 方服务的条款和条件。

标签: java android url reverse-engineering


【解决方案1】:

如何确定如何生成此 ID?

这种类型的 id 称为UUID (Universally Unique Identifier).。 UUID 是一个 16 字节(128 位)的数字。在其规范形式中,UUID 由 32 个十六进制数字表示,显示在由连字符分隔的五组中,格式为 8-4-4-4-12,总共 36 个字符(32 个字母数字字符和四个连字符)。规范表示,xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx

在此处了解java UUID class。

【讨论】:

    【解决方案2】:

    如果您无权访问服务器的代码,或认识任何有权访问该代码的人,则无法知道服务器如何生成这些数字。这可以是完全随机的,也可以是基于用户详细信息的,或者两者兼而有之。

    但是,正如@OnResolve 指出的那样。 ID 似乎被格式化为 GUID(全局唯一标识符)。但这并没有说明它们是如何生成的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-15
      • 2018-09-20
      • 2014-03-26
      • 2011-10-06
      • 2011-05-01
      • 2011-12-28
      • 2015-02-28
      • 2011-05-14
      相关资源
      最近更新 更多