首页
社区
课程
招聘
未解决 dll动态库修改跳转指令后会加载失败,怎么解决? 50.00雪花
发表于: 2020-7-2 18:06 3370

未解决 dll动态库修改跳转指令后会加载失败,怎么解决? 50.00雪花

2020-7-2 18:06
3370


这个是个动态库,我只是把其中的ja 挑战指令随便改成了一个jna。
改的时候是用UltraEdit软件修改的,具体改的时候就是将ja的机器码77改成了76。把改好的另存后,拷贝进去,网页加载的时候居然显示:动态库加载失败。我确认了文件名和文件大小都是一模一样的。唯独不一样的是文件的最后修改时间。请问:怎么可以让做了这样简单修改的动态库正常加载。
我把原来的文件再拷贝进去,网页工作是正常的。修改后的就不行。请各位予以指点。


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

收藏
免费 1
支持
分享
最新回复 (14)
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
逆向成源码,重新写重新编译dll
2020-7-3 01:44
0
雪    币: 3622
活跃值: (2559)
能力值: ( LV6,RANK:83 )
在线值:
发帖
回帖
粉丝
3
可能调用程序会对dll会做校验,要调试一下调用程序
2020-7-3 09:55
0
雪    币: 214
活跃值: (147)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
改的ja的机器码这段汇编帖出来看看
2020-7-3 11:34
0
雪    币: 1
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
yegu 可能调用程序会对dll会做校验,要调试一下调用程序
这个可能性是有的
2020-7-3 16:38
0
雪    币: 3622
活跃值: (2559)
能力值: ( LV6,RANK:83 )
在线值:
发帖
回帖
粉丝
6
mb_usildaaw 这个可能性是有的
方便的话,把程序上传一下看看
2020-7-3 16:40
0
雪    币: 1
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这是个动态库文件,需要上层的ocx控件加载并调用,其中的一个函数。其中有一个错误字符串是“卡片无应答”,我想把这个错误跳过去执行下去,对了,这个错误是个假错误。
2020-7-5 16:34
0
雪    币: 1
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
怎么没有发布截图的地方啊,郁闷ing....
2020-7-5 16:37
0
雪    币: 1
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
yegu 方便的话,把程序上传一下看看
这是动态库
上传的附件:
2020-7-5 16:44
0
雪    币: 1
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
yegu 方便的话,把程序上传一下看看
因为是网页控件调用,并配合读取设备,所以没有设备,动态调试不大可能。如果有可以调试的大侠,私信我邮箱,我发软件包过去。
2020-7-5 16:48
0
雪    币: 1
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
仅仅就把其中一个jmp指令改成了nop,然后动态库就加载不了了。
上传的附件:
2020-7-5 17:02
0
雪    币: 3622
活跃值: (2559)
能力值: ( LV6,RANK:83 )
在线值:
发帖
回帖
粉丝
12
freemangod 因为是网页控件调用,并配合读取设备,所以没有设备,动态调试不大可能。如果有可以调试的大侠,私信我邮箱,我发软件包过去。
你自己能调试吗?看看是哪里报错了
2020-7-5 21:16
0
雪    币: 1
活跃值: (112)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
我能发过去您帮我看看吗
2020-7-12 10:31
0
雪    币: 3622
活跃值: (2559)
能力值: ( LV6,RANK:83 )
在线值:
发帖
回帖
粉丝
14
freemangod 我能发过去您帮我看看吗
可以的
https://bbs.pediy.com/thread-218009.htm(9楼)
2020-7-13 14:09
0
雪    币: 631
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
当前函数类似于这样

func MsgBox(Type) {
 switch Type {
case 1:
 a="Msg1"
case 2:
 a="Msg2"
}
MessageBox(a)
}

既然有逆向能力, 向上找找调用地址, 根据参数eax确定调用来源, 然后修改.  
无法加载, 排除验证, 有可能是破坏了switch转跳结构, 在DLL加载的时候导致地址修正出现问题了
2020-7-21 03:32
0
游客
登录 | 注册 方可回帖
返回
//