我实际上是在尝试混淆 ClickOnce 应用程序。
我的混淆器是 ConfuserEx。我遵循了以下步骤:
- 单击项目属性上的“发布向导..\立即发布”按钮。这将自动在 Debug/Release 文件夹中构建您的项目。我使用它是因为它还创建了 ClickOnce 中使用的文件。我们稍后将使用这些文件。
- 打开 Confuser 并拖放文件 在您希望 confuser 处理的 Debug/Release 文件夹中。
- 这将使用混淆的程序集创建一个 Confused 文件夹(使用默认输出目录设置)。
- 将项目运行所需的所有依赖项/文件(如果有)复制到刚刚创建的“Confused”文件夹。
- 您的项目现在应该使用混淆的程序集。我运行该程序只是为了确保。:D
- 将 .manifest 文件从 Debug/Release 文件夹复制到 Confused 文件夹并使用 MageUI 编辑它。
- 在 MageUI 的“文件”部分,找到 Confused 文件夹(可能已被选中)并选中将 .deploy 放在文件上的选项,然后单击“填充”。
- 您的项目文件将重命名为 *.deploy
- 保存 .manifest 文件并使用发布项目时创建的 *TemporaryKey.pfx 对其进行签名(这应该在您的项目文件夹中)。
- 将 .application 文件从 Debug/Release 文件夹复制到 Confused 文件夹并使用 MageUI 编辑它。
- 在 MageUI 的“应用程序参考”部分单击“选择清单..”并选择您在步骤 6 中保存的 .manifest 文件。
- 保存 .application 文件并使用 *TemporaryKey.pfx 对其进行签名。
- 最后,这可能是可选的,只需将发布文件夹中的 setup.exe 和 publish.html 文件复制到 Confused 文件夹即可。
关于这个话题:
https://confuser.codeplex.com/discussions/428378
不幸的是,当我之后尝试安装 ClickOnce 应用程序时出现以下错误:
无法处理从 …
我制作了一个与可执行文件交互的 Firefox WebExtension(使用runtime.connectNative)。
这是扩展的清单:
// manifest.json file
{
"name": "My Extension",
"short_name": "myext",
"version": "2.7",
"manifest_version": 2,
"background": {
"scripts": ["background-script.js"],
"persistent": true
},
"externally_connectable": {
"ids": ["*"],
"http://localhost/*"]
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["content-script.js"]
}
],
"applications": {
"gecko": {
"id": "myext@myext.mysite.com",
"strict_min_version": "50.0.0"
}
},
"icons": {
"16": "icon-16.png",
"32": "icon-32.png",
"128": "icon-128.png"
},
"permissions": [
"nativeMessaging",
"webRequest"
]
}
Run Code Online (Sandbox Code Playgroud)
这是内容脚本:
// content-script.js
window.addEventListener("message", function(event) {
if (event.source == window &&
event.data.direction &&
event.data.direction …Run Code Online (Sandbox Code Playgroud) 出于某种原因,在将ADT更新为R21之后,我无法像以前那样在任何类型的尺寸上预览我的布局:

所以,我使用AVD管理器宣布了一个新的Android虚拟设备,在那里,我找不到任何看起来像Nexus 10分辨率的东西:

有人遇到同样的麻烦吗?如何使用酷炫的"预览所有屏幕"功能预览Nexus 10布局?
提前致谢.
我有一个Base64编码的字符串,如下所示:
SWwgw6l0YWl0IHVuIHBldGl0IG5hdmlyZS [...] 0IG5hdmlyZSA=
Run Code Online (Sandbox Code Playgroud)
输入String可以大(> 1MB).出于互操作性的原因,我需要每隔64个字符将回车符添加到该大字符串中.
我的第一个猜测是使用stringbuilder并使用方法"AppendLine"每64个字符,如下所示:
string InputB64_Without_CRLF = "SWwgw6l0YWl0IHVuIHBldGl0IG5hdmlyZS [...] 0IG5hdmlyZSA=";
int BufferSize = 64;
int Index = 0;
StringBuilder sb = new StringBuilder();
while (Index < strInput.Length) {
sb.AppendLine(InputB64_Without_CRLF.Substring(Index, BufferSize));
Index += BufferSize;
}
string Output_With_CRLF = sb.ToString();
Run Code Online (Sandbox Code Playgroud)
但我担心这部分代码的性能.有没有更好的方法将字符插入某个位置的字符串而不重建另一个字符串?
我实际上正在开发一个Java小程序来访问HSM以便对数据进行签名.
所以我使用了很多Sun软件包(PKCS11包装器和sunPKCS11提供程序).
我看到了这个链接:http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html告诉我们不鼓励使用sun包.
但我想确定原因.我实际上是在Java 1.6 x86 JDK中编译我的代码.
最新用户在更新Java版本时是否有可能无法使用我的应用程序?或者只有在我更改JDK以编译代码时才会出现问题?还是这两种情况?
提前感谢您的澄清.
c# ×2
adt ×1
android ×1
clickonce ×1
deprecated ×1
firefox-addon-webextensions ×1
java ×1
javascript ×1
layout ×1
obfuscation ×1
string ×1
sun ×1