自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我爱密码学

密码学,一个神奇的世界!Cryptology is my world!

  • 博客(51)
  • 收藏
  • 关注

转载 Sunday搜索算法实现

int MAXSIZE = 256;  int moveLength[MAXSIZE];  void getMoveLength(const string &T) {    int tLen = T.size();    for(int i = 0; i < MAXSIZE; ++ i)      moveLength[i] = tLen + 1;      for...

2018-10-06 10:21:30 695143

转载 BM搜索算法C实现

https://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string-search_algorithm#include <stdint.h>#include <stdlib.h>#define ALPHABET_LEN 256#define NOT_FOUND patlen#define max(a, b) ((a...

2018-10-06 10:19:43 693151

原创 Mac回滚iTunes版本

1. 关闭SIP,即System Integrity Protection参考这篇文章:https://www.howtogeek.com/230424/how-to-disable-system-integrity-protection-on-a-mac-and-why-you-shouldnt/即重启进入Recovery模式,在终端里输入csrutil disable就

2018-01-20 21:40:45 698946

原创 Unreal Engine UE4开发技巧

1.从GitHub下载源码解压后,需要先执行Setup.bat,如果处于需要代理才能访问网络的话,需要修改setup.bat,给GitDependencies.exe添加--proxy命令行,如GitDependencies.exe --proxy=1.2.3.4:8080

2017-12-20 10:12:07 697637

原创 从Unity 5.6导出Gradle工程需要修改地方

从Unity直接导出Gradle工程后,在Android Studio中使用Gradle编译打包时,有时会编译不过,总是报java out of memory异常,而最新的Android Studio界面设置中已经无法直接设置编译时使用的内存大小,所以需要通过修改配置文件来解决这个问题具体操作是在C:\Users\Your Username XXX\.gradle\目录下新建gradle.prop

2017-05-22 15:09:05 704849

原创 miracl去除某些特殊信息

只需要在mirdef.h中增加如下定义即可在编译的时候,去掉错误信息#define MIRACL 32#define MR_LITTLE_ENDIAN /* This may need to be changed */#define mr_utype int /* the underlying type is usua

2017-01-08 11:52:49 702023

原创 LibVLC自定义插件目录,获取FPS方法

一、自定义插件目录 在Windows平台,使用LibVLC,只需要在VLC官网的nightly builds下载最新的win32 debug或win64 debug包,解压缩之后,会有libvlc.dll  libvlccore.dll , sdks目录下面包含lib和头文件        如果需要自定义插件目录,使用--plugin-path无效的时候,需要使用如下的代码 typedef in

2016-08-18 11:11:40 12229 1

原创 windbg分析运行在64位环境下的32位程序的dump

windbg命令如下1.   .load wow64exts2.   !sw3.   ~* kvnf

2015-12-17 16:21:56 5336

原创 Zigbee技术开发一 设置NV_RESTORE

需要试验一下设置NV_RESTORE之后,终端设备的处理逻辑,在IAR里面设置NV_RESTORE的地方如下

2015-08-07 16:08:50 2203

原创 ntoskrnl符号在IDA中查看的问题

最近发现x64的ntoskrnl.exe,如果直接在IDA中

2014-06-18 22:17:19 3283

原创 bootmgr解压缩

主要参考以下两个文章:1.  http://bbs.wuyou.com/forum.php?mod=viewthread&tid=211314

2014-06-05 12:59:51 4045

原创 调试bootmgr&winload vista&win7 x86&x64

一、以管理员权限运行cmd.exe二、执行以下命令

2014-06-02 21:11:09 4439

原创 metasploit使用

新版本的Metasploit分为Pro和Communicate版本1.   use

2014-05-22 20:13:35 1570

原创 VS2008界面语言设置

在卸载某个软件的时候,不知道什么原因导致vs2008的界面变成中文的了,但是菜单还是英文的,很不美观。几经查找,最后可以在如下的地方设置界面语言 Tools -> Options  如果设置成 same as Microsoft Windows,则会变成与系统相同的语言设置。

2013-12-09 13:05:43 13299

原创 驱动中如何给ring3层应用程序提权

为什么会有这个需求就不用我多说了吧:)目前在驱动中提权我知道的有三种办法1.  该方法来源于stoned bootkit,主要原理是把services.exe的EPROCESS中的Token值取出来,直接赋值给需要提权的应用程序,这种方法需要硬编码,并且有较大的机率蓝屏。主要是因为Token值会被释放和DeReference2.在进程创建时,使用ZwOpenProcess、ZwOpenProces

