2012年3月15日

Linux下实用的查看内存和多核CPU状态命令---转

摘要: top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。本文通过一个运行中的WEB服务器的top监控截图,讲述top视图中的各种数据的含义,还包括视图中各进程(任务)的字段的排序。top进入视图top视图 01【top视图 01】是刚进入top的基本视图,我们来结合这个视图讲解各个数据的含义。第一行:10:01:23 — 当前系统时间126 days, 14:29 — 系统已经运行了126天14小时29分钟(在这期间没有重启过)2 users — 当前有2个用户登录系统lo 阅读全文

posted @ 2012-03-15 14:56 梦想Sky 阅读(4800) 评论(0) 推荐(0) 编辑

2012年3月12日

Flash学习(一)

摘要: Adobe Flash Professional CS5 是一个创作工具,设计人员和开发人员可使用它创建出演示文稿、应用程序以及支持用户交互的其他内容。Flash 项目可以包含简单的动画、视频内容、复杂的演示文稿、应用程序以及介于这些对象之间的任何事物。总而言之,使用 Flash Professional 制作出的个体内容就称为应用程序(或SWF 应用程序),尽管它们可能只是基本的动画。您可以加入图片、声音、视频和特殊效果,创建出包含丰富媒体的应用程序。SWF 格式十分适合通过 Internet 交付,因为它的文件很小。这是因为它大量使用了矢量图形。与位图图形相比,矢量图形的内存和存储空间要求 阅读全文

posted @ 2012-03-12 09:04 梦想Sky 阅读(725) 评论(0) 推荐(0) 编辑

WireShark 过滤语法

摘要: 1.过滤IP,如来源IP或者目标IP等于某个IP例子:ip.src eq 192.168.1.107 or ip.dst eq 192.168.1.107或者ip.addr eq 192.168.1.107 // 都能显示来源IP和目标IP2.过滤端口例子:tcp.port eq 80 // 不管端口是来源的还是目标的都显示tcp.port == 80tcp.port eq 2722tcp.port eq 80 or udp.port eq 80tcp.dstport == 80 // 只显tcp协议的目标端口80tcp.srcport == 80 // 只显tcp协议的来源端口80udp.p 阅读全文

posted @ 2012-03-12 08:51 梦想Sky 阅读(400) 评论(0) 推荐(0) 编辑

2012年2月23日

通过PEB的Ldr枚举进程内所有已加载的模块

摘要: 一、几个重要的数据结构,可以通过windbg的dt命令查看其详细信息_PEB、_PEB_LDR_DATA、_LDR_DATA_TABLE_ENTRY二、技术原理1、通过fs:[30h]获取当前进程的_PEB结构2、通过_PEB的Ldr成员获取_PEB_LDR_DATA结构3、通过_PEB_LDR_DATA的InMemoryOrderModuleList成员获取_LIST_ENTRY结构4、通过_LIST_ENTRY的Flink成员获取_LDR_DATA_TABLE_ENTRY结构,注意:这里的Flink指向的是_LDR_DATA_TABLE_ENTRY结构中的InMemoryOrderLink 阅读全文

posted @ 2012-02-23 11:30 梦想Sky 阅读(6021) 评论(0) 推荐(0) 编辑

2012年2月21日

反调试技巧总结-原理和实现-----转

摘要: 反调试技巧总结-原理和实现-------------------------------------------------------------------------------------------------------2008.8.7shellwolf一、前言前段学习反调试和vc,写了antidebug-tester,经常会收到message希望交流或索要实现代码,我都没有回复。其实代码已经在编程版提供了1个版本,另其多是vc内嵌asm写的,对cracker而言,只要反下就知道了。我想代码其实意义不是很大,重要的是理解和运用。做个简单的总结,说明下实现原理和实现方法。也算回复了那 阅读全文

posted @ 2012-02-21 08:23 梦想Sky 阅读(1460) 评论(0) 推荐(0) 编辑

2012年2月20日

PEB获取GetProcAddrees函数地址

摘要: 1.fs寄存器指向TEB结构 2.在TEB+0x30地方指向PEB结构 3.在PEB+0x0C地方指向PEB_LDR_DATA结构 4.在PEB_LDR_DATA+0x1C地方就是一些动态连接库地址了,如第一个指向ntdll.dll,第二个就是kernel32.dll的地址。 其结构示意图如图 利用PEB查找kernerl32地址的汇编实现 mov eax, fs:0x30 ;PEB的地址 mov eax, [eax + 0x0c] ;Ldr的地址 mov esi, [eax + 0x1c] ;Flink地址 lodsd mov eax, [eax + 0x08] ;eax就是kernel3. 阅读全文

posted @ 2012-02-20 09:04 梦想Sky 阅读(1639) 评论(0) 推荐(0) 编辑

FS寄存器

摘要: FS寄存器指向当前活动线程的TEB结构(线程结构)偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 ArbitraryUserPointer018 FS段寄存器在内存中的镜像地址020 进程PID024 线程ID02C 指向线程局部存储指针030 PEB结构地址(进程结构)034 上个错误号fs:[30]->PEBtypedefstruct_PEB{//Size:0x1D8000hUCHARInheritedAddressSpace;001hUCHARReadImageFileExecOptions 阅读全文

posted @ 2012-02-20 08:46 梦想Sky 阅读(863) 评论(0) 推荐(0) 编辑

2012年2月17日

tls callback例子

摘要: 1 #include <windows.h> 2 #include <winnt.h> 3 //下面这行告诉链接器在PE文件中要创建TLS目录 4 #pragma comment(linker, "/INCLUDE:__tls_used") 5 //这是PIMAGE_TLS_CALLBACK()函数的原型 6 //其中第一个和第三个参数保留,第二个参数决定函数在那种情况下 7 void NTAPI my_tls_callback(PVOID h, DWORD reason, PVOID pv) 8 { 9 ///共有四个选项DLL_PROCESS_A 阅读全文

posted @ 2012-02-17 08:41 梦想Sky 阅读(1560) 评论(0) 推荐(0) 编辑

TLS目录结构

摘要: PE文件结构的目录表(directory table)中有一个是IMAGE_DIRECTORY_ENTRY_TLS (9)线程级局部存储目录,如果此处非零的话,PE将会有一个tls节,tls节以结构IMAGE_TLS_DIRECTORY(winnt.h)开始 typedef struct _IMAGE_TLS_DIRECTORY32 { DWORD StartAddressOfRawData; DWORD EndAddressOfRawData; PDWORD AddressOfIndex; PIMAGE_TLS_CALLBACK *AddressOfCallBacks; DWORD Size 阅读全文

posted @ 2012-02-17 08:35 梦想Sky 阅读(1444) 评论(0) 推荐(0) 编辑

TLS简介----转

摘要: 1.什么是TLS?TLS是ThreadLocalStorage(线程局部存储)的简称,是一项解决多线程内部变量使用问题的技术。用于将某些数据和一特定线程关联起来,即,这些数据为关联线程所独有(私有)。在多线程编程中,同一个变量,如果要让多个线程共享访问,那么这个变量可以使用关键字volatile进行声明;而如果一个变量不想被多个线程共享访问,那么就应该使用TLS。2.如何使用TLS编程?TLS使用非常简单,只要对变量声明时使用__declspec(thread)修饰就可以了。例如:__declspec(thread) int g_nData = 0;3.一个使用TLS的例子 1 #includ 阅读全文

posted @ 2012-02-17 08:17 梦想Sky 阅读(1592) 评论(0) 推荐(0) 编辑

导航