能力值:
(RANK:300 )
|
-
-
2 楼
.......
|
能力值:
(RANK:260 )
|
-
-
3 楼
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
诶,很崇拜lss。。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
od是跟不進KiCallbackReturn的,想辦法不讓程式進入這個指令試試看
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
OD手工调过 int 2b 后,就无法中断了,有什么办法解决吗?
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
add eip,2
2b这个话在北方有些其他含义
|
能力值:
(RANK:260 )
|
-
-
8 楼
这当然是不能跳过的,这里是某回调函数返回内核的地方,你跳过了,这个回调函数就飞了。
具体解决方法我想了想,因为我没有遇到过这样的情况,没有验证,所以可能不正确,不过可以试试。
走到int 0x2b这条指令后,打开OD的内存镜像窗口,在代码段上F2下断点,然后直接F9,回调函数执行完毕,内核会返回被中断的线程,此时应该会立即中断的。
此方法仅供一试,有什么问题的话再反馈,或者把你调试的程序发给我,我试试看能不能想到办法。
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
额……我跟到2B以后,一F8程序直接就自己终止了,回调函数在哪……
|
能力值:
(RANK:260 )
|
-
-
10 楼
不是“回调函数在哪”的问题,int 2b就相当于回调函数的retn了。
只因为硬件不允许从ring0到ring3的call,即不允许ring3到ring0的retn(这样设计是出于安全原因),所以为了实现内核对用户代码的回调机制,操作系统使用了某种约定,内核到ring3的回调最后都通过KiCallbackReturn返回内核的。
如果这里返回后进程就结束了,那么我猜你找到的这个位置应该是异常处理的最后一个环节了(异常处理就是一种回调机制),也就是说你实际上并没有定位到有价值的关键代码。
那就重头再来,重新寻找突破点吧。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
77D194A4 - 8b 44 24 04 - mov eax,[esp+04]
77D194A8 - cd 2b - int 2b
走到int 0x2b这条指令后,打开OD的内存镜像窗口列表如下, 用哪个地址上按F2下断点
内存映射
地址 大小 属主 区段 包含 类型 访问 初始访问 已映射为
00010000 00001000 Priv RW RW
00020000 00001000 Priv RW RW
00123000 00001000 Priv RW 保护 RW
00124000 0000C000 堆栈 于 主线 Priv RW 保护 RW
00130000 00003000 Map R R
00140000 0006C000 Priv RW RW
001AE000 00014000 Priv RW RW
001C7000 00001000 Priv RW RW
00240000 00006000 Priv RW RW
00250000 00003000 Map RW RW
00260000 00016000 Map R R \Device\HarddiskVolume1\WINDOWS\system32\unicode.nls
00280000 00041000 Map R R \Device\HarddiskVolume1\WINDOWS\system32\locale.nls
002D0000 00041000 Map R R \Device\HarddiskVolume1\WINDOWS\system32\sortkey.nls
00320000 00006000 Map R R \Device\HarddiskVolume1\WINDOWS\system32\sorttbls.nls
00330000 00041000 Map R R
00380000 00008000 Priv RW RW
00390000 00001000 Priv RW RW
003A0000 00001000 Priv RW RW
003B0000 00001000 Map R R
003C0000 00004000 Priv RW RW
003D0000 00003000 Map R R \Device\HarddiskVolume1\WINDOWS\system32\ctype.nls
003E0000 00001000 Map R R
003F0000 00004000 Priv RW RW
00400000 00001000 un_autox PE 文件头 Imag R RWE
00401000 00109000 un_autox 代码 Imag R RWE
0050A000 00010000 un_autox .rsrc 数据,资源 Imag R RWE
0051A000 00001000 un_autox .idata Imag R RWE
0051B000 00189000 un_autox WinLicen Imag R RWE
006A4000 00003000 un_autox .idata 输入表 Imag R RWE
006B0000 00006000 Map R E R E
00770000 00002000 Map R E R E
00780000 00103000 Map R R
00890000 0007A000 Map R E R E
00B90000 00001000 Map R R
00BA0000 00004000 Priv RW RW
00BB0000 00001000 Map R R
00BC0000 00010000 Priv RW RW
00BD0000 00004000 Priv RW RW
00BE0000 00003000 Priv RW RW
00BF0000 00002000 Map R R
00C00000 00001000 Priv RWE RWE
00C10000 00002000 Map R R
00C20000 00050000 Map R R
00C70000 00001000 Map RW RW
00C80000 00002000 Map R R
00C90000 00001000 Priv RW RW
00D10000 00054000 Priv RW
00E10000 00010000 Map RW RW
00E50000 0000E000 Map RW RW
00E60000 000A7000 Priv RW RW
00F60000 00001000 Priv RW RW
00F70000 00001000 Priv RW RW
00F80000 00001000 Priv RW RW
00F90000 00011000 Map R R \Device\HarddiskVolume1\WINDOWS\system32\c_1252.nls
00FB0000 00001000 Priv RW
00FC0000 00002000 Map R R
00FD0000 00002000 Map R R
00FE0000 00048000 Map RW RW \Device\HarddiskVolume1\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5\index.dat
01030000 00038000 Map RW RW \Device\HarddiskVolume1\Documents and Settings\Administrator\Cookies\INDEX.DAT
01070000 00002000 Map R R
01080000 00100000 Priv RW RW
01180000 000A4000 Map RW RW \Device\HarddiskVolume1\Documents and Settings\Administrator\Local Settings\History\History.IE5\INDEX.DAT
01230000 00004000 Priv RW RW
01240000 00001000 Map R R
01250000 00001000 Map RW RW
01260000 00001000 Priv RW RW
01270000 00002000 Map R R
01280000 00001000 Priv RW RW
01290000 00001000 Priv RW RW
012A0000 00001000 Priv RW RW
012B0000 0000C000 Priv RW RW
012C0000 00001000 Priv RW RW
012D0000 00002000 Map R R
012E0000 00002000 Map R R
012F0000 00001000 xpsp2res PE 文件头 Imag R RWE
012F1000 00548000 xpsp2res .rsrc 数据,资源 Imag R RWE
0193B000 00001000 Priv RW 保护 RW
0193C000 00004000 堆栈 于 线程 Priv RW 保护 RW
01A3B000 00001000 Priv RW 保护 RW
01A3C000 00004000 堆栈 于 线程 Priv RW 保护 RW
01B38000 00001000 Priv RW 保护 RW
01B39000 00007000 堆栈 于 线程 Priv RW 保护 RW
01B40000 00007000 Map RW RW
01BC0000 00001000 Priv RW RW
01BD0000 00001000 Priv RW RW
01BE0000 00001000 Priv RW RW
01BF0000 00001000 Priv RW RW
01C00000 00001000 Priv RW RW
01C10000 00001000 Priv RW RW
01C20000 00001000 Priv RW RW
01C30000 00001000 Priv RW RW
01C40000 00001000 Priv RW RW
01C50000 00001000 Priv RW RW
01C60000 00001000 Priv RW RW
01C70000 00006000 Priv RW RW
01E6B000 00001000 Priv RW 保护 RW
01E6C000 00004000 堆栈 于 线程 Priv RW 保护 RW
01F6B000 00001000 Priv RW 保护 RW
01F6C000 00004000 堆栈 于 线程 Priv RW 保护 RW
01F70000 00010000 Priv RW RW
02370000 00008000 Map RW RW \Device\HarddiskVolume1\Documents and Settings\Administrator\Local Settings\History\History.IE5\MSHist012009011920090120\index.dat
02380000 00002000 Map R R
02390000 00001000 Priv RW RW
024AB000 00001000 Priv RW 保护 RW
024AC000 00004000 堆栈 于 线程 Priv RW 保护 RW
024BE000 00001000 Priv RW 保护 RW
024BF000 00001000 堆栈 于 线程 Priv RW 保护 RW
024C0000 00001000 Priv RWE RWE
024D0000 00001000 Priv RWE RWE
5ADC0000 00001000 uxtheme PE 文件头 Imag R RWE
5ADC1000 00030000 uxtheme .text 代码,输入表, Imag R RWE
5ADF1000 00001000 uxtheme .data 数据 Imag R RWE
5ADF2000 00003000 uxtheme .rsrc 资源 Imag R RWE
5ADF5000 00002000 uxtheme .reloc 重定位 Imag R RWE
5D170000 00001000 comctl32 PE 文件头 Imag R RWE
5D171000 00071000 comctl32 .text 代码,输入表, Imag R RWE
5D1E2000 00003000 comctl32 .data 数据 Imag R RWE
5D1E5000 00020000 comctl32 .rsrc 资源 Imag R RWE
5D205000 00005000 comctl32 .reloc 重定位 Imag R RWE
5EFE0000 00001000 olepro32 PE 文件头 Imag R RWE
5EFE1000 00010000 olepro32 .text 代码,输入表, Imag R RWE
5EFF1000 00001000 olepro32 .data 数据 Imag R RWE
5EFF2000 00004000 olepro32 .rsrc 资源 Imag R RWE
5EFF6000 00001000 olepro32 .reloc 重定位 Imag R RWE
5FDD0000 00001000 NETAPI32 PE 文件头 Imag R RWE
5FDD1000 0004D000 NETAPI32 .text 代码,输入表, Imag R RWE
5FE1E000 00003000 NETAPI32 .data 数据 Imag R RWE
5FE21000 00001000 NETAPI32 .rsrc 资源 Imag R RWE
5FE22000 00003000 NETAPI32 .reloc 重定位 Imag R RWE
60FD0000 00001000 hnetcfg PE 文件头 Imag R RWE
60FD1000 0003F000 hnetcfg .text 代码,输入表, Imag R RWE
61010000 00001000 hnetcfg .orpc Imag R RWE
61011000 00001000 hnetcfg .data 数据 Imag R RWE
61012000 0000E000 hnetcfg .rsrc 资源 Imag R RWE
61020000 00005000 hnetcfg .reloc 重定位 Imag R RWE
62C20000 00001000 LPK PE 文件头 Imag R RWE
62C21000 00005000 LPK .text 代码,输入表, Imag R RWE
62C26000 00001000 LPK .data 数据 Imag R RWE
62C27000 00001000 LPK .rsrc 资源 Imag R RWE
62C28000 00001000 LPK .reloc 重定位 Imag R RWE
68000000 00001000 rsaenh PE 文件头 Imag R RWE
68001000 0002E000 rsaenh .text 代码,输入表, Imag R RWE
6802F000 00004000 rsaenh .data 数据 Imag R RWE
68033000 00001000 rsaenh .rsrc 资源 Imag R RWE
68034000 00002000 rsaenh .reloc 重定位 Imag R RWE
6D020000 00001000 adialhk PE 文件头 Imag R RWE
6D021000 0000B000 adialhk .text 代码 Imag R RWE
6D02C000 00003000 adialhk .rdata 输入表,输出
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
看不懂 看不懂
|
能力值:
( LV12,RANK:312 )
|
-
-
13 楼
刚好碰见这个问题 很有意思值得研究
最后于 2018-11-16 20:55
被一半人生编辑
,原因:
|
|
|