帮公司找一位高手帮忙反编译一段程序(有偿) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
joooooker21
V2EX    C#

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

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

    具体需求

    已知有一个 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     Solana     2605 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 05:18 PVG 13:18 LAX 22:18 JFK 01:18
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86