小编Sma*_*tK8的帖子

为什么在C#中读取的原始磁盘会从稍微偏移的偏移中读取?

我正在尝试读取原始磁盘。我已经成功打开驱动器并获得了有效的句柄(CreateFile),将该句柄的偏移量设置为零(SetFilePointerEx),并将数据读取到缓冲区Byte[]ReadFile)。到目前为止,一切都很好。但是由于某种未知的原因,当我将缓冲区(花一点时间来实际弄清楚)与第三者实用程序(Disk Investigator)显示的内容进行比较时。它不包含启动信息(跳转指令),但包含正确的磁盘数据,但从偏移量85 = 0x55开始。因此,在卷启动信息中间。

这是为什么?有什么东西,我想念(显然是)吗?

系统:Windows 8(在VmWare工作站中)

码:

// moves the pointer to a given offset
Int64 offset = 0; 
Int64 newOffset;
Int32 bufferSize = (Int32) clusterSizeInBytes; 
SetFilePointerEx(driveHandle.Handle, offset, out newOffset, WinMoveMethod.Begin);
Int32 error = Marshal.GetLastWin32Error();

// reads the raw buffer
Int32 numberOfBytesRead;
rawData = new Byte[bufferSize];
Boolean result = ReadFile(driveHandle.Handle, rawData, bufferSize, 
                          out numberOfBytesRead, IntPtr.Zero);
Run Code Online (Sandbox Code Playgroud)

CreateFile(在其他位置)

driveHandle = CreateFile("\\.\PhysicalDrive1", WinFileAccessMode.GenericRead, 
           WinFileSharedAccess.All, IntPtr.Zero, WinFileMode.OpenExisting,
           WinFileAttribute.None, IntPtr.Zero);
Run Code Online (Sandbox Code Playgroud)

PInvoke方法:

[DllImport("kernel32.dll", …
Run Code Online (Sandbox Code Playgroud)

c# winapi deviceiocontrol

5
推荐指数
1
解决办法
2938
查看次数

如何通过SAML断言从ACS获取访问令牌?

我能够从ACS中配置的各种身份提供程序中检索,解码安全令牌(SWT).现在我应该 - 根据例子 - 能够做到这一点:

String headerValue = string.Format("WRAP access_token=\"{0}\"", securityToken);

WebClient client = new WebClient();
client.Headers.Add("Authorization", headerValue);

using (Stream stream = client.OpenRead(@"http://xxx.cloudapp.net/xxx.svc/users"))
using (StreamReader reader = new StreamReader(stream))
{
    String response = reader.ReadToEnd();
}
Run Code Online (Sandbox Code Playgroud)

从某种意义上说,它适用于不存在的端点,例如.因此服务在那里(安全),服务器端的令牌模块和令牌验证器被调用,并且令牌通过.所以不是那样的.但无论如何问题是响应包含登录页面的HTML(其中包含身份提供者列表).看起来好像令牌验证没问题,但仍然不够安全.

我现在该怎么做才能从服务中接收我的数据?任何提示?

场景:http://tinyurl.com/WcfRestSaml

更新:我已经包含了我想要实现的场景图片的链接.

更新2:好的,我已切换到Saml2,但发生了同样的错误.然后我发现我需要断言来接收访问令牌.所以我做了:

WebClient client = new WebClient { BaseAddress = string.Format("https://{namespace}.accesscontrol.windows.net") };
NameValueCollection parameters = new NameValueCollection
{
    { "wrap_assertion_format", "SAML" },
    { "wrap_assertion", securityToken },
    { "wrap_scope", "http://{our}.cloudapp.net/" }
};

Byte[] responseBytes = client.UploadValues("WRAPv0.9", …
Run Code Online (Sandbox Code Playgroud)

wcf token saml assertion acs

5
推荐指数
1
解决办法
1166
查看次数

是否有生成图形轮廓的算法?

我在互联网上搜索过,也许我遗漏了一些正确的关键字,但我没有找到类似的东西。我只找到了不完全是图形的折线(或只是线)。我想生成一个图形轮廓(半径r),如图所示。有什么已经可用的吗?我想避免重新发明轮子可以这么说。

在此处输入图片说明

如果有人可以暗示我某些事情或至少是一些基本原则如何去做,那将是很棒的。否则我当然会自己“发明”一个。

最好在 C# 中。

更新:我需要计算轮廓多边形,而不仅仅是在视觉上绘制它。绿点表示生成的多边形。“内部”孔也被完全忽略。只有一个轮廓多边形就足够了。

更新 2:更好的图片来展示一些更极端的情况。此外,图的边缘永远不会重叠,因此无需对此进行调整。

更新 3:图片再次更新以反映斜面连接。

c# algorithm graph outline

5
推荐指数
1
解决办法
1158
查看次数

标签 统计

c# ×2

acs ×1

algorithm ×1

assertion ×1

deviceiocontrol ×1

graph ×1

outline ×1

saml ×1

token ×1

wcf ×1

winapi ×1