自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

记事本

记录了一些日常中碰到的问题或经验。

  • 博客(11)
  • 资源 (4)
  • 收藏
  • 关注

转载 关于C#中泛型类型参数约束(where T : class)

.NET支持的类型参数约束有以下五种:where T : struct                               | T必须是一个结构类型where T : class                                 | T必须是一个Class类型where T : new()                               | T必须要有

2018-01-31 15:40:25 1999

转载 C# 反射获取字段类变量名

using System.Linq.Expressions; public static string GetPropertyName(Expression> expr) { var rtn = ""; if (expr.Body is UnaryExpression)

2018-01-31 15:39:49 3731

原创 Cmd 获取进程命令行

cmd 输入 下列命令 Chrome.exe为进程名wmic process where caption="Chrome.exe" get caption,commandline /value

2018-01-31 08:58:49 4356 1

原创 C# WPF VisualBrush实现鹰眼视图

private Rectangle HawkeyeBack { get; set; } private Grid HawEyeBox { get; set; } private Rectangle EyeWindow { get; set; } #region 鹰眼视窗 /// /// 初始化鹰眼视窗

2018-01-30 14:06:54 1248 2

原创 C# MongoDB Query查询方法

用的是NuGet里的 Mongo 包MongoDB.Bson.dllMongoDB.Driver.dllusing MongoDB.Driver.Builders;Query.All("name", "a","b"); //通过多个元素来匹配数组 Query.And(Query.EQ("name","a"), Query.EQ("title", "t"));//同时满足

2018-01-16 21:15:01 1756

原创 C# 实现shellcode 进程启动注入eip注入

首先说下代码原理  1.使用CreateProcess 创建一个带 CREATE_SUSPENDED标记的进程自然进程创建加载完DLL后会被挂起。 CREATE_SUSPENDED 标记本是为调试器准备的。2.然后用GetThreadContext获取该进程的线程上下文,保存下来(重要)。。。。3.用VirtualAllocEx 在进程空间申请一段 dll路径长度 + 32字节的内

2018-01-07 17:13:11 2340

原创 LINQ2SQL DataContext上使用事物

以下是扩展的方法 /// /// 开始事物 /// /// /// public static Boolean BeginTrans(this System.Data.Linq.DataContext source) { try

2018-01-06 21:59:53 1112

原创 SqlBulkCopy 封装 CopyTableToSql

/// /// 拷贝数据表到数据库中 /// /// /// public static void CopyTableToSql(string connectionString, DataTable dt) { using (SqlBulkCopy sqlbulkcopy

2018-01-06 21:57:10 853

原创 在linq2sql用反射实现对象拷贝

当在使用 linq2sql 模型时 数据结构是模型自动生成的 但是某些时候要根据ID修改数据时 要实现浅克隆把修改的对象赋值给 模型 这里通过用反射的方式来进行浅克隆 public static void CopyTo(this T source, T desc) { PropertyInfo[] props = typeof(T).GetPrope

2018-01-06 21:45:58 407

原创 IEqualityComparer 应用 Distinct Contains 扩展功能 实现某个字段的对比

创建以下两个类 即可使用 Distinct Contains 扩展功能 实现某个字段的对比 public static class Equality { public static IEqualityComparer CreateComparer(Func keySelector) { return new Comm

2018-01-06 21:38:35 388

原创 Http Get Post Put Delete 调用WebAPi封装

使用方法 List param = new List() { new { UserId = 123, UserData = true } }; //TimeOut HttpHelper.HttpRequestTimeOut = 50000; //GET HttpHelper.Get("ht

2018-01-05 09:16:26 2154

C# 优雅的 APIHOOK 支持X86+X64源码

using System; using System.Runtime.InteropServices; namespace NativeHook.Test { public delegate Int32 MessageBoxW(IntPtr hWnd, [MarshalAs(UnmanagedType.LPWStr)] string lpText, [MarshalAs(UnmanagedType.LPWStr)] string lpCaption, UInt32 uType); public class MessageBoxHook : NtAPIHook { [DllHook("user32", EntryPoint = "MessageBoxW")] public Int32 MessageBox(IntPtr owner, string text, string caption, UInt32 options) { //拦截信息 Console.Title = caption; Console.WriteLine(text); //调用源函数 return Origin.Invoke(owner, text, caption, options); } } } [STAThread] static void Main(string[] args) { using (var hook = new MessageBoxHook()) { //绕过Hook直接调用源函数 hook.Origin(IntPtr.Zero, "111", "222", 0); //调用Api 被Hook MessageBox.Show("Hello world", "666", MessageBoxButtons.YesNoCancel); } //Hook解除拦截不到 MessageBox.Show("Hello world", "666", MessageBoxButtons.YesNoCancel); }

2018-09-21

C# 从内存加载动态链接库

纯C# 实现的 从内存加载动态链接库,支持加壳的DLL,使用方便 class Program { public delegate Int32 CompressHandle(ref Byte dest,ref Int32 len, Byte [] source,Int32 sourcelen); static void Main(string[] args) { Byte[] source = new byte[10000]; Byte[] dest = new byte[10000]; Int32 len = source.Length; Byte[] dllBin = File.ReadAllBytes("zlib1.dll"); using (var dll = new DllLoader()) { if (dll.LoadLibrary(dllBin)) { var Compress = dll.GetProcDelegate("compress"); if (Compress != null) { var result = Compress.Invoke(ref dest[0], ref len, source, len); Console.WriteLine(result); } } } } }

2018-09-08

Vb6 InLineHook(通用版)

Vb6 开发的 InLineHook (APIHook) 兼容 XP WIN7 SERVER2003 WIN2000 源码

2013-03-11

Obj文档解析

解析M$的Obj文档,Vb生成的 Obj文档,功能齐全 可编辑 源码

2013-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除