在基类构造函数中,我总是看到一个无参数构造函数,如下所示:
public abstract BaseClass {...
protected BaseClass() { }
...}
Run Code Online (Sandbox Code Playgroud)
但是在基类构造函数中包含参数是否可以接受呢?
public abstract BaseClass {...
protected BaseClass(string initObj) { }
...}
Run Code Online (Sandbox Code Playgroud) 在Visual Studio 2008/2010中,可以在解决方案资源管理器中的另一个.cs文件下放置一系列简单的.cs代码文件.此行为类似于在向解决方案添加WPF UserControl时看到的文件排列方式,而单个.cs文件可以在.xaml文件下折叠/展开.
你如何使解决方案以这种方式安排文件?我已经查看了一些显而易见的地方,比如文件属性窗格,解决方案和.csproj属性页面.
我刚刚开始研究缓冲区溢出攻击是如何工作的,并尝试使用Visual C 2010 模拟对Windows 7的攻击.缓冲区溢出攻击是非常人为的,它只是将返回地址覆盖到"缓冲区"局部变量的地址.缓冲区包含shellcode字符串.
无论我是否在Visual Studio 2010 Debug中运行程序,程序都会跳转到shellcode并几乎开始执行它,但是我遇到了Access Violation错误,程序将不会继续执行shellcode.
为什么我收到此错误?这是否可以防止Windows中的缓冲区溢出?
会如何,你让程序在缓冲区执行的shellcode?
编辑:
汉斯(回答)是对的.这在Windows Internals 5th的安全章节中讨论,错误的原因是Microsoft的可执行空间保护实现.
如果这个问题对任何人都有帮助,那么任何赞成票都会受到赞赏
void execute_my_shellcode()
{
char buffer[24];
memcpy(buffer, "\x6A\x21\xFF\x15\x40\x62\x40\x00\x83\xC4\x04\x6A\x0A\xFF\x15\x40\x62\x40\x00\x83\xC4\x04\xC3", 24);
printf("current return address: %p\n", *(int*)((char*)&buffer + 24 + 4));
*(int*)((char*)&buffer + 24 + 4) = (int)&buffer;
printf("return address is now : %p\n\n", (int*)*(int*)((char*)&buffer + 24 + 4) );
}
Run Code Online (Sandbox Code Playgroud) 在运行时tsc我得到了很多表单错误
typings/node/node.d.ts(Ln,Col): error TS1110: Type expected.
仅供参考:第一行node.d.ts说
// Node.js v6.x的类型定义
这些错误的原因是什么以及如何解决?
重现的步骤:在只有文件的目录中 tsconfig.json
{
"compilerOptions": {
"target": "es5",
"sourceMap": true,
"module": "commonjs",
"outDir": "."
}
}
Run Code Online (Sandbox Code Playgroud)
接下来,执行命令tsd install body-parser --save,输出:
- body-parser / body-parser
-> express > express
-> serve-static > serve-static
-> express-serve-static-core > express-serve-static-core
-> node > node
-> mime > mime
> running install..
> written 6 files:
- body-parser/body-parser.d.ts
- express-serve-static-core/express-serve-static-core.d.ts
- express/express.d.ts
- mime/mime.d.ts
- node/node.d.ts
- serve-static/serve-static.d.ts
Run Code Online (Sandbox Code Playgroud)
该目录现在具有子目录 …
我正在使用TR1正则表达式(对于VS2010),我正在尝试做的是为名为"name"的组搜索特定模式,为名为"value"的组搜索另一种模式.我认为我想要的是一个捕获组,但我不确定这是否是正确的术语.我想将匹配分配给模式"[^:\ r \n] +):\ s"到名为"name"的匹配列表,并匹配模式"[^\r \n] +)\ r \n \n)+"到名为"value"的匹配列表.
到目前为止我的正则表达式是
string pattern = "((?<name>[^:\r\n]+):\s(?<value>[^\r\n]+)\r\n)+";
Run Code Online (Sandbox Code Playgroud)
但是程序运行时正则表达式T4R1标头不断抛出异常.我的模式的语法有什么问题?有人可以展示一个能够做我想要完成的事情的示例模式吗?
另外,如何在模式中包含一个匹配的子字符串,但实际上不包含结果中的子字符串?例如,我想匹配模式的所有字符串
"http://[[:alpha:]]\r\n"
Run Code Online (Sandbox Code Playgroud)
,但我不想在返回的匹配结果中包含子字符串"http://".
通常,当在Visual Studio 2010中构建具有许多项目的大型解决方案时,Windows 7资源监视器将显示devenv.exe为无响应,但是平均CPU读取低于0.91的数字,如下所示:

这是在Windows 7 x64上配备AMD Phenom II 920 4核CPU,8 GB RAM.Visual Studio没有响应,但似乎几乎没有使用任何CPU资源.
当我试图运行与msbuild.exe构建和开关" / maxcpucount:4 ",平均CPU值还停留低,RHS图表从来没有表现出5-10%以上的值.
为什么Visual Studio 2010(或msbuild)似乎没有在构建期间利用CPU?
可能重复:
如何在SELECT语句中使用BOOLEAN类型
我已经尝试在我编写的函数上运行SQLPLUS,它返回BOOLEAN数据类型.有没有办法从SQLPLUS运行这些BOOLEAN函数?似乎从SQLPLUS根本无法访问BOOLEAN数据类型.
编辑:我应该提到我只使用SQLPLUS绑定变量,而不是标准的DECLARE ... PLSQL变量.
在Visual C的__asm中,我想跳转到存储在寄存器中的位置,但它似乎不适用于条件跳转,例如JAE.通常情况下这很好(如果你使用标签).
lea ecx, 0x0000001f[edx]
;jmp ecx ;ok
;jae EXIT_LOOP ;ok
jae ecx ; not ok "improper operand type"
Run Code Online (Sandbox Code Playgroud)
有没有办法jae用Visual C __asm进行寄存器(或堆栈)变量?也许有一种不同的方法来解决这个问题(有条件地使用数字跳转到某处,而不是标签,在编译时已知)?
我已经交给了一些遗留的SQL Server 2005数据库,我们在SQL Server 2008 R2上运行它.通过内联SQL和没有外键的实体有很多引用,所以我发现自己反复打开存储过程的T-SQL源,这意味着要通过"脚本存储过程...创建到......新查询编辑器窗口"GUI菜单.有没有办法将其绑定到键盘命令?