首页
社区
课程
招聘
[求助]请教如果需要改代码,应改成什么才可运行
发表于: 2005-9-22 12:51 4168

[求助]请教如果需要改代码,应改成什么才可运行

2005-9-22 12:51
4168
想修改
DA 95 00 00 00 10 00 00 00 96 00 00 00 04 00 00
想修改上面10代码处
汇编对应为
00400201:  95                         XCHG    EAX,EBP
00400202:  0000                       ADD     [EAX],AL
00400204:  0010                       ADD     [EAX],DL
00400206:  0000                       ADD     [EAX],AL
00400208:  0096 00000004              ADD     [ESI+4000000],DL

需要修改
00400204:  0010                       ADD     [EAX],DL
请问怎么才能实现修改后让程序正常运行?
可否到文件空代码出把它代码替换到空代码出然后把这段修改为无条件跳转呢?但我测试失败!

请大虾们帮帮忙!

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 211
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
00400201:  95                         XCHG    EAX,EBP
00400202:  0010                       ADD     [EAX],DL
00400204:  0000                       ADD     [EAX],AL
00400206:  0000                       ADD     [EAX],AL
00400208:  0096 00000004              ADD     [ESI+4000000],DL

和DL那句换一下位置。
2005-9-22 12:58
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
是这样的,最近在试怎么改代码能躲避杀毒软件的特征,但那代码就是卡巴斯基锁定的病毒特征.瑞星.江民.诺顿等杀毒软件病毒定位特征已经搞顶了,就是这个没办法搞定,如果只是对调一下位置是不行的,它一样遭杀!

所以请问大虾是否有办法修改代码并且能保证程序正常运行呢?
2005-9-22 13:03
0
雪    币: 211
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
那你怎么知道卡巴的特征代码就是这里呢?
2005-9-22 17:19
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
看上面的样子不象是代码处
先修改,免杀后再想办法替换成等效代码
最简单的是jmp到其他空地方,补上需修改的代码后再jmp回去
2005-9-22 20:11
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
最初由 堆栈的栈 发布
那你怎么知道卡巴的特征代码就是这里呢?


是用CCL特征定位得出的结果
最后我用UltraEdit 精确定位才知道的结果
2005-9-22 21:17
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 fly 发布
看上面的样子不象是代码处
先修改,免杀后再想办法替换成等效代码
最简单的是jmp到其他空地方,补上需修改的代码后再jmp回去


这个方法我试过了,但问题就出在这里,把代码改到空白处又跳回去这个确实躲过了杀毒软件的查杀,但就最后程序不能运行了!

请问还有稳点的办法吗?
2005-9-22 21:21
0
雪    币: 211
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
00400202:  0000                       ADD     [EAX],AL
00400204:  0010                       ADD     [EAX],DL
00400206:  0000                       ADD     [EAX],AL
00400208:  0096 00000004              ADD     [ESI+4000000],DL

这4句位置可以随便调换,你多试几种排列看看。
2005-9-23 09:47
0
雪    币: 224
活跃值: (75)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
9
00400201:  95                         XCHG    EAX,EBP
00400202:  0000                       ADD     [EAX],AL
00400204:  0010                       ADD     [EAX],DL
00400206:  0000                       ADD     [EAX],AL
00400208:  0096 00000004              ADD     [ESI+4000000],DL
全 nop掉 jmp 到一个空白处 写回代码 在jmp 会来..
原来FLY 大侠都说了
我都是这样的 一般不出错的
2005-9-23 10:03
0
雪    币: 238
活跃值: (326)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
10
这几句应该不是代码,而是数据(当然只看这几句也许判断错误),如果是数据,试找一下是何处使用这些数据,然后分析是如何使用这些数据,能否将这些数据分开,如果能,就解决了,如果不能,则看能否修改程序来解决。
另:
用内存访问来查找那里调用这段数据。
2005-9-23 12:07
0
游客
登录 | 注册 方可回帖
返回
//