none
Activex开发逆向相关求助 RRS feed

  • 问题

  • 我现在是在做AX的代码还原,但是对AX缺不熟悉。看了点孙鑫VC上讲的内容。在做还原代码的时候出了几点问题。

    除了第一行内容,遇见了以默认工程中定义的“AboutBox”为分界线,在“AboutBox”分界线之上为属性和方法这点我已经知道了。“AboutBox”之下的我却没有找功能。和带有点疑问

    疑问:
    “AboutBox”之下的是否是定义的“接口”??我不确定这个问题,我自己直接用VC6功能添加的接口全部都是在以“AboutBox”为分界线之上。。先用VC提供的工具添加接口,然后手动复制Ctrl.cpp的“BEGIN_DISPATCH_MAP”确实能修改顺序。但是。。。IDA反汇编出来的字节数据有所差异。。。。。如果自己手动复制“AboutBox”的内容手动添字节的数量也有差异。。。  对于这点差异我在还原中是很不放心的一种状态。。因为怕出错

    问题:
    除了:接口、事件、方法、属性、之外,还有哪些功能是可以设置出来在OCX内部能编写函数的功能??(VC6工程下)

    dd offset aAboutbox     ; "AboutBox"
    db 0D8h ; 
    db 0FDh ; 
    db 0FFh
    db 0FFh
     db    0
     db    0
     db    0
    db    0
    db    0
    db    0
    db    0
    db    0
    dd offset sub_10001780
    align 0x10
    dd offset aAboutbox     ; "下一个接口"
    .....
    
    我在还原目标的时候在Abo之下IDA出来的格式为 。。我不确定这是否是一个接口。
    dd offset aFreeze       ; "Freeze"
    .rdata:10033B94                 db 0D1h ; 
    .rdata:10033B95                 db    7
    .rdata:10033B96                 db    0
    .rdata:10033B97                 db    0
    .rdata:10033B98                 db    0
    .rdata:10033B99                 db    0
    .rdata:10033B9A                 db    0
    .rdata:10033B9B                 db    0
    .rdata:10033B9C                 db    0
    .rdata:10033B9D                 db    0
    .rdata:10033B9E                 db    0
    .rdata:10033B9F                 db    0
    .rdata:10033BA0                 dd offset sub_100017E0
    .rdata:10033BA4                 align 10h

    -------------------------------------------------------------------
    问题
    上面是接口在IDA显示方式。但是接口之下还有一种格式

    dd offset aMove         ; "move"
    .rdata:10033BD4                 db 0D3h ; 
    .rdata:10033BD5                 db    7
    .rdata:10033BD6                 db    0
    .rdata:10033BD7                 db    0
    .rdata:10033BD8                 dd offset unk_10040220
    .rdata:10033BDC                 db  0Bh
    .rdata:10033BDD                 db    0
    .rdata:10033BDE                 db    0
    .rdata:10033BDF                 db    0
    .rdata:10033BE0                 dd offset sub_10002EF0
    .rdata:10033BE4                 align 10h
    .rdata:10033BF0                 dd offset aMovep        ; "movep"
    .rdata:10033BF4                 db 0D4h ; 
    .rdata:10033BF5                 db    7
    .rdata:10033BF6                 db    0
    .rdata:10033BF7                 db    0
    .rdata:10033BF8                 dd offset dword_10040214
    .rdata:10033BFC                 db  0Bh
    .rdata:10033BFD                 db    0
    .rdata:10033BFE                 db    0
    .rdata:10033BFF                 db    0
    .rdata:10033C00                 dd offset sub_10002F20
    .rdata:10033C04                 align 10h
     dd offset aI            ; "i"
    .rdata:10033C34                 db 0E9h ; 
    .rdata:10033C35                 db    3
    .rdata:10033C36                 db    0
    .rdata:10033C37                 db    0
    .rdata:10033C38                 dd offset unk_10040220
    .rdata:10033C3C                 db  0Bh
    .rdata:10033C3D                 db    0
    .rdata:10033C3E                 db    0
    .rdata:10033C3F                 db    0
    .rdata:10033C40                 dd offset sub_10001D10
    .rdata:10033C44                 dd offset sub_10002190
    .rdata:10033C48                 db    0
    .rdata:10033C49                 db    0
    .rdata:10033C4A                 db    0
    .rdata:10033C4B                 db    0
    .rdata:10033C4C                 db    0
    .rdata:10033C4D                 db    0
    .rdata:10033C4E                 db    0
    .rdata:10033C4F                 db    0
    .rdata:10033C50                 dd offset aR            ; "r"
    .rdata:10033C54                 db 0EAh ; 
    .rdata:10033C55                 db    3
    .rdata:10033C56                 db    0
    .rdata:10033C57                 db    0
    .rdata:10033C58                 dd offset unk_10040220
    .rdata:10033C5C                 db  0Bh
    .rdata:10033C5D                 db    0
    .rdata:10033C5E                 db    0
    .rdata:10033C5F                 db    0
    .rdata:10033C60                 dd offset sub_10001D40
    .rdata:10033C64                 dd offset sub_10002190
    .rdata:10033C68                 align 10h

    向上面这种反汇编,它是在“AboutBox”之下。它是是Get和Set吗?我觉得不是,我尝试过在接口中将Get和Set的定义放入“AboutBox”之下。结果是错的。如果不是,我真是没找到他在VC6中是否还有其他的属性方法事件接口了。

    2015年6月7日 9:25