首页
社区
课程
招聘
[旧帖] [求助]在OD中添加 MessageBoxA 失败 0.00雪花
发表于: 2008-3-11 19:45 5765

[旧帖] [求助]在OD中添加 MessageBoxA 失败 0.00雪花

2008-3-11 19:45
5765
怎么在OD中查找空白处后添加代码呢???
找了半天不知道怎么做

按照方法在OD中,程序的最后面填入:

我要在 004016BE 这里加:jmp 00405999

004016BC    55               push    ebp
004016BD    50               push    eax
004016BE    FF15 48604000    call    dword ptr ds:[<&KERNEL32._lcreat>]             ; kernel32._lcreat
004016C4    83F8 FF          cmp     eax,-1
004016C7    8986 24140000    mov     dword ptr ds:[esi+1424],eax
004016CD    75 13            jnz     short chsh2007.004016E2

如下:

004016BC    55               push    ebp
004016BD    50               push    eax
004016BE    E9 D6420000      jmp     chsh2007.00405999
004016C3    90               nop
004016C4    83F8 FF          cmp     eax,-1
004016C7    8986 24140000    mov     dword ptr ds:[esi+1424],eax

下面是在程序最后的 很多句这样的代码修改来的,不知道是不是程序的空白地方?
00405999   0000             add     byte ptr ds:[eax],al
。。。。。。
004059B6   0000             add     byte ptr ds:[eax],al

修改如下:
00405999    50               push    eax
0040599A    90               nop
0040599B    FF15 48604000    call    dword ptr ds:[<&KERNEL32._lcreat>]             ; kernel32._lcreat
004059A1    6A 00            push    0
004059A3    6A 00            push    0
004059A5    6A 00            push    0
004059A7    6A 00            push    0
004059A9    FF15 38614000    call    dword ptr ds:[<&USER32.MessageBoxA>]           ; USER32.MessageBoxA
004059AF    58               pop     eax
004059B0    90               nop
004059B1  ^ E9 0EBDFFFF      jmp     chsh2007.004016C4
004059B6    90               nop

然后 复制到可执行文件->全部 ,但是跳出一个窗口,里面有一些我加的如 “jmp 004016C4” 变成 "空格  000016C4" ,然后我在这个窗口中右键 保存文件,最后运行这个文件,首先弹出一个MessageBox,没有内容,只有一个确定,点确定后又来一个“Could not start the setup”,确定后没了。

不知道是什么原因啊???

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
为什么图片不能显示?
2008-3-11 19:49
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
以为是E语言,用ECE打开了一下,提示:

2008年3月11日20时20分1秒,错误:该文件中没有封装易格式数据!
2008年3月11日20时20分1秒,信息:有效的可执行文件。
2008年3月11日20时20分1秒,信息:正在分析,请稍后……
2008年3月11日20时19分59秒,信息:已打开需要分析的文件。

看来不是E吧?
2008-3-11 20:13
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
咋没人说一下呢。。。
2008-3-12 10:27
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谁和你说messageboxa就一定能拦到了...
2008-3-12 10:51
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我也是试试能不能拦得到。现在拦不到
所以不知道怎么进行下一步了
2008-3-12 16:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
先看看是用什么工具打包的?
2008-3-12 16:18
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
应该是 Setup Factory 7.0 。
用 eXeScope 看,在版本->1 那里是这样的。



看到要楼上的回复,让我信心大增。期待指教,下一步我如何进行?
2008-3-12 16:48
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
打包的安装程序破解是不是很有难度啊
2008-3-12 20:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主可以试下这两个API
SendMessageA
CreateWindowExA
2008-3-12 20:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我刚刚破了一个Setup Factory 7.0.1.0的安装包
不过我没有爆破也没找出序列号
我的做法是:
先按论坛里的文章,找出irsetup.exe和irsetup.dat,修改irsetup.dat脚本后,再想办法在安装过程中替换irsetup.dat
再在_lcreat后面增加一个MessageBoxA(也可以使用Sleep),让安装中止,再替换修改过的irsetup.dat脚本文件就行了
2008-3-13 10:01
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
多谢楼上指点,我现在马上着手试试。
2008-3-13 11:55
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
终于找到了 irsetup.exe和irsetup.dat,修改irsetup.dat脚本后

准备增加一个MessageBox了
2008-3-14 11:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
http://bbs.pediy.com/showthread.php?t=61055
2008-3-14 12:06
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
好,呵呵。之前我已经找到你这篇文章了
非常感谢。
2008-3-14 15:35
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
怎么在OD中查找空白处后添加代码呢???
找了半天不知道怎么做
2008-3-14 17:33
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
按照方法在OD中,程序的最后面填入:

我要在 004016BE 这里加:jmp 00405999

004016BC    55               push    ebp
004016BD    50               push    eax
004016BE    FF15 48604000    call    dword ptr ds:[<&KERNEL32._lcreat>]             ; kernel32._lcreat
004016C4    83F8 FF          cmp     eax,-1
004016C7    8986 24140000    mov     dword ptr ds:[esi+1424],eax
004016CD    75 13            jnz     short chsh2007.004016E2

如下:

004016BC    55               push    ebp
004016BD    50               push    eax
004016BE    E9 D6420000      jmp     chsh2007.00405999
004016C3    90               nop
004016C4    83F8 FF          cmp     eax,-1
004016C7    8986 24140000    mov     dword ptr ds:[esi+1424],eax

下面是在程序最后的 很多句这样的代码修改来的,不知道是不是程序的空白地方?
00405999   0000             add     byte ptr ds:[eax],al
。。。。。。
004059B6   0000             add     byte ptr ds:[eax],al

修改如下:
00405999    50               push    eax
0040599A    90               nop
0040599B    FF15 48604000    call    dword ptr ds:[<&KERNEL32._lcreat>]             ; kernel32._lcreat
004059A1    6A 00            push    0
004059A3    6A 00            push    0
004059A5    6A 00            push    0
004059A7    6A 00            push    0
004059A9    FF15 38614000    call    dword ptr ds:[<&USER32.MessageBoxA>]           ; USER32.MessageBoxA
004059AF    58               pop     eax
004059B0    90               nop
004059B1  ^ E9 0EBDFFFF      jmp     chsh2007.004016C4
004059B6    90               nop
2008-3-14 18:18
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
然后 复制到可执行文件->全部 ,但是跳出一个窗口,里面有一些我加的如 “jmp 004016C4” 变成 "空格  000016C4" ,然后我在这个窗口中右键 保存文件,最后运行这个文件,首先弹出一个MessageBox,没有内容,只有一个确定,点确定后又来一个“Could not start the setup”,确定后没了。

不知道是什么原因啊???
2008-3-14 18:23
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
另一个问题了。。。
2008-3-14 19:30
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
期待指点。。。
2008-3-15 15:07
0
游客
登录 | 注册 方可回帖
返回
//