问题标签 [hex]

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 投票
2 回答
5967 浏览

c# - 在 C#/VB.NET 中解码 T-SQL CAST

最近,我们的网站被Asprox 僵尸网络 SQL 注入攻击的死灰复燃。无需详细说明,攻击尝试通过将T-SQL命令编码为 ASCII 编码的 BINARY 字符串来执行 SQL 代码。它看起来像这样:

我能够在 SQL 中对此进行解码,但我对此有点谨慎,因为我不知道当时究竟发生了什么。

我尝试编写一个简单的解码工具,因此我可以在不接触SQL Server的情况下解码这种类型的文本。我需要解码的主要部分是:

我已经尝试了以下所有命令,但没有成功:

在不使用 SQL Server 的情况下转换此编码的正确方法是什么?是否可以?我将采用 VB.NET 代码,因为我也熟悉它。


好的,我确定我在这里遗漏了一些东西,所以这就是我所在的位置。

由于我的输入是一个基本字符串,我只从编码部分的片段开始 - 4445434C41(转换为 DECLA) - 第一次尝试是这样做......

...它所做的只是返回与我输入的完全相同的内容,因为它将每个字符转换为一个字节。

我意识到我需要手动将每两个字符解析为一个字节,因为我还不知道有什么方法可以做到这一点,所以现在我的小解码器看起来像这样:

前几对的情况看起来不错,但是当循环到达“4C”对时,循环停止并说字符串的格式不正确。

有趣的是,当我单步调试调试器并到达我能够解析的字节数组上的 GetString 方法时,我得到“,-+”作为结果。

我如何弄清楚我缺少什么 - 我是否需要对每个字节进行“直接转换”而不是尝试解析它?

0 投票
16 回答
235812 浏览

c - 在C中有效地将十六进制字符串转换为整数?

在C中,将一串十六进制数字转换为二进制unsigned int或的最有效方法是unsigned long什么?

例如,如果我有0xFFFFFFFE,我想要一个int带有 base10 值的4294967294

0 投票
7 回答
21401 浏览

c++ - 现成的 C++ 十六进制转储代码

我经常使用网络和串行通信软件,因此我经常需要编写代码来显示或记录数据包的十六进制转储。

每次我这样做时,我都会从头开始编写另一个十六进制转储例程。我即将再次这样做,但我想我会在这里问:在某处是否有任何适用于 C++ 的免费十六进制转储代码?

我想要的功能:

  • 每行 N 个字节(其中 N 可以以某种方式配置)
  • 十六进制旁边的可选 ASCII/UTF8 转储
  • 可配置缩进、每行前缀、每行后缀等。
  • 最小的依赖关系(理想情况下,我希望代码都在头文件中,或者是我可以粘贴的片段)

编辑: 澄清:我正在寻找可以轻松放入我自己的程序以写入标准错误、标准输出、日志文件或其他此类输出流的代码。我不是在寻找命令行十六进制转储实用程序。

0 投票
1 回答
9717 浏览

windows - 这些十六进制命名的文件夹是从哪里来的?

首先,我使用的是 Windows XP。我有多个硬盘驱动器,看起来有些东西决定在第二个硬盘上创建一些文件夹(这只是一个数据驱动器,没有操作系统)。这些文件夹的名称都像“e69f29f1b1f166d3d30b8c9f7156ba”和“bd92c24cc278614082cd88e7a64b”。它们包含名为 update 的文件夹,其“访问被拒绝”,所以我最好的猜测是它们是 Windows 更新。所以我可能无法摆脱它们,但至少有人可以解释它们是什么以及为什么它们在错误的驱动器上?

0 投票
29 回答
1203320 浏览

javascript - 如何在 JavaScript 中将十进制转换为十六进制

如何在 JavaScript 中将十进制值转换为十六进制等效值?

0 投票
16 回答
18027 浏览

c++ - char[] 转十六进制字符串练习

下面是我当前的 char* 到十六进制字符串函数。我把它写成一个位操作的练习。AMD Athlon MP 2800+ 需要大约 7 毫秒来对 1000 万字节数组进行 hexify。有什么我想念的技巧或其他方式吗?

我怎样才能让它更快?

在 g++ 中使用 -O3 编译

更新

添加了计时码

Brian R. Bondy:用堆分配的缓冲区替换 std::string 并将 ofs*16 更改为 ofs << 4 - 但是堆分配的缓冲区似乎减慢了速度?- 结果~11ms

Antti Sykäri:用

结果~8ms

罗伯特_hex2asciiU_value用一个完整的 256 条目表替换,牺牲内存空间但结果 ~7ms!

HoyHoy:注意到它产生了不正确的结果

0 投票
20 回答
398294 浏览

c# - 如何在十六进制和十进制之间转换数字

如何在 C# 中转换十六进制数和十进制数?

0 投票
3 回答
2419 浏览

c++ - operator>> 可以读取 int hex AND 十进制吗?

我可以说服operator>>C++ 读取一个hex值 AND 和一个decimal值吗?下面的程序演示了读取十六进制是如何出错的。我希望istringstream能够同时阅读hexdecimal

0 投票
5 回答
143874 浏览

ruby - 在 Ruby 中将整数转换为十六进制字符串

是否有一种内置方法可以将 Ruby 中的整数转换为等效的十六进制?

类似于相反的东西String#to_i

可能像:

我知道如何自己动手,但使用内置的 Ruby 函数可能更有效。

0 投票
24 回答
551078 浏览

java - 使用Java将十六进制转储的字符串表示形式转换为字节数组?

我正在寻找一种将表示十六进制值的长字符串(来自转储)转换为字节数组的方法。

我不能比在这里发布相同问题的人更好地表达它。

但为了保持原创,我会用我自己的方式表达它:假设我有一个字符串"00A0BF",我想将其解释为

我该怎么办?

我是一名 Java 新手,最终使用BigInteger并注意前导十六进制零。但我认为它很丑,我确信我错过了一些简单的东西。