首页
社区
课程
招聘
[旧帖] [求助]去除一个软件中自动打开网址的功能 0.00雪花
发表于: 2011-2-1 01:07 10678

[旧帖] [求助]去除一个软件中自动打开网址的功能 0.00雪花

2011-2-1 01:07
10678
我从网上下了一个小软件,每次关闭时,都要打开一个网址,相关汇编代码已找到,但不知道如何修改!
代码如下:
0045A04D      00            db      00
0045A04E      00            db      00
0045A04F      00            db      00
0045A050   .  FFFFFFFF      dd      FFFFFFFF
0045A054   .  0E000000      dd      0000000E
0045A058   .  69 6E 66 6F 2>ascii   "info/index.htm",0
0045A067      00            db      00
0045A068   .  53            push    ebx
0045A069   .  8BD8          mov     ebx, eax
0045A06B   .  6A 01         push    1
0045A06D   .  6A 00         push    0
0045A06F   .  6A 00         push    0
0045A071      68 88A04500   push    0045A088                         ;  http://www.qimingw.net/index.html?wuziqi
0045A076   .  6A 00         push    0
0045A078   .  8BC3          mov     eax, ebx
0045A07A   .  E8 D5E2FDFF   call    00438354
0045A07F   .  50            push    eax                              ; |hWnd
0045A080      E8 BBFEFCFF   call    <jmp.&shell32.ShellExecuteA>
0045A085   .  5B            pop     ebx
0045A086   .  C3            retn

该程序主要是调用jmp.&shell32.ShellExecuteA打开哪个网址,我不知如何不让他打开哪个网址,目前,我的做法是,把push    0045A088  改为push 0,这样也不会打开网址,但感觉这方法不好,还望高手指教!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (30)
雪    币: 1432
活跃值: (3022)
能力值: ( LV9,RANK:156 )
在线值:
发帖
回帖
粉丝
2
用ida反汇编找到调用这段子程序call nop
2011-2-1 10:48
0
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
0045A068   .  53            push    ebx

0045A068   .  C3            retn
2011-2-1 11:11
0
雪    币: 517
活跃值: (35)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
在这里下断:0045A068
看是谁调用它,然后NOP它即可。
2011-2-1 15:32
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
CODE:0045A04D                 align 10h
CODE:0045A050 _str_info_index_htm dd 0FFFFFFFFh           ; _top
CODE:0045A050                                         ; DATA XREF: _TForm1_FormCreate+37o
CODE:0045A050                 dd 14                   ; Len
CODE:0045A050                 db 'info/index.htm',0   ; Text
CODE:0045A067                 align 4
CODE:0045A068
CODE:0045A068 ; =============== S U B R O U T I N E =======================================
CODE:0045A068
CODE:0045A068
CODE:0045A068 _TForm1_FormClose proc near             ; DATA XREF: CODE:00459F89o
CODE:0045A068                 push    ebx
CODE:0045A069                 mov     ebx, eax
CODE:0045A06B                 push    1               ; nShowCmd
CODE:0045A06D                 push    0               ; lpDirectory
CODE:0045A06F                 push    0               ; lpParameters
CODE:0045A071                 push    offset File     ; "http://www.qimingw.net/index.html?wuziq"...
CODE:0045A076                 push    0               ; lpOperation
CODE:0045A078                 mov     eax, ebx
CODE:0045A07A                 call    @Controls@TWinControl@GetHandle$qqrv ; Controls::TWinControl::GetHandle(void)
CODE:0045A07F                 push    eax             ; hwnd
CODE:0045A080                 call    ShellExecuteA
CODE:0045A085                 pop     ebx
CODE:0045A086                 retn
CODE:0045A086 _TForm1_FormClose endp
CODE:0045A086
CODE:0045A086 ; ---------------------------------------------------------------------------

用ida反汇编找到这段代码,好像是在_TForm1_FormClose 过程中执行的这段代码,好像是dephi之类编写的窗口关闭时发生的事件,这种方式,找调用这段子程序地方,没法找啊!
决定用三楼的大侠的方法!
同时感谢各位帮忙!
2011-2-1 19:36
0
雪    币: 1432
活跃值: (3022)
能力值: ( LV9,RANK:156 )
在线值:
发帖
回帖
粉丝
6
上一级调用应该是00459F89。ida od 同时开着ida静态分析od动态调试。
搜索所有常量00459F89全部下断找到关键点nop,如果加过壳dede基本
没用。
2011-2-1 20:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
我上传一下原文件,供大家指教!
上传的附件:
2011-2-1 23:12
0
雪    币: 504
活跃值: (10)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
改好了

五子棋小游戏.rar
上传的附件:
2011-2-1 23:35
0
雪    币: 661
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
看哪个CALL 以后会弹出网页,就把哪个CALL NOP 掉吧。
先试试 把第一个CALL nop掉。
然后运行看看,没问题得话就行了,不行就NOP 第二个CALL。
总有一个是调用弹出网页的 窗口的。
2011-2-4 13:18
0
雪    币: 93
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
yzk
10
nop nop 把弹窗胡语句 nop掉~
2011-2-4 17:09
0
雪    币: 578
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这个游戏的可执行文件应该只是一个网页浏览器
程序执行后,调用info文件夹下的index.htm
index.htm调用五子棋FLASH游戏 wuziqi.swf
楼主如果不满意修改,自己花个把分钟自个做个壳就好
2011-2-4 17:31
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
12
把调用ShellExecute的地方改为调用ExitProcess即可。
改好的.rar
上传的附件:
2011-2-7 13:46
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
[QUOTE=crackdung;921612]改好了

五子棋小游戏.rar[/QUOTE]

的确是改好了,但是我看不出来是哪改了,还请指教,是如何改的?
2011-2-7 18:24
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
[QUOTE=wep;922718]把调用ShellExecute的地方改为调用ExitProcess即可。
改好的.rar[/QUOTE]

这种方法也不错,只是不知道找jmp ExitProcess的地址,有没有什么高效的方法,还请指教
2011-2-7 18:25
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
是的,我主要是要想学学用OD调试代码
2011-2-7 18:26
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
终于找到上一级调用代码了,方法如下:
见http://bbs.pediy.com/showthread.php?t=63391 这个贴子2楼
通过retn返回的地方,找到这个过程的上一级调用!!
2011-2-7 18:48
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
17
应该是找 ExitProcess的地址吧

程序最后总是要退出的,在ExitProcess下一个断点,断下来 然后复制ExitProcess的地址
就可以了。  这就是我的方法,本人是菜鸟,高效的方法等待大牛吧。
2011-2-7 19:21
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
18
在堆栈中可以看到那个返回的地址的
0044A42F      FF93 90020000 call    dword ptr [ebx+290]              ;  五子棋小.0045A068
0044A435   >  5B            pop     ebx
0044A436   .  C3            retn
2011-2-7 19:35
0
雪    币: 578
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
有个简单的办法
在OD里点右键,搜索--所有互调调用,在里面找到ExitProcess
查找互调调用, 项目 241
 地址=00403FDA   反汇编=CALL <JMP.&kernel32.ExitProcess>   目标文件=kernel32.ExitProcess


双击它就会回到程序代码
00403FD9 |. 50 |PUSH EAX ; /ExitCode
00403FDA |. E8 CDD2FFFF |CALL <JMP.&kernel32.ExitProcess> ; \ExitProcess
00403FDF |> 8B03 |MOV EAX,DWORD PTR DS:[EBX]
00403FE1 |. 56 |PUSH ESI

双击下00403FDA这行,复制出里面的代码CALL 004012AC
回到ShellExecuteA这儿(也可以在互调里找到),把CALL 004012AC覆盖它就可以了
2011-2-8 23:11
0
雪    币: 1240
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
这帖子看得我好欢乐
2011-2-13 13:13
0
雪    币: 117
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
学了习,思路方法值得学习。
2011-2-13 22:48
0
雪    币: 777
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
关注一下。。。
2011-2-14 13:35
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
最近正了解这方面的东东!
2011-2-14 15:30
0
雪    币: 12
活跃值: (28)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
有一个open的指令(函数传入参数之一),你直接修改为null就行了
2011-3-17 15:16
0
雪    币: 386
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
xuexi le。。。。。学习
2011-3-23 23:17
0
游客
登录 | 注册 方可回帖
返回
//