2013-09-24 23:21:12 4459

原创 我的第一个RootKit,支持XP、Vista、Win7、Win8 RTM 32位

只有写过一个BootKit,才能比较深刻的理解其整个过程与机制,也能加深对Windows系统引导各个过程的熟悉和理解。我写的这个bootkit,暂时还没想到一个比较好的名字,它1.  支持xp到win8的所有32位系统,当然win8不能开启Secure Boot2.  可加载任意驱动,执行任意shellcode,以管理员权限执行任意exe 下一步准备开发支持x64系统的 说到Win8,微软确实在安

2013-08-23 19:10:38 2827 2

原创 应用层和驱动如何判断当前的启动模式

1. 应用层调用int nBootType = GetSystemMetrics(SM_CLEANBOOT)MSDN解释:The value that specifies how the system is started:          0 Normal boot1 Fail-safe boot2 Fail-safe with network bootA fail-safe boot (al

2013-07-15 19:35:29 1558

原创 对某bootkit的驱动分析

一.基本信息驱动文件名:1F273549.sys(驱动名称随机)病毒类型:感染MBRMD5:xxx文件大小:9,104 字节 二.危害简介1. hook了4个SSDT函数,用于对抗杀软的驱动加载,以及保护自身样本不被复制2. 替换了Disk.sys的StartIo处理例程,隐藏MBR的修改3. 根据上层传入的进程pid来杀进程,主要用于结束杀软的进程4. 使用磁盘IO来直接操作MBR三.详细分析1

2012-12-04 13:10:09 2215

原创 win8 + vmware + windbg 双机调试

由于最近需要调试win8下面驱动的一个bug,所以尝试了一下用windbg进行双机联调,发现VirtualKD v2.6版本对windows 8 Consumer Preview版的支持不好,用target里面的vminstall.exe可以安装成功,但是重启之后,win8就会不停的尝试修复~~,完全无法调试。具体原因未知。无奈只好用最原始的双机联调的办法来试一下。过程和调试win7类似。1.

2012-03-29 16:20:06 6174

原创 win7激活DbgPrint输出

创建文件1.reg,复制下面的内容,然后导入注册表即可。 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debu

2011-08-02 15:01:49 3327

原创 Shell_NotifyIcon后tray退出的问题

<br />在填充NOTIFYICONDATA结构体中的hwnd成员时,如果hwnd成员不对,<br />则当鼠标移动到tray上的图标时,会自动退出。

2011-05-10 19:05:00 1930

原创 GetVersion与GetVersionExW/A

GetVersion与GetVersionExW/A的实现

2010-11-23 17:53:00 3547 1

原创 一些常用的消息

1. EM_SETREADONLY2. EM_LIMITTEXT3. CB_GETCURSEL4. CB_ADDSTRINGG5. CB_SETCURSEL

2010-10-15 10:28:00 1438

原创 Windbg 常用命令

1. g2. k,    kb    kd 3. dd    db    du4. u5. !process 0 0    !process6. .process PID    .process7. bp    bu    bl    bc8. lm    lm m PATTERN    lm n t

2010-09-28 19:01:00 1819

原创 MFC中上下控件的使用

上下控件的实现

2010-09-16 01:14:00 2938

原创 解决vs2005 出现调试文件损坏的情况

Fatal error LNK1103: debugging information corrupt

2010-09-15 21:05:00 1852

原创 解决win7下面图标显示不正常的问题

清除win7图标缓存

2010-09-15 21:01:00 6257 2

原创 彻底解决VC6在编译,链接时的假死问题

VC6在编译,或者链接的时候会出现假死的现象,IDE没有响应了,直接关关不掉IDE,只有从进程管理器里面关掉,一开始我以为是Visual Assist X的问题,卸载它之后问题依旧,最终找到了解决方案,原来这是一个BUG,在vs6 sp6里面microsoft已经解决了,具体链接如下:http://support.microsoft.com/kb/839136/en-us?fr=1vs6 sp6的下载地址:英文版地址: http://download.microsoft.com/download/1/9/f

2010-09-12 16:49:00 3053

原创 结构体参数的传递以及如何修改指针参数的值

<br />1. 我们在看代码的时候,会注意到,如果函数的参数需要结构体的时候,一般是传递结构体指针,而不是传递结构体,这一点在Windows API中几乎都是如此,凡是用到结构体的地方,都是用它的指针来做参数的,这是什么原因呢?最近发现,如果直接传结构体,编译器会把结构体的各个成员都一一压栈,而如果传递的是结构体指针的话,则只压一个结构体的指针就可以了,大为简洁<br /> <br />2. 有这样一个函数<br />void foo(char* p){ p++;}<br />问,在这个

2010-09-12 04:44:00 4531 1

原创 如何判断是否是GBK和BIG5编码

判断是否为GBK和BIG5编码的函数

2010-09-12 04:32:00 3670

原创 正确的折半查找实现

<br />折半查找又称二分查找,Binary Search,这是一个多么简单而又常见的算法啊!<br />是的,君不见,网上流传的此算法的代码(无论是何种语言),大多是有Bug的,通常是第1个或最后1个搜索不到<br />这里帖一个正确而又简洁易懂的C实现<br />int binary_Search(int* p, int x, int iLen){ int index = -1; int minIndex = 0; int maxIndex = iLen - 1;

2010-09-06 21:47:00 1394

原创 可能是ReadFile的一个Bug

最近在写程序的时候,发现Microsoft提供的File Management Functions或多或少存在一些Bug,比如ReadFile。前段时间移动硬盘坏了,于是用强大的R-Studio恢复硬盘上的数据,文件全部被恢复出来,但是后来在打开其中一个名为 a.c 文件的时候,notepad提示说“函数不正确”,又试了下notepad++,一下打不开,说File does not exist,这是什么原因?于是拿起Ollydbg跟了一下notepad打开文件的过程,发现它在调用CreateFile打开这个

2010-09-05 02:07:00 2140 1

原创 用IDA导出map文件时的注意事项

在不需要Label信息的情况下,不要选中"dummy names"选项,否则在Ollydbg中使用LoadMapEx(by forever)加载时,会将OD的注释替换掉

2010-09-04 20:15:00 4262

原创 导出VC6着色方案

导出,VC6着色方案,Visual Assist X设置

2010-09-04 00:22:00 1190

原创 PsGetCurrentProcess

PsGetCurrentProcess的定义如下:PsGetCurrentProcessThe PsGetCurrentProcess routine returns a pointer to the process of the current thread.PEPROCESS   PsGetCurrentProcess(    VOID    );ParametersNone Return ValuePsGetCurrentProcess returns a pointer to an opaque p

2010-08-27 09:50:00 3042

原创 Rabbit流密码的Java实现

1. Rabbit流密码(Rabbit Stream Cipher)简介      Rabbit流密码是由Cryptico公司(http://www.cryptico.com)设计的,密钥长度128位,最大加密消息长度为264 Bytes,即16 TB,若消息超过该长度,则需要更换密钥对剩下的消息进行处理。它是目前安全性较高,加/解密速度比较高效的流密码之一,在各种处理器平台上都有不凡的表

2009-09-25 03:36:00 9256 10

原创 Crypto++的类布局研究心得

Integer类的定义如下: typedef SecBlock > IntegerSecBlock;class CRYPTOPP_DLL Integer : private InitilizeInteger, public ASN1Object{...enum Sign { POSITIVE=0, NEGATIVE=1 };...IntegerSecBlock

2009-08-03 14:41:00 1459

原创 cryptofbc & ecdlp solver projects

 在google上申请了一个open source project,把cryptofbc和ecdlp solver放到了上面,可以下载,在线浏览http://code.google.com/p/cryptofbc/ svn客户端TortoiseSVN

2009-08-01 01:01:00 1320

原创 ASP错误类型:Microsoft JET Database Engine (0x80040E09) 不能更新。数据库或对象为只读。

这是ntfs权限造成的,解决办法: 1、选择“工具” > “文件夹选项” >“查看”,去掉“使用简单文件共享”前的勾 2、找到数据库所在文件夹,点击右键“属性”并切换到“安全”选项卡,添加给EveryOne 用户所有权限。 添加方法为:安全 |  添加 |  高级 |  立即查找 |  选中everyone |  确定 |  点上“修改”一项 3、同理给Internet来宾帐户IUSER_host

2008-03-09 12:50:00 4387

原创 Perl&LWP

 http://lwp.interglacial.com/Web Basics with LWPhttp://www.perl.com/pub/a/2002/08/20/perlandlwp.html?page=1

2008-02-18 21:01:00 1570

空空如也

空空如也

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

TA关注的人

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