前段时间在做毕业设计画了一张PE文件结构的简图
如果你也在学习关于这方便的东西无妨下载看看.
月份:2012年3月
PHP相关环境配置大全(不断更新ing)
以后会经常用到PHP,以此作备忘,算是PHP配置大全吧
WINDOWS篇(本文使用的OS为WINDOWS XP SP3)
本篇中使用的所有程序和框架版本以及下载地址如下:
PHP
php-5.3.10-Win32-VC9-x86.zip
下载地址: http://windows.php.net/download/
APACHE
httpd-2.2.22-win32-x86-no_ssl.msi
下载地址:http://httpd.apache.org/download.cgi
Mysql
mysql-5.5.22-win32.msi
下载地址: http://www.mysql.com/downloads/(官方下载需要注册)
轻松汇编,不错的16位汇编编译环境
最近温故了下16位的汇编.
用惯了MASMPLUS之后再去试试以前用过的编写器轻松汇编
发现其实轻松汇编也不错.
主要是发现2.7版本的提供了映像文件和交叉文件~
交叉文件刚好是汇编指令和机器码的对照~
这功能不错 省的载入OD了就可以直接看机器码了~
不过对于那个开始那个关联文件的对话框有点不爽~
于是顺手把它去了..
去这个对话框其实也很简单,为了熟悉机器码我们采用之间修改机器码的方式..
载入UE 来到文件偏移00077AA6处:
然后修改(括号里面的是原数据)
WIN32的lstrcpy,lstrcpyn函数的返回值利用
大家都知道string.h定义的strcpy函数存在严重的溢出漏洞
很多的人已经注意到这一点.
今天对strcpy,lstrcpyn函数试了一下
虽然没有strcpy那样的可以直接攻破前栈帧夺取返回地址并运行自己的代码~
但也可以攻破前栈帧夺取返回地址
在这里只对目标机子做强制关机指令
需要改的地方是在服务端源码处把注释恢复并把寄存器注释
理由你OD上的插件或者你自己编写的文件扫描程序找出[jmp eax]的机器码位置 替换shellcode的以下字符:
注意逆序~
FS寄存器和Kernel32.DLL基址获取方法
mov eax,fs:[30h] ;得到PEB结构地址
mov eax,[eax + 0ch] ;得到PEB_LDR_DATA结构地址
mov esi,[eax + 1ch] ;InInitializationOrderModuleList
lodsd ;得到KERNEL32.DLL所在LDR_MODULE[/cc]