x64 findkernel32 shellcode 45byte


unsigned char x64_GetKernel32[45] = { 0×56, 0×57, 0×53, 0×48, 0×33, 0xDB, 0x6A, 0×30, 0×58, 0×65, 0×48, 0x8B, 0×30, 0×48, 0x8B, 0×46, 0×60, 0×48, 0x8B, 0×40, 0×18, 0×48, 0x8B, 0×70, 0×10, 0×48, 0x8B, 0x7E, 0×60, 0×48, 0x8B, 0×46, 0×30, 0×48, 0x8B, 0×36, 0×38, 0x5F, 0×18, 0×75, 0xF0, 0x5B, 0x5F, 0x5E, 0xC3 }; 纯字符,无截断,执行后,rax就是kernel32基址. winxp ~7 x64通用

x64 gs搜索kernel32


编写shellcode很重要的一步就是搜索kernel32的基址,毕竟我们要获取API的地址 x86下总所周知的fs寄存器搜索kernel32基址的办法,在x64下已经失效了. 鉴于网上的资料太少,也许是我没搜索到.暂且写一段分享. x64下fs的角色已经换成了gs. 暂时发现存储的一些感兴趣的东西,如果有其他的,希望能告知我. gs:[0x30]                 TEB gs:[0x40]                 Pid gs:[0x48]                 Tid gs:[0x60]                PEB gs:[0x68]                 LastError 值得一提的是,虽然gs:[0x60] 直接存放的PEB,但是由于vista/7后的地址随机化机制,还是从TEB获取比较靠谱. 0:009> dt 000007fffff98000 _TEB ntdll!_TEB +0×000 NtTib            : _NT_TIB +0×038 EnvironmentPointer : (null) +0×040 ClientId         : _CLIENT_ID +0×050 ActiveRpcHandle  : (null) +0×058 ThreadLocalStoragePointer : (null) +0×060 ProcessEnvironmentBlock : 0x000007ff`fffd5000 _PEB    //这里即是PEB //用c语言描述就是 #define x64_GetPeb()               [...]

买个火车票跟买彩票一样


先谢国家,感谢finback,我买到票了.,我还不能抑制住鸡冻的心情. 买个火车票跟买彩票一样. SB的铁道部网站,还是电话订票靠谱,手机根本打不进去,还是得座机

写在2011最后一天


和朋友吃饭回来,还有几分钟就2012年了. 这一年感觉过的好快,仿佛昨天还在成都,今天就到了北京. 一些同事来了又走了,悲欢离合. 年初第二次跳槽到现在的公司,到现在也快一年了,希望是一个好的转折点. 感谢一年的工作中,给予大量指点的AD-lab的同事,科技,村长等. 希望新的一年,自己的水平能有更多的提升. 希望薪水能涨点,哈哈哈.

Ferris


Ferris是什么? Ferris是一个小恶作剧,把屏幕模拟摩天轮旋转. 大约在大一~大二时(07年)看到这个创意,可惜当时没法去实现, 今天把它实现了. Ferris在运行时,你是没法关闭它的,所以我提供了一个快捷键F12 Ferris CRC32: 3061646D MD5: 7E9A561D78B7F70BD9FA3D6C622EE629 SHA-1: A0F88A433991F633E4C73B321A86FE095506EC88

全shellcode化完成了


重大时刻,全shellcode化完成了,特发此文以记之.

vc6的RTTI默认是关闭的


c++里使用了dynamic_cast ,就必须把编译器的RTTI打开,不解释. 使用05建的工程,比较和谐,但是生成6.0的工程时,程序死的很难看. 百撕不得骑姐,搞了半天才注意到,VC6默认是关着的!!! 毕竟还是图样啊.调试到现在,还得提高自身知识水平.

Mozilla简直就是胡闹


还记得FireFox 3.0发布的盛况. 现在不到一年的时间,都出8.0了,我日.

伟大的长城


伟大的长城逼我们不能使用DNS,再次回到直接使用IP上网的年代. 大中华局域网V5!

c++ 解析纯真IP数据库qqwry


网上流传的IP数据库等,如纯真,其实是cnss制定的格式. 在项目中有需求,网上找到的几份已有的实现,都不太满意. 索性自己写了一份,以前都只是用用,这次总算弄明白整个格式是怎么样的. 我写的IPInfo是C++ 类的方式,内存映射的方式操作数据,兼容Ansi /Unicode ,自动识别常用的IP数据库名(QQwry.dat 等). 关键的地方注释的比较详细,可以看注释.如果你的项目中复用到这份代码,请注明! 调用起来很简单 1 2 3 4 5 6 char szAddr[100]={0}; CIPInfo NewIPInfo;   NewIPInfo.OpenA("D:\\qqwry.dat";); NewIPInfo.QueryIPA("1.2.3.4",szAddr,sizeof(szAddr)); NewIPInfo.Close(); cnss设计的这个IP数据库的格式,很简洁精妙,字符串复用的方式压缩了很大一部分空间. 其格式描述可以见cnss的blog 经过我的实际分析,有几个网上介绍格式的文章没提到,但是要注意的地方. 1.对于重定位模式1之后地区名也有可能也需要重定位. 2.混合模式1国家名二次重定位之后的地区名也有可能需要重定位. 3.IP存的是小尾字节序. 详细的看我的实现吧. 为什么贴到wordpress格式就乱了呢?? IPInfo.h 声明部分 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [...]