V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
joooooker21
V2EX  ›  C#

帮公司找一位高手帮忙反编译一段程序(有偿)

  •  
  •   joooooker21 · 2023-01-11 19:22:53 +08:00 · 2211 次点击
    这是一个创建于 712 天前的主题,其中的信息可能已经有所发展或是发生改变。

    具体需求

    已知有一个 C#服务会提供一个 WebService 接口,此接口可以将本地压缩(包括像素点混淆)后的 JP2 格式图片还原,并返回正常 JPG 格式的图片 base64 。现在已将这个服务的程序包(.dll 文件)整个拷贝下来,需要通过反编译,提取程序中处理图片的代码逻辑。

    一些文件

    其它的

    • 服务会连接数据库,数据库在本地没有,如果需要的话我可以根据你找到的 sql 上其它地方查给你

    预算

    • 老板给了 1k 预算,如果看过代码你觉得能搞定,可以再聊

    绿色聊天软件:d3hpZHRyZXZvcg== (请备注 v 友)

    第 1 条附言  ·  2023-01-12 08:52:18 +08:00
    • 纠正一个细节

    此接口可以将本地压缩(包括像素点混淆)后的 JP2 格式图片还原,并返回正常 JPG 格式的图片 base64 。

    实际情况是这个接口接收的是一些业务参数,代码中通过业务参数找到JP2 格式的图片,最终返回正常 JPG 格式的图片内容。之前是为了描述尽量简洁,所以忽略了这个点

    18 条回复    2023-02-12 15:52:37 +08:00
    sunmker
        1
    sunmker  
       2023-01-11 20:17:42 +08:00
    ILSPY 不行嘛?
    god7d
        2
    god7d  
       2023-01-11 20:31:49 +08:00 via iPhone
    @sunmker 估计是混淆过了
    a33291
        3
    a33291  
       2023-01-11 20:57:01 +08:00   ❤️ 1
    一般通过 WebService 提供的接口实现逻辑都在服务端,而不是客户端.他的 dll 应该就是对 wsdl 的一个封装,并不包含真正的实现逻辑
    joooooker21
        4
    joooooker21  
    OP
       2023-01-11 21:26:25 +08:00
    @sunmker 用 ILSPY 能反编译,但是里面调用逻辑比较杂乱,另外对 C#语法不是很熟悉
    joooooker21
        5
    joooooker21  
    OP
       2023-01-11 21:26:40 +08:00
    @god7d 倒没有混淆
    joooooker21
        6
    joooooker21  
    OP
       2023-01-11 21:27:09 +08:00
    @a33291 是已经把整个服务端拷贝下来了
    god7d
        7
    god7d  
       2023-01-12 09:15:16 +08:00
    OP 加大预算,1K 我估计愿意做的人不多
    joooooker21
        8
    joooooker21  
    OP
       2023-01-12 09:21:48 +08:00
    @god7d 哈哈我也想加,不过要领导批才可以
    sunmker
        9
    sunmker  
       2023-01-12 10:29:55 +08:00
    老哥我有个想法,既然你可以反编译没有混淆,你直接别改代码了,把他的逻辑 copy 一下,生成一个新的类方法不就行了吗,照样可以用,也不用管什么逻辑了

    我们公司里面的 WebService 老代码进行改造本地使用,我就是直接完全 copy 的
    joooooker21
        10
    joooooker21  
    OP
       2023-01-12 10:32:32 +08:00
    @sunmker 之前是这么想的,但是里面牵扯的本地方法实在是很多,想要把这个顶层方法单独抽出来运行几乎得把半个项目都 copy 出来
    hhjswf
        11
    hhjswf  
       2023-01-12 10:54:15 +08:00 via Android
    合法吗
    a33291
        12
    a33291  
       2023-01-12 10:54:16 +08:00
    @joooooker21 #6 如果已经有服务端代码且没有混淆的话,按说不会很难.要是没有保密需要的话,可以直接把服务端程序放出来
    a33291
        13
    a33291  
       2023-01-12 10:56:20 +08:00
    @joooooker21 #10 其实核心代码就是你说的 JP2 格式还原部分,后续补充的说根据业务参数找到 JP2 格式的图片属于另外的逻辑,一旦核心功能抽取后,这部分独立实现也不麻烦,并且业务功能也应该尽量单一.
    yw9381
        14
    yw9381  
       2023-01-12 12:01:59 +08:00
    有意尝试一下,已加 V
    joooooker21
        15
    joooooker21  
    OP
       2023-01-12 12:45:04 +08:00
    @a33291 这是甲方提供的东西,直接放出来可能不太好。核心要做的确实如你 #13 所说,所以难点可以在与要从反编译出来的一团乱麻中找到核心处理逻辑
    a33291
        16
    a33291  
       2023-01-12 13:38:32 +08:00
    @joooooker21 如果长时间没人解决的话,可以发我邮箱我看一下😊 OTA3NzczMjQyQHFxLmNvbQ==
    joooooker21
        17
    joooooker21  
    OP
       2023-01-12 14:33:44 +08:00
    @a33291 多谢老哥,有朋友已经在努力中了
    hzhhhbb
        18
    hzhhhbb  
       2023-02-12 15:52:37 +08:00
    如未解决,提供一个思路
    1 、使用 dotCover 把服务端跑起来后,客户端请求服务端接口
    2 、查看 dotCover 的代码覆盖率文件,找出覆盖到的方法调用链
    3 、删除未被覆盖到的代码
    4 、done
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5857 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 02:28 · PVG 10:28 · LAX 18:28 · JFK 21:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.