- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 HDOJ 2066
无脑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
2013-12-06 19:49:00
983
原创 计算文件MD5(含MD5算法)
#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
2013-03-04 23:02:38
2689
原创 获取进程路径
//获取进程路径,理论上至少支持XP;进程句柄需要PROCESS_QUERY_INFORMATION和PROCESS_VM_READ权限...实现方法和GetModuleFileNameEx类似....//DESP: get process image pathBOOL process_get_path(HANDLE hProcess, LPTSTR szImagePath, DWORD d
2013-02-12 18:30:53
899
原创 还原GetModuleFileNameExW
//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
2013-02-12 13:35:08
2784
原创 IsWow64Process实现
使用IsWow64Process可以检测当前进程是否运行在WOW64环境下(WOW64 is the x86 emulator that allows Win32-based applications to run on 64-bit Windows),有些人也把它用来检测CPU位数(这用法是错误的)在MSDN上也有这个函数的使用方法,当然我还是写了个,注意的是IsWow64Process第一
2013-02-05 12:30:42
4962
原创 Brainfuck VM
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
2012-12-28 12:37:52
707
原创 FormatMessage
Private Const FORMAT_MESSAGE_ALLOCATE_BUFFER As Long = 256Private Const FORMAT_MESSAGE_IGNORE_INSERTS As Long = 512Private Const FORMAT_MESSAGE_FROM_STRING As Long = 1024Private Const FORMAT_MESSAG
2012-12-09 19:34:46
845
原创 VB.NET多线程Socket实现简单HTTP服务
Imports System.NetImports System.Net.SocketsImports System.ThreadingModule monkeyServer Private Const HttpVersion As String = "HTTP/1.1" Private Const WebTitle As String = "Monkey Server" Priv
2012-12-08 19:45:50
5077
原创 还原NtTerminateProcess
在上课吃饱了没事干的情况下,花了点功夫还原了我电脑上的NtTerminateProcess的代码我的系统是Windows XP Kernel Version 2600 (Service Pack 3) MP (2 procs) Free x86 compatible(来自windbg)nt!NtTerminateProcess:mov edi,edipush ebpmo
2012-12-04 21:27:21
3384
原创 C# DriverControl
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
2012-12-03 18:19:36
932
原创 多CPU下安全inline hook
去師父神牛的空間里看了下關於内核安全inline hook的討論,感覺受益匪淺,查閲資料后,得知了一種CPU中較爲安全的安裝鈎子的方法。該代碼來自《Rootkits:Subverting the Windows Kernel》一書,原理是通過向所有非當前的CPU插入DPC,並且在DPC例程中實現忙等待,這是一種比較可愛的方法(PS:雖然我還是糾結于,如果其他CPU當前就已經在執行DPC那不是情
2012-11-22 13:51:09
1076
原创 Windows 7 Wireless Hosted Network and ICS
Windows 7系統支持將無線網卡作為WiFi基站(WiFi熱點?), 原理是通過ICS技術(防火牆NAT?)將有效網絡分享給無線承載網絡網卡, 使無線承載網卡連接到網絡. 詳細參見MSDN關於這方面介紹http://msdn.microsoft.com/en-us/library/dd815252(v=vs.85).aspx為了方便開啟我個人本的WiFi, 就想寫一個這方面的小程序, 在網
2012-11-16 14:27:19
1039
转载 判斷進程是否具有管理員權限(代碼來自微軟SDK)
BOOL IsUserAdmin(){ BOOL bIsAdmin = FALSE; SID_IDENTIFIER_AUTHORITY NtAuthority = SECURITY_NT_AUTHORITY; PSID Administrators
2012-10-29 21:38:10
967
原创 HDOJ 1000
代码1C提交#include int main(){ __asm { call _ and eax,0x642564 and eax,0x0a64 _: pop edi mov esi,edi add esi,5 __: add ebp,0
2012-10-16 10:25:13
887
原创 HDOJ 1010
#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
2012-10-15 14:11:13
939
原创 MD5 for Assembler
.386.model flat,stdcalloption casemap:nonemmov macro _d,_s,_tr mov _tr,_s mov _d,_trendm.data_T0 dd 0d76aa478h,0e8c7b756h,242070dbh,0c1bdceeeh,0f57c0fafh,4787c62ah,0a8304613h
2012-10-02 11:56:23
973
原创 MD5 review
//鏈性變量 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,
2012-09-21 08:14:16
755
原创 VB Unescape
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
2012-08-08 19:17:13
846
原创 bubblesort
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--)
2012-08-01 08:37:39
478
原创 heapsort
#define PARENT(__i) (__i / 2)#define LEFT(__i) (__i * 2)#define RIGHT(__i) (__i * 2 + 1)int heap_size,length;/*inline*/void exchange(int *a,int *b){ *a ^= *b; *b = *a ^ *b; *a ^= *b; return
2012-08-01 08:19:44
449
原创 C DoEvents
void DoEvents(){ MSG tMsg; if(PeekMessage(&tMsg,NULL,0,0,PM_NOREMOVE) { GetMessage(&tMsg,NULL,0,0); TranslateMessage(&tMsg); DispatchMessage(&tMsg); } return;}
2012-07-12 14:27:41
713
原创 VB的SizeOfCode 有一点点的Bug
Option ExplicitDim initFlag As LongPublic opflag(0 To 255) As Byte, opexflag(0 To 255) As BytePrivate Function flagInitialize() As Long opflag(0) = 1: opflag(1) = 1 opflag(2) = 1: opflag(
2012-06-26 01:43:15
971
原创 學校DrCom登錄腳本
'configureConst DELETE_CONFIG = 0 'put 1 to delete script configure in registryConst KEEP_QUIET = 0 'put 1 to no longer pop up MessageBoxConst DRCOM_URL = "http://172.16.3.11/"Const DRCOM_LOGOFF_U
2012-06-10 20:33:21
3156
原创 POJ 1002
#include #include #include int map[] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,0,7,7,8,8,8,9,9,9};int t[100002];int cmp(const void *a,const void *b){ return *(int *)a - *(int *)b;}int main(){ i
2012-05-08 14:22:21
497
原创 Windows下搭建GNUstep环境以及编译运行Objective-C
在GNUstep的官网(http://www.gnustep.org/)中下载安装GNUstep for Windows(http://www.gnustep.org/experience/Windows.html)在Download下提供了GNUstep的MSYS System(系统环境,基于MinGW的msys),Core(一些和gnustep相关的环境什么的)和Devel(开发包
2012-04-25 10:28:25
1196
转载 Copy来自网上的一段代码
因为当时没注意作者,所以这里也不好写出处了,膜拜大牛吧#include stdio.h>#include stdlib.h>int pow2(int n){ return n * n;}int main(){ int i,j; freopen("what.html","w+",stdout); for(i =
2012-04-24 09:08:39
484
原创 ZOJ 3609
ZOJ 3609 Modular Inverse你可以用拓展欧几里德,但实际上一个for就ok了#include int gcd(int a,int b){ int r = a; while(a = r % b) { r = b; b = a; } return b;}int main(){ int T,a
2012-04-16 17:26:14
1164
原创 HDOJ 1129
HDOJ 1129 Do the Untwist字符串#include int main(){ char s[81]; int i,k,n,d,p,c[81]; while(scanf("%d",&k),k) { getchar(); gets(s); for(n = 0;s[n];n++) c[n] = s[n] == '_'? 0: s[n] ==
2012-04-11 09:13:23
495
原创 HDOJ 1671
HDOJ 1671 Phone List数据结构题字典树#include typedef struct _tagTrieNode { int count; struct _tagTrieNode *next[10];} TrieNode,*PTrieNode;TrieNode nodeStack[100000];int nodeTop;void initTrie
2012-04-11 08:52:15
606
原创 walk in winmine
貌似下午很无聊,就玩了下winmine.用OD(OllyICE v1.10 HA_second)加载winmine.停在了入口.庆幸下,标准的WinMainCRTStartup.01003E21 > $ 6A 70 push 7001003E23 . 68 90130001 push 0100139001003E28 . E8 DF01
2012-03-26 16:55:57
781
原创 nt
接下来将大量的时间用于从潘大神的著作中学习知识,并且省吃俭用来购买潘神牛的另外一译作写下一切内容仅代表个人观点 1.M$的路很多人都觉得M$(Microsoft,微软)最近在走下坡路,确实M$近几年不是很景气,但下坡,那是一个在重力加速度下,速度会不断不快的过程,显然M$不是.也许你会不信,但我给你举个例子,如果没有M$.这个例子够了么,你要钻牛角尖,你要去用Linux,Mac
2012-03-25 14:33:55
703
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人