摘要: 对一个字符串对象,首先想到的操作可能就是计算它有多少个字符组成,很容易想到用S.len(),但这是错的,应该是len(S)。因为len()是内置函数,包括在__builtin__模块中。python不把len()包含在string类型中,乍看起来好像有点不可理解,其实一切有其合理的逻辑在里头。len()不仅可以计算字符串中的字符数,还可以计算list的成员数,tuple的成员数等等,因此单单把len()算在string里是不合适,因此一是可以把len()作为通用函数,用重载实现对不同类型的操作,还有就是可以在每种有len()运算的类型中都要包含一个len()函数。 python选择的是第一种解 阅读全文
posted @ 2012-07-14 16:04 keepfocus 阅读(2721) 评论(1) 推荐(1) 编辑
摘要: 用IDA分析程序时,经常可以看到__alloc_probe(malloc.h中的alloca函数)这个函数,这个函数有什么用呢!现在分析一下这个函数。seg000:004042E0 __alloca_probe proc nearseg000:004042E0 arg_0 = byte ptr 4seg000:004042E0seg000:004042E0 push ecxseg000:004042E1 cmp eax, 1000h ; 判断申请的大小是为小于1000hseg000:004042E6 lea ecx, [esp+4+arg_0] ; 取得原来参数在栈中的地址,用于用来提升栈空间 阅读全文
posted @ 2012-07-13 12:47 keepfocus 阅读(1476) 评论(0) 推荐(0) 编辑
摘要: FS寄存器指向当前活动线程的TEB结构(线程结构)偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 ArbitraryUserPointer018 FS段寄存器在内存中的镜像地址020 进程PID024 线程ID02C 指向线程局部存储指针030 PEB结构地址(进程结构)034 上个错误号得到KERNEL32.DLL基址的方法assume fs:nothing ;打开FS寄存器mov eax,fs:[30h] ;得到PEB结构地址mov eax,[eax + 0ch] ;得到PEB_LDR_DATA结构 阅读全文
posted @ 2012-07-10 11:04 keepfocus 阅读(949) 评论(0) 推荐(1) 编辑
摘要: 一、test属于逻辑运算指令功能: 测试(两操作数作AND[与]运算,仅修改标志位,不修改寄存器内的结果).test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。test AX,BX 与 and AX,BX 命令有相同效果语法: TEST r/m,r/m/data影响标志: C,O,P,Z,S(其中C与O两个标志会被设为0)运用举例:1.Test用来测试一个位,例如寄存器:test eax, 100b; b后缀意为二进制jnz ******; 如果eax右数第三个位为1,jnz将会跳转2.Test的一个非常普遍的用法是用来测试一方寄存器是否为空:test 阅读全文
posted @ 2012-07-06 11:28 keepfocus 阅读(1724) 评论(0) 推荐(0) 编辑
摘要: http://www.editplus.com/javacpp.htmlhttp://www.editplus.com/dn.php?n=masm.rar 阅读全文
posted @ 2012-07-05 12:40 keepfocus 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 标志寄存器80X86的标志寄存器的结构如下部分标志位说明ZFZF==Zero Flag,是零标志位,记录指令执行结果是事为零。如果一条指令执行后结果为零,ZF置位,也就是ZF的值为1,否则为0 。比如1 mov ax, 12 sub ax, 1ax-1=0,所以ZF=0 。http://blog.csdn.net/waitforc/article/details/6905209http://blog.kingsamchen.com/archives/tag/asm 阅读全文
posted @ 2012-07-03 11:11 keepfocus 阅读(448) 评论(0) 推荐(0) 编辑
摘要: http://www.doughellmann.com/PyMOTW/select/Purpose:Wait for notification that an input or output channel is ready.Available In:1.4 and laterTheselectmodule provides access to platform-specific I/O monitoring functions. The most portable interface is the POSIX functionselect(), which is available on U 阅读全文
posted @ 2012-06-26 14:57 keepfocus 阅读(222) 评论(0) 推荐(0) 编辑
摘要: linux 后台运行:nohup python s5.py 1080 &#!/usr/bin/python# Filename s5.py# Python Dynamic Socks5 Proxy# Usage: python s5.py 1080# Backgroup Run: nohup python s5.py 1080 &# Email: ringzero@557.imimport socket, sys, select, SocketServer, struct, timeclass ThreadingTCPServer(SocketServer.ThreadingM 阅读全文
posted @ 2012-06-26 09:38 keepfocus 阅读(4159) 评论(1) 推荐(1) 编辑
摘要: myeclipse 7.0代码不提示的提示设置:1、菜单window-> Preferences-> Java-> Editor-> Content Assist-> Enable auto activation 选项要打上勾2、windows--> preference--> Geberal--> keys 下设置Content Assist 的快捷键即可,其它的不用管。3、window-> Preferences-> Java-> Editor-> Content Assist-> Advanced 上面的选项卡 阅读全文
posted @ 2012-05-30 11:38 keepfocus 阅读(304) 评论(0) 推荐(0) 编辑
摘要: http://hi.baidu.com/justear/blog/item/76658c82ed53d2d89123d9fd.html2010年11月01日 星期一 下午 12:37题目:PDF文件格式分析Date:2010.10.31Author:Cryin'Blog:http://hi.baidu.com/justear一、概述: 结构化的文档格式PDF(Portable Document Format)是由美国排版与图像处理软件公司Adobe于1993年首次提出的。Adobe Reader这款pdf阅读器软件相信大家并不陌生,人们熟知它的原因是因为它的应用相当普及,可能接触过计算 阅读全文
posted @ 2012-04-18 12:48 keepfocus 阅读(957) 评论(0) 推荐(0) 编辑