首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SmartAssembly或CryptoObfuscator混淆Asp

用SmartAssembly或CryptoObfuscator混淆Asp
EN

Stack Overflow用户
提问于 2015-10-10 07:26:07
回答 1查看 460关注 0票数 0

在使用CryptoObfuscator或RedGate SmartAssembly混淆Asp程序集时,我有一个问题:

当您使用这些工具之一混淆程序集时,它们似乎会重命名类的属性,对吗?

因此,我认为由于这个操作,我们将无法访问在序列化期间来自服务器的一些JSON格式的值(我的意思是,由于重命名了JS中的JSON对象,所以不能正确解析JSON对象)

如果这是真的,那么我们如何防止JS中的parseJSON操作松动呢?

让我提供更多细节:

考虑一下这个类结构。

代码语言:javascript
复制
public class MyClass
{
   public string FName{get;set;}
   . . .
}
 //SampleController : 
public JsonResult GetJson()
{
  return Json(new MyClass{FName = "Alex"});
}

现在在ClientSide中:

代码语言:javascript
复制
$.ajax({
  url: "/Sample/GetJson",
  context: document.body
}).success(function(data) {
  //this is my problem : can I access to FName or Not?
var fname = jQuery.parseJSON(data).FName;
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-23 06:45:52

基本上,混淆器不改变 return value's Property's names

但如果某个混混者这么做..。您只需在ajax调用中使用以下方法即可完成此任务:

代码语言:javascript
复制
$.ajax({
  url: "/Sample/GetJson",
  dataType: "json"
  success: function(data) {    
    var transformedData = {fname:arguments[0], somethingElse:arguments[1]};
    //or
    var fname = arguments[0];
    //do the rest here...
  }
});

您还可以在“DoNotObfuscate”中使用智能装配属性,这样可以防止json结果被混淆(在服务器端)。

另外,对于其他混淆器,应该有一些(其他/相同的)策略。

我个人使用CryptoObfuscator,它有一些选项可以防止您想要的(什么/什么地方)被混淆。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33051451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档