能力值:
( LV2,RANK:10 )
|
-
-
2 楼
没人顶,自己顶起来
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
那位大哥帮帮忙啊,顿首再谢
|
能力值:
( LV6,RANK:90 )
|
-
-
4 楼
本人研究也不多
给你点提示吧
1,shellcode可以在poc文档里面找,有些code反汇编下就可以读了 ,有的自解码,但是有解码的代码,loop xor指令配合居多,有的文件流可能加密,直接反汇编就找不到可以读的汇编代码了
2,用od定位的话 可以在他寻找kernel32的方法上定位,PEB fs[30]之类的方法,可以上硬件断点,会停在shellcode处的,找到了之后 就要具体分析了,主要是shellcode配合栈的状态 情况会比较复杂了 我也没有什么经验可以说了
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
shellcode 定位可以试试下面这个 IDA 插件
http://bbs.pediy.com/showthread.php?t=72947
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
谢这位大哥,我找到了,方法和你说的类似
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
请教,找到以后怎么分析溢出点呀?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
我没有在这里发贴的权限,在初级里面问好久没人回答,贴这里吧:
作了个MFC的对话框测试程序,点击按钮执行以下代码:
_asm
{
nop
nop
nop
nop
}
char buff[5];
buff[0] = 'A';
strcpy(buff,"aaa");
MessageBox(buff,"啊啊啊",MB_OK);
然后在OD中断下MessageBox,使用“跟踪步入”,
并从MessageBox领空返回,查看Run Trace窗口,记录如下:
...........
77D1E84A E8 7AACFFFF call 77D194C9 //这应该是系统自动生成的代码
77D5050B > 8BFF mov edi, edi //这是MessageBox入口
...........
问题是,为什么没有记录MessageBox前的以下代码:
_asm
{
nop
nop
nop
nop
}
char buff[5];
buff[0] = 'A';
strcpy(buff,"aaa");
怎么才能让OD记下?
|
|
|