V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
hotMan
V2EX  ›  程序员

window 下 .dll 文件能打开修改吗????

  •  
  •   hotMan · 2017-12-04 11:06:17 +08:00 · 6111 次点击
    这是一个创建于 2577 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个朋友在 kuka 做机器人调试,编程,想修改.dll 文件程序,自己调试玩玩,就是打不开.dll 文件。。。。

    31 条回复    2017-12-05 07:19:28 +08:00
    ErosLin
        1
    ErosLin  
       2017-12-04 11:16:11 +08:00
    想作怎样的修改?
    XiaoFaye
        2
    XiaoFaye  
       2017-12-04 11:16:28 +08:00
    先去了解 PE 文件结构,再了解 Windows 32 编程基础,然后再去想修改 DLL 吧。
    evitceted
        3
    evitceted  
       2017-12-04 11:23:18 +08:00
    可以替换啊
    hotMan
        4
    hotMan  
    OP
       2017-12-04 11:23:59 +08:00
    @ErosLin 就是改下机器运动轨迹的逻辑
    yulitian888
        5
    yulitian888  
       2017-12-04 11:24:52 +08:00
    呃,PE 文件资源修改还是做得到的,传送门: http://heaventools.com/overview.htm
    skylancer
        6
    skylancer  
       2017-12-04 11:25:03 +08:00
    看到这个帖子十有八九卤煮朋友水平都比他强
    sfqtsh
        7
    sfqtsh  
       2017-12-04 11:25:19 +08:00 via Android
    用 Ollydbg
    shuax
        8
    shuax  
       2017-12-04 11:36:44 +08:00
    IDA Pro
    yksoft1
        9
    yksoft1  
       2017-12-04 11:38:30 +08:00
    暴力破解一些限制容易,改逻辑就麻烦了,你先得逆向出它的逻辑在哪里,然后根据它的上下文自己写汇编改掉,而且如果汇编出来比它原来的长就很难办了
    tomoya92
        10
    tomoya92  
       2017-12-04 11:54:15 +08:00   ❤️ 9
    发现 v2 上现在问问题有个奇怪的现象

    前面几个回复必然是嘲讽,真正楼主想要的答案确在下面
    enenaaa
        11
    enenaaa  
       2017-12-04 12:00:20 +08:00
    可以。 但是首先要懂得汇编。 还要有跟踪调试的强大耐心。
    inrenping
        12
    inrenping  
       2017-12-04 12:10:32 +08:00
    可以反编译
    liuminghao233
        14
    liuminghao233  
       2017-12-04 12:13:28 +08:00 via iPhone
    逆向有难度
    lany
        15
    lany  
       2017-12-04 12:18:05 +08:00 via Android
    需要掌握 PE 结构的知识,如果是我,我会在 dll 增加一个代码节,然后将修改的新逻辑写这个节里面,然后在原逻辑开始处用汇编修改下直接跳到新增的代码节,新逻辑运行完再调回原逻辑代码尾部。
    widewing
        16
    widewing  
       2017-12-04 12:24:10 +08:00 via Android   ❤️ 6
    @liygheart 你觉得楼主这个问法,下面的答案有用吗?
    diginWu
        17
    diginWu  
       2017-12-04 12:51:57 +08:00
    OD
    看雪论坛逛逛。
    Revenant
        18
    Revenant  
       2017-12-04 14:03:11 +08:00
    先了解一些 PE 文件的基本知识,然后参考《 WIindows 核心编程》,配合 Ollydbg 和 Hook 来修改,当然,这要求你必须拥有一些汇编的知识
    xenme
        19
    xenme  
       2017-12-04 14:05:54 +08:00
    这种最方便的还是直接注入 hook 吧
    tabris17
        20
    tabris17  
       2017-12-04 14:24:14 +08:00
    答案是『可以』

    不过楼主清楚自己想干什么吗?
    vmebeh
        21
    vmebeh  
       2017-12-04 14:31:30 +08:00
    这需要逆向的姿势,比重新写一个还难

    这是工业机器人呀,不熟悉的话就是一黑盒,还是联系厂家做上位机功能或者培训吧
    shiji
        22
    shiji  
       2017-12-04 15:11:27 +08:00 via Android
    哈哈,赠送黑客防线一套。那个时候涉及到这方面的知识有很多
    skylancer
        23
    skylancer  
       2017-12-04 15:15:48 +08:00
    @liygheart
    1. 卤煮朋友想干这事
    2. 卤煮自己一点也不懂
    3. 卤煮朋友在在 kuka 做机器人调试编程

    所以我回 卤煮朋友水平一定比他强一些
    另外,他需求的技能几天是学不会的
    lianz
        24
    lianz  
       2017-12-04 15:19:07 +08:00   ❤️ 1
    可以的。
    方法好几种:

    1. 通过 patch 方式直接修改源文件
    2. 外挂另一个 dll 然后 hook 想要修改的函数

    第一种看起来最简单,但实际上是最麻烦的。建议第二种,看起来麻烦实际上简单。
    rogerchen
        25
    rogerchen  
       2017-12-04 15:20:56 +08:00 via iPhone
    @liygheart 真的明白楼主想做什么的人,很难不在心头暗骂一声。
    cchange
        26
    cchange  
       2017-12-04 16:10:19 +08:00 via iPhone
    如果是组态软件 直接修改组态程序
    如果 dll 用 ida pro 但是工业软件的修改还是要非常慎重的
    ErosLin
        27
    ErosLin  
       2017-12-04 16:30:29 +08:00
    哈哈,原来有这么多道友。 @楼主,老老实实拿源代码修改吧。
    hotMan
        28
    hotMan  
    OP
       2017-12-04 18:07:58 +08:00
    @ErosLin 源代码在 KUKA 那边,我这没有的
    tomoya92
        29
    tomoya92  
       2017-12-04 18:35:46 +08:00
    @widewing #16
    @rogerchen #25
    @rogerchen #25

    楼主标题问题的是 .dll 文件能否打开修改,对于这个答案无非就两个,可以 /不可以

    然后再看楼主帖子的内容很明显想问一下如果可以打开,那么是什么工具呢?

    所以可以总结一下,回复里可以告诉楼主可以打开,应该用 xx 工具,或者不能打开

    PS: 我很喜欢 stackoverflow 的风气,人家就算问了个 hello world 的问题,也有人耐心的回答,我基本上没看到过嘲讽问题的回复
    402645707
        30
    402645707  
       2017-12-04 18:39:36 +08:00 via Android
    @liygheart 认真思考可能看到问题还要花几分钟查东西码字,抖机灵回复一个问题几十秒都够了

    一直觉得技术区的非提问帖发帖的总比回帖的技术含量高
    msg7086
        31
    msg7086  
       2017-12-05 07:19:28 +08:00
    @liygheart 爆栈网不是论坛,要类比也应该类比知乎。
    所以说出门右转是知乎。

    论坛是讨论的地方,你期待对方和你一起坐在客厅里互相聊天。
    问答网站是专门问问题的地方,你期待对方问出各种问题,然后你给出答案。
    期望不一样,结果当然也不一样咯。

    另外就算是爆栈,低质问题、低质回答一样会被 Downvote,甚至比在这里被嘲讽更痛(因为会扣信誉积分。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5962 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 02:04 · PVG 10:04 · LAX 18:04 · JFK 21:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.