首页
社区
课程
招聘
[旧帖] [求助]DLL汇编和反汇编 0.00雪花
发表于: 2011-1-21 14:05 1286

[旧帖] [求助]DLL汇编和反汇编 0.00雪花

2011-1-21 14:05
1286
我现在有C编译得一个DLL,但是其中某段代码的汇编代码,我经过跟踪后发现其代码不理想,我想修改其中的有限一点二进制代码。最后还要保持DLL能正常使用。
因为这有限的几句汇编对性能影响很重要。

我现在没有工具编辑。
我直接用2进制编辑,因为修改后的代码比以前少了几个字节,我就用NOP代替。感觉很不爽。

问个位,能不能有个工具,至少把我修改后的NOP给去掉。NOP也占用CPU吧。

我的DLL功能比较简单,完全是实现一些计算。
我用VC编译的,不过其他编译器我也试过,效果不比VC。

个位大虾,小弟这里谢过了!!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 4560
活跃值: (1002)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
VC内嵌汇编呗,简单方便快捷高效
2011-1-21 14:12
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我对核心的一段代码小心的设计,以达到他(编译器能够)最好的优化效果。
但是其中的一点,我想修改,就几句汇编。
我可以找到这段2进制。
2011-1-21 14:21
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
去掉nop干嘛,就算你连着写了1w个nop能消耗多长时间执行?根本没必要在意嘛,一旦少了一个nop后面的指令和偏移就都得修改,工作量有多大你试试就知道了。
2011-1-21 15:41
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
这是我最底层的一个循环里的,一个NOP,能让我刷新时间减少零点几秒,提升很高啊。
2011-1-21 15:47
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
“一旦少了一个nop后面的指令和偏移就都得修改”,就是想找方便的工具修改啊!
2011-1-21 15:48
0
雪    币: 38
活跃值: (48)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
能上bin看看嘛
2011-1-21 16:05
0
雪    币: 28
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
VC可以输出汇编结果,我们可以修改其中的汇编代码,然后让他继续编译得DLL文件吗?
如果可以,怎么做呢?
2011-1-21 16:29
0
雪    币: 401
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
首先我很怀疑你所说的一个nop减少零点几秒的刷新时间,其次只要更改一个字节就需要全部修改,特别是jmp啊call啊这种指令,而且还有可能指令出问题,要考虑的情况太多,工具实现比较麻烦。你要是真想改的话估计只能手工改了,没见过这种工具。
2011-1-21 17:33
0
雪    币: 39
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
nop  cpu都不理会的.
2011-1-21 17:39
0
雪    币: 174
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
11
把nop移到前面些
2011-1-21 18:20
0
游客
登录 | 注册 方可回帖
返回
//