首页
社区
课程
招聘
[求助]给 exe 添加了一个对话框后关闭时出错
发表于: 2006-6-10 14:11 3461

[求助]给 exe 添加了一个对话框后关闭时出错

2006-6-10 14:11
3461
给exe添加了一个对话框后关闭时出错

用了最后优化的代码,成功的移植到另外一个程序,但有一些意外发生,添加后的对话框在关闭时出错,整个程序也会非法关闭,不知哪位兄弟感兴趣,帮忙看看怎么回事,在此感谢。

参考内容:

00401094   > /66:3D 6800    cmp     ax, 68
00401098   . |74 48         je      short dumped_0.004010E2
0040109A   . |66:3D 6D00    cmp     ax, 6D
0040109E   . |74 33         je      short dumped_0.004010D3
004010A0   . |66:3D 6C00    cmp     ax, 6C
004010A4   . |0F84 B8000000 je      dumped_0.00401162
004010AA   . |66:3D 6A00    cmp     ax, 6A
004010AE   . |74 07         je      short dumped_0.004010B7
004010B0   . |33C0          xor     eax, eax
004010B2   . |5B            pop     ebx
004010B3   . |C9            leave
004010B4   . |C2 1000       retn    10

...........................
..........................

00402365   > \66:83F8 66    cmp     ax, 66
00402369   .^ 0F84 ADEDFFFF je      dumped_0.0040111C
0040236F      66:83F8 6E    cmp     ax, 6E
00402373      74 05         je      short dumped_0.0040237A
00402375    ^ E9 1AEDFFFF   jmp     dumped_0.00401094
0040237A      6A 00         push    0
0040237C      68 9C234000   push    dumped_0.0040239C
00402381      8B45 08       mov     eax, [ebp+8]
00402384      50            push    eax
00402385      6A 02         push    2
00402387      A1 DD234000   mov     eax, [4023DD]
0040238C      50            push    eax                              ; /lParam
0040238D      E8 1FFFFFFF   call    <jmp.&user32.DialogBoxParamA>
00402392      8BC6          mov     eax, esi
00402394      5E            pop     esi
00402395      5B            pop     ebx
00402396      5D            pop     ebp                              ; |hOwner
00402397      C2 1000       retn    10                               ; |pTemplate
0040239A      0000          add     [eax], al
0040239C      55            push    ebp
0040239D      8BEC          mov     ebp, esp
0040239F      53            push    ebx                              ; \DialogBoxParamA
004023A0      8B45 0C       mov     eax, [ebp+C]
004023A3      33DB          xor     ebx, ebx
004023A5      3D 11010000   cmp     eax, 111
004023AA      75 0B         jnz     short dumped_0.004023B7
004023AC      6A 00         push    0
004023AE      8B45 08       mov     eax, [ebp+8]
004023B1      50            push    eax
004023B2      E8 30FFFFFF   call    <jmp.&user32.EndDialog>
004023B7      8BC3          mov     eax, ebx
004023B9      5B            pop     ebx
004023BA      5D            pop     ebp
004023BB      C2 1000       retn    10

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 44229
活跃值: (19965)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
00402373   . /74 05         je      short 0040237A
00402375   .^|E9 1AEDFFFF   jmp     00401094
0040237A     \6A 00         push    0                              ; /lParam = NULL
0040237C      68 9C234000   push    0040239C                       ; |DlgProc = dumped-t.0040239C
00402381      8B45 08       mov     eax, dword ptr [ebp+8]         ; |
00402384      50            push    eax                            ; |hOwner
00402385      6A 02         push    2                              ; |pTemplate = 2
00402387      A1 DD234000   mov     eax, dword ptr [4023DD]        ; |
0040238C      50            push    eax                            ; |hInst => NULL
0040238D      E8 1FFFFFFF   call    <jmp.&user32.DialogBoxParamA>  ; \DialogBoxParamA
00402392      8BC6          mov     eax, esi
00402394      5E            pop     esi                            ;  dumped-t.00401035
00402395      5B            pop     ebx
00402396      5D            pop     ebp
00402397      C2 1000       retn    10

改成:

0040238D      E8 1FFFFFFF   call    <jmp.&user32.DialogBoxParamA>  ; \DialogBoxParamA
00402392    ^\EB E1         jmp     short 00402375
2006-6-10 16:49
0
雪    币: 238
活跃值: (12)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
3
非常感谢坛主的指点,试了一天搞不定,终于OK了
2006-6-10 18:53
0
游客
登录 | 注册 方可回帖
返回
//