注意,本贴只是个人见解,如果有误,欢迎吧友指正.
我在外网翻视频时看到了一位路易吉爱好者发的zlibexploit 2p过极限卢
想着会不会有什么返回技术呢?于是就研究了一下
关于名字:
zip溢出在遥远所述,此溢出非溢出
"旧版的ZLiB函数只实现初始化功能并非实现,所以才有这个BUG,栈的指针被重置"
这种"溢出"只存在于1.1.4的zlib中,youtube称呼为zlibexploit,即zlib利用.
我觉得zlib利用这个名字更符合一些,就和allegexploit一样,aeg劫持过于夸张,显得像病毒一样
关于执行速度:
zip溢出(zlib利用)的执行在dll加载完后执行,所以据此,AEG exploit的速度快于Zlib exploit,
根据select.def中zip文件的位置取决执行优先度,与def溢出属于同级技术
关于强度:
对于zlib利用,外网给出了一个非常高调的称呼:zlibexploit已满内部最强
如果不考虑争议技术aeg exploit,zlib利用确乎是最快的技术
个人见解
zip溢出发生溢出的最外层位置:
0040D8F9
eip步过这里后,溢出发生
ret的位置1:
004866E4
ret后执行到10078D87,alleg40的tan_tbl处(AEG利用也算上了吗?
)
指令为jmp esp,跳转至esp
即跳转至堆栈指针处
如果为初始状态,esp-20处就是溢出执行的地方
所以可以用zlib利用来写zlib利用阻止
但是因为esp变化多次(virtualprotect之内的函数导致),要修复多次esp
所以难度高于其他溢出阻止
ret 位置2:
004866EF
一样转入alleg40,跳转至堆栈指针+20处
关于大小限制
我个人研究了几份zlib利用的文件
大小均在4020~2030字节,遥远说血神是没有大小限制的,但根据我浅显的判断
在遥远不出山之前,大小限制还是有的,意味着多线程技术受到了极大的影响
所以,内部调用dll的技术可以优于纯汇编,反正都到win32了,loadlibrarya也是win32函数,为什么不用呢?
我实验出了正常返回的方法,但是esp多变所以也不能泛用(套模板)
但愿研究mugen技术的人可以补足这些
我在外网翻视频时看到了一位路易吉爱好者发的zlibexploit 2p过极限卢
想着会不会有什么返回技术呢?于是就研究了一下
关于名字:
zip溢出在遥远所述,此溢出非溢出
"旧版的ZLiB函数只实现初始化功能并非实现,所以才有这个BUG,栈的指针被重置"
这种"溢出"只存在于1.1.4的zlib中,youtube称呼为zlibexploit,即zlib利用.
我觉得zlib利用这个名字更符合一些,就和allegexploit一样,aeg劫持过于夸张,显得像病毒一样
关于执行速度:
zip溢出(zlib利用)的执行在dll加载完后执行,所以据此,AEG exploit的速度快于Zlib exploit,
根据select.def中zip文件的位置取决执行优先度,与def溢出属于同级技术
关于强度:
对于zlib利用,外网给出了一个非常高调的称呼:zlibexploit已满内部最强
如果不考虑争议技术aeg exploit,zlib利用确乎是最快的技术
个人见解
zip溢出发生溢出的最外层位置:
0040D8F9
eip步过这里后,溢出发生
ret的位置1:
004866E4
ret后执行到10078D87,alleg40的tan_tbl处(AEG利用也算上了吗?
指令为jmp esp,跳转至esp
即跳转至堆栈指针处
如果为初始状态,esp-20处就是溢出执行的地方
所以可以用zlib利用来写zlib利用阻止
但是因为esp变化多次(virtualprotect之内的函数导致),要修复多次esp
所以难度高于其他溢出阻止
ret 位置2:
004866EF
一样转入alleg40,跳转至堆栈指针+20处
关于大小限制
我个人研究了几份zlib利用的文件
大小均在4020~2030字节,遥远说血神是没有大小限制的,但根据我浅显的判断
在遥远不出山之前,大小限制还是有的,意味着多线程技术受到了极大的影响
所以,内部调用dll的技术可以优于纯汇编,反正都到win32了,loadlibrarya也是win32函数,为什么不用呢?
我实验出了正常返回的方法,但是esp多变所以也不能泛用(套模板)
但愿研究mugen技术的人可以补足这些









