我有一组受16位校验和保护的数据,我需要纠正.校验和位置是已知的,计算它们的确切区域以及用于计算它们的确切算法不是.16位,LSB优先.我怀疑它是某种16位CRC,但我无法找到实际计算校验和的代码.
例:
00 4E00FFFF26EC14091E00A01830393630
10 30313131313030393030363030313030
20 30303131313030393030363030313030
30 30303131313030393030363030313030
40 3030FFFF225E363436304D313037**0CE0**
50 64000000000000008080808080800000
60 00000000**BE6E**FC01E001EB0013010500
Run Code Online (Sandbox Code Playgroud)
校验和存储在4E和64.我不知道它们是从每个数据部分开头的第一个字的偏移量开始计算还是从那之后开始计算,或者在整个范围内计算.我已经尝试了许多常见的CRC算法和多项式,没有运气.此应用程序没有可用的参考或规格.
这是另一个具有不同CRC的数据部分,用于比较.
00 4E00FFFF26C014091600A01030393132
10 30313131313030393030313230313030
20 30303131313030393030313230313030
30 30303131313030393030313230313030
40 3030FFFF225E343231324F313044**8348**
50 64000000000000008080808080800000
60 00000000**72F8**E001EB00130105000E01
Run Code Online (Sandbox Code Playgroud)
我的问题是,任何人都可以识别算法吗?有没有办法从数据和CRC中计算CRC多项式和其他因素?
谢谢!
编辑:
在我的反汇编中搜索公共CRC16多项式0xA001,显示了这个函数:
34F86 ; =============== S U B R O U T I N E =======================================
34F86
34F86
34F86 Possible_Checksum: ; CODE XREF: MEM_EXT_4:00034FEEP
34F86 ; MEM_EXT_4:0003503AP ...
34F86 mov [-r0], r9 ; Move Word
34F88 mov r4, r12 ; Move Word
34F8A mov r5, r13 …
Run Code Online (Sandbox Code Playgroud) 为什么C#中不允许使用静态索引器?我认为没有理由不允许他们这样做,而且他们可能非常有用.
例如:
public static class ConfigurationManager
{
public object this[string name]
{
get => ConfigurationManager.getProperty(name);
set => ConfigurationManager.editProperty(name, value);
}
/// <summary>
/// This will write the value to the property. Will overwrite if the property is already there
/// </summary>
/// <param name="name">Name of the property</param>
/// <param name="value">Value to be wrote (calls ToString)</param>
public static void editProperty(string name, object value)
{
var ds = new DataSet();
var configFile = new FileStream("./config.xml", FileMode.OpenOrCreate);
ds.ReadXml(configFile);
if (ds.Tables["config"] == null)
ds.Tables.Add("config"); …
Run Code Online (Sandbox Code Playgroud) 我正在完成安装CruiseControl.net并转换Msbuild脚本以使用它的过程.我希望我们的内部版本号能够反映Subversion版本号.似乎LastChangeLabeller应该可以工作,但我得到的只是"未知".
我的最终目标是既具有版本号(递增1)和颠覆修订格式化版本号.但是现在我已经满足了修订号.
澄清:我正在尝试更新CruiseControl.Net内部版本号.不只是编译结果中的版本号.
我正在开发一个Cocoa Mac应用程序,我需要在辅助监视器上全屏显示窗口/视图.我知道如何创建一个可以拖到辅助监视器上的窗口,但我想以编程方式创建窗口并在外部监视器上全屏显示.谢谢您的帮助.
我是Ruby on Rails的新手,我已经完成了博客教程.
我现在正在尝试向控制器添加一个名为"start"的附加操作.
def start
end
Run Code Online (Sandbox Code Playgroud)
我添加了一个视图页面"app/views/posts/start.html.erb",只包含简单的html.
当我去/ posts/start时,我得到以下错误.
ActiveRecord::RecordNotFound in PostsController#show
Couldn't find Post with ID=start
Run Code Online (Sandbox Code Playgroud)
我理解错误,正在执行show动作并且start不是有效的ID.为什么启动操作没有执行,是否存在我缺少的MVC架构或配置的某些部分?
下面是我的posts_controller.rb
class PostsController < ApplicationController
# GET /posts/start
def start
end
# GET /posts
# GET /posts.xml
def index
@posts = Post.find(:all)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @posts }
end
end
# GET /posts/1
# GET /posts/1.xml
def show
@post = Post.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => …
Run Code Online (Sandbox Code Playgroud) 我有三个简单的问题.
有人使用QuickTest Pro进行自动化测试吗?
您推荐的任何其他自动化测试应用程序?
自动化测试是个好主意吗?
谢谢
我想知道是否有一种方法(甚至是手动方式)在Visual Web Developer Express 2008 SP1下使用单元测试设置ASP.NET MVC项目.
在Django,我到处都有记录器,目前有硬编码的名字.
对于模块级日志记录(即,在视图函数模块中),我有这样做的冲动.
log = logging.getLogger(__name__)
Run Code Online (Sandbox Code Playgroud)
对于类级别的日志记录(即,在类__init__
方法中),我有这样做的冲动.
self.log = logging.getLogger("%s.%s" % (
self.__module__, self.__class__.__name__))
Run Code Online (Sandbox Code Playgroud)
在我解决几十次事件之前,我正在寻找第二意见getLogger("hard.coded.name")
.
这会有用吗?还有其他人用同样缺乏想象力的方式命名他们的记录器吗?
此外,我应该分解并为此日志定义编写类装饰器吗?
我一直在研究一个将上传的文件保存到网络共享的ASP.NET项目.我想我可以使用虚拟目录并且没问题,但我一直在努力获得Directory.CreateDirectory的权限.
我能够上传文件,所以我决定更改我的代码,将所有内容放在一个目录中,但这需要我使用File.Exists来避免重写.
现在我已经更新了所有代码,我发现无论我做什么,当我测试网络共享时,File.Exists总是返回false(文件肯定存在).
有任何想法吗?我正在通过网络共享走到尽头.
没有复制整个.netbeans目录有没有办法将自定义Netbeans颜色方案转移到其他计算机?我正在使用最新的(6.5).