<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[埋vizee的墓]]></title><description><![CDATA[如果这里埋着一个愚蠢的纯傻X]]></description><link>https://blog.youkuaiyun.com/Vizee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Vizee]]></copyright><item><title><![CDATA[新家地址 http://vizee.org]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/46332775</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/46332775</guid><author>Vizee</author><pubDate>Tue, 02 Jun 2015 17:27:17 +0800</pubDate><description><![CDATA[http://vizee.org]]></description><category></category></item><item><title><![CDATA[HDOJ 2066]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/17172435</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/17172435</guid><author>Vizee</author><pubDate>Fri, 06 Dec 2013 19:49:00 +0800</pubDate><description><![CDATA[无脑dijkstra, 转问题为单源再处理(稀疏图用邻接表才是最优处理方式)


#include 
#include 

int dist[1001];
char k[1001];
int g[1001][1001];

int main()
{
	int t, s, d;
	int a, b, time;
	int i;
	int c;
	int e;
	int next;
	int m]]></description><category></category></item><item><title><![CDATA[计算文件MD5(含MD5算法)]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8635901</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8635901</guid><author>Vizee</author><pubDate>Mon, 04 Mar 2013 23:02:38 +0800</pubDate><description><![CDATA[#include 
#include 

#define A	(0x67452301)
#define B	(0xefcdab89)
#define C	(0x98badcfe)
#define D	(0x10325476)

#define X(_a, _b, _r, _m, _s, _t) \
	((_a) = (_b) + rol((_a) + (_r) + (_m) + (_t), (_s]]></description><category></category></item><item><title><![CDATA[获取进程路径]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8579736</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8579736</guid><author>Vizee</author><pubDate>Tue, 12 Feb 2013 18:30:53 +0800</pubDate><description><![CDATA[//获取进程路径,理论上至少支持XP;进程句柄需要PROCESS_QUERY_INFORMATION和PROCESS_VM_READ权限...实现方法和GetModuleFileNameEx类似....

//DESP: get process image path
BOOL process_get_path(HANDLE hProcess, LPTSTR szImagePath, DWORD d]]></description><category></category></item><item><title><![CDATA[还原GetModuleFileNameExW]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8579175</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8579175</guid><author>Vizee</author><pubDate>Tue, 12 Feb 2013 13:35:08 +0800</pubDate><description><![CDATA[//thanks for powerful windbg~

BOOL FindModule(HANDLE hProcess, HMODULE hModule, PLDR_DATA_TABLE_ENTRY pLdrData)
{
	DWORD i;
	PLIST_ENTRY pListEntry;
	PPEB_LDR_DATA pPebLdr;
	PROCESS_BASIC_INFORMATION]]></description><category></category></item><item><title><![CDATA[IsWow64Process实现]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8571305</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8571305</guid><author>Vizee</author><pubDate>Tue, 05 Feb 2013 12:30:42 +0800</pubDate><description><![CDATA[使用IsWow64Process可以检测当前进程是否运行在WOW64环境下(WOW64 is the x86 emulator that allows Win32-based applications to run on 64-bit Windows),有些人也把它用来检测CPU位数(这用法是错误的)
在MSDN上也有这个函数的使用方法,当然我还是写了个,注意的是IsWow64Process第一]]></description><category></category></item><item><title><![CDATA[Brainfuck VM]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8446959</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8446959</guid><author>Vizee</author><pubDate>Fri, 28 Dec 2012 12:37:52 +0800</pubDate><description><![CDATA[package org.vizee.brainfuckvm;

public class BrainfuckVM {
	
	private byte[] ds;
	private byte[] cs;
	private int[] es;
	private int dp;
	
	private void ds_resize(int size, boolean preserve)
	{
		byte]]></description><category></category></item><item><title><![CDATA[FormatMessage]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8275523</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8275523</guid><author>Vizee</author><pubDate>Sun, 09 Dec 2012 19:34:46 +0800</pubDate><description><![CDATA[Private Const FORMAT_MESSAGE_ALLOCATE_BUFFER As Long = 256
Private Const FORMAT_MESSAGE_IGNORE_INSERTS As Long = 512
Private Const FORMAT_MESSAGE_FROM_STRING As Long = 1024
Private Const FORMAT_MESSAG]]></description><category></category></item><item><title><![CDATA[VB.NET多线程Socket实现简单HTTP服务]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8273342</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8273342</guid><author>Vizee</author><pubDate>Sat, 08 Dec 2012 19:45:50 +0800</pubDate><description><![CDATA[Imports System.Net
Imports System.Net.Sockets
Imports System.Threading

Module monkeyServer

	Private Const HttpVersion As String = "HTTP/1.1"
	Private Const WebTitle As String = "Monkey Server"
	Priv]]></description><category></category></item><item><title><![CDATA[还原NtTerminateProcess]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8257410</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8257410</guid><author>Vizee</author><pubDate>Tue, 04 Dec 2012 21:27:21 +0800</pubDate><description><![CDATA[在上课吃饱了没事干的情况下,花了点功夫还原了我电脑上的NtTerminateProcess的代码
我的系统是Windows XP Kernel Version 2600 (Service Pack 3) MP (2 procs) Free x86 compatible(来自windbg)
nt!NtTerminateProcess:
mov     edi,edi
push    ebp
mo]]></description><category></category></item><item><title><![CDATA[C# DriverControl]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8252887</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8252887</guid><author>Vizee</author><pubDate>Mon, 03 Dec 2012 18:19:36 +0800</pubDate><description><![CDATA[class DriverControl
{
	private IntPtr hSCManager;
	private IntPtr hService;
	private IntPtr hDevice;
	private uint dwErrorCode;

	public const int MAX_SERVICE_NAME = 256;
	public const int MAX_DISPLAY]]></description><category></category></item><item><title><![CDATA[多CPU下安全inline hook]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8212044</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8212044</guid><author>Vizee</author><pubDate>Thu, 22 Nov 2012 13:51:09 +0800</pubDate><description><![CDATA[去師父神牛的空間里看了下關於内核安全inline hook的討論，感覺受益匪淺，查閲資料后，得知了一種CPU中較爲安全的安裝鈎子的方法。
該代碼來自《Rootkits：Subverting the Windows Kernel》一書，原理是通過向所有非當前的CPU插入DPC，並且在DPC例程中實現忙等待，這是一種比較可愛的方法（PS：雖然我還是糾結于，如果其他CPU當前就已經在執行DPC那不是情]]></description><category></category></item><item><title><![CDATA[Windows 7 Wireless Hosted Network and ICS]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8190476</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8190476</guid><author>Vizee</author><pubDate>Fri, 16 Nov 2012 14:27:19 +0800</pubDate><description><![CDATA[Windows 7系統支持將無線網卡作為WiFi基站(WiFi熱點?), 原理是通過ICS技術(防火牆NAT?)將有效網絡分享給無線承載網絡網卡, 使無線承載網卡連接到網絡. 詳細參見MSDN關於這方面介紹http://msdn.microsoft.com/en-us/library/dd815252(v=vs.85).aspx
為了方便開啟我個人本的WiFi, 就想寫一個這方面的小程序, 在網]]></description><category></category></item><item><title><![CDATA[判斷進程是否具有管理員權限(代碼來自微軟SDK)]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8126122</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8126122</guid><author>Vizee</author><pubDate>Mon, 29 Oct 2012 21:38:10 +0800</pubDate><description><![CDATA[BOOL IsUserAdmin()
{
    BOOL                     bIsAdmin              = FALSE;
    SID_IDENTIFIER_AUTHORITY NtAuthority           = SECURITY_NT_AUTHORITY;
    PSID                     Administrators]]></description><category></category></item><item><title><![CDATA[HDOJ 1000]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8075962</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8075962</guid><author>Vizee</author><pubDate>Tue, 16 Oct 2012 10:25:13 +0800</pubDate><description><![CDATA[代码1
C提交



#include 
int main()
{
    __asm {
        call _
        and eax,0x642564
        and eax,0x0a64
    _:
        pop edi
        mov esi,edi
        add esi,5
    __:
        add ebp,0]]></description><category></category></item><item><title><![CDATA[HDOJ 1010]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8072898</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8072898</guid><author>Vizee</author><pubDate>Mon, 15 Oct 2012 14:11:13 +0800</pubDate><description><![CDATA[#include 

char v[8][8];
int ci,cj,ct;
int n,m,t;

int dfs()
{
	if(ci = n || cj >= m)
		return 0;
	if(v[ci][cj] == 2)
		if(ct == t)
			return 1;
		else
			return 0;
	else if(v[ci][cj]) {
		ct++;
		v[c]]></description><category></category></item><item><title><![CDATA[MD5 for Assembler]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8036435</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8036435</guid><author>Vizee</author><pubDate>Tue, 02 Oct 2012 11:56:23 +0800</pubDate><description><![CDATA[.386
.model flat,stdcall
option casemap:none

mmov macro _d,_s,_tr
    mov _tr,_s
    mov _d,_tr
endm

.data
_T0 dd 0d76aa478h,0e8c7b756h,242070dbh,0c1bdceeeh,0f57c0fafh,4787c62ah,0a8304613h]]></description><category></category></item><item><title><![CDATA[MD5 review]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/8002562</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/8002562</guid><author>Vizee</author><pubDate>Fri, 21 Sep 2012 08:14:16 +0800</pubDate><description><![CDATA[//鏈性變量 A B C D
#define A (0x67452301UL) //在內存中是 01 23 45 67
#define B (0xefcdab89UL) //89 ab cd ef
#define C (0x98badcfeUL) //fe dc ba 98
#define D (0x10325476UL) //76 54 32 10
#define XX(_a,_b,_r,_M,]]></description><category></category></item><item><title><![CDATA[VB Unescape]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/7844730</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/7844730</guid><author>Vizee</author><pubDate>Wed, 08 Aug 2012 19:17:13 +0800</pubDate><description><![CDATA[Public Function unescape(szEscape As String) As String
    Dim i As Long, l As Long
    Dim c As String, s As String
    
    l = Len(szEscape)
    unescape = ""
    For i = 1 To l
        c = Mid$(sz]]></description><category></category></item><item><title><![CDATA[bubblesort]]></title><link>https://blog.youkuaiyun.com/Vizee/article/details/7816680</link><guid>https://blog.youkuaiyun.com/Vizee/article/details/7816680</guid><author>Vizee</author><pubDate>Wed, 01 Aug 2012 08:37:39 +0800</pubDate><description><![CDATA[int length;

/*inline*/void exchange(int *a,int *b)
{
	*a ^= *b;
	*b = *a ^ *b;
	*a ^= *b;
	return;
}

void bubblesort(int A[])
{
	int i,j;

	for(i = 1;i <= length;i++)
		for(j = length;j > i;j--)]]></description><category></category></item></channel></rss>