V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tmtstudio
V2EX  ›  程序员

大佬们来试试我的 wasm 的强度,主要实现的接口加密

  •  
  •   tmtstudio · Sep 4, 2024 · 3774 views
    This topic created in 614 days ago, the information mentioned may be changed or developed.

    https://github.com/Kevin-Red/bilidown/blob/master/encode.wasm

    密钥:AhCCdbacwc8II86TBb3HA98ID439A5bjN38xB8fEg5bMka1Aq79Fhbdwke8Bi9f2G09j9eaUwfcU087hB02UA85rQ1aGE8daF395Ae9wA02hSb90C83zAc0Wmc35E39wwa4kg9dMg9aMJceId9beA93Tge9WE371A8esA4cmoda0G83dB04zAd8FMbb/Nb7JS633sfcdL28o352OP9bs023aZ13nr7b+Y15+5c5/n38rh52l72dDA3bTQ7aKh9aRzb5GI69lU68C940/lab9R65w+06gQffdq44tA25Es803q5aDV23CLb2tUd907cb4Y26w036WF8bEq2a1g22zr10NYc8J/6fzea04pd5l022e/e4or1asVfdwLef5J74tOf2ZG89JC51qdc7euff1X21Xo9bsH6bM179jw7eeO5bP/a5Ej061r74aT44t+cckh44x938igc5eWafZ524Wb22NT2adpfeXqdf5wf8pOe03WfbvFebzw07tx7bfcf3QO93A32eFDfcqy0cVi50zI41zz80oz21wk9eVU7fQwc2s85dTa69EA61zPefMyc0OOc4RPa5Dn5e/EecSj201Xffr98e8b7agU9cf4e17Db2D5c9be04bk076tbfpIcaSpd3Jc26y3000T37uf818Re59LeaRtb4dv98rt347ya2yg96wB279JPI5vXNwwF8OgRdj6pTdmviRDarlSwVmEAMsD9z3BsVAgMBAAECgYAV4z5LBu7GG2g4OBB1kfE5pG/Z8Zs+eFkLbOBsR3UrmhfFrOlg0b+DK6sLhS6Js0nGx696FL1Yvn2/Oq4R92hWcLze3cBAQ5ghH4RBq0IJQ/OXdLRsFkBxg8+sb4mHJ1wLhphwGb5slksB2NLvHFwWBFiv9kLGHq1l17702RLOQQJBAPX0wvOZ6HwPyruTAU7RGKQO4M1FV8E3KlXcS2aWxSGYcaf6qpTiJbG7n6EOjT/1ZAlnYC17GFYvO+Uf6UnicP8CQQDLTJuXhDw8C80qC+IuyAgpHn4vSP0aRg9Ew+W+vW8dmWItDhULwNjWf8hv7ZhcLUmlCd042PLKcTmEicMzMJ/rAkEAgKpmQeFFyYDJYY7ppD2mUkymNTwNSDp/nyL7HtPIlGaXLnTnP7N+XJf2Td667baFepXlrmUyugNDpf0noUsgKQJABsJmTfRcmFaAHMzGWW3XL57O7T2NBMmdiljFE8Fyp1ZJOFxGgNyJmSAohugsb6wlzbH1RAWalPaMxgZakiIkvwJBAN5wlsgoaKSuW3k4NDuTJAI6nKZEq/YRM36Y3pLdWPVW1gn9XtCVrH56w7esgILjPM+cL+JRWcqBHk/LImh6Bdw=

    密文: H/ePhsOKlI68IMwwW6V1nn9821KEf0GvCbPa6pspctmfsVroLOBliq8nJon+Doh9MXpY4MKJoK01TQl26y0xfsu9u+lF4JSf3QllNgO8n/ZOQDvSAAeLI55YlXnwju0IMtiYy3WiFmBPz8zved1c67/E05QXxEMJk3N5jOlrj94=-qop+vSfg/BsVWTfzkesiFyFyDW+WadXvZQEF/c4PseGjYck8PcP85QFkv8orhK1W

    23 replies    2024-09-09 09:34:59 +08:00
    tool2dx
        1
    tool2dx  
       Sep 4, 2024   ❤️ 1
    用 wabt 看了一眼,就导出了三个函数
    Export[9]:
    - memory[0] -> "memory"
    - func[56] <AAA> -> "AAA"
    - func[35] <BBB> -> "BBB"
    - func[47] <CCC> -> "CCC"

    函数类型都有,大概率 rsa ,运行期下断点替换内容就行了。
    tmtstudio
        2
    tmtstudio  
    OP
       Sep 4, 2024
    @tool2dx #1 还加了校验,防止替换参数🤤
    tool2dx
        3
    tool2dx  
       Sep 4, 2024
    @tmtstudio 那你不如把代码放到后端运行,看不见代码岂不是更安全。
    tmtstudio
        4
    tmtstudio  
    OP
       Sep 4, 2024
    @tool2dx #3 加解密用 wasm 运行速度比较有优势,如果全放后端,每调一个接口得同时调加密解密吧,服务器扛不住
    tool2dx
        5
    tool2dx  
       Sep 4, 2024
    @tmtstudio 小看服务器了,https 握手也是 rsa 加密的,4 核能跑到几万 QPS 。

    如果你觉得 rsa 慢,那就换 aes 加密,这个有硬件加速,运行飞快。
    tmtstudio
        6
    tmtstudio  
    OP
       Sep 4, 2024
    @tool2dx #5 是带宽扛不住🤣密文比较长
    tool2dx
        7
    tool2dx  
       Sep 4, 2024
    @tmtstudio 这密文不算长的,一个 IP 包 1400 字节,足够放下了。
    tmtstudio
        8
    tmtstudio  
    OP
       Sep 4, 2024
    @tool2dx #7 我贴的密文对应的明文就几个字符,正常会非常长的
    tool2dx
        9
    tool2dx  
       Sep 4, 2024
    @tmtstudio 学 TLS 协议,密文用 aes JS 本地加密解密,服务器 API 发送的密钥本身才是 rsa 加密。

    什么都上 rsa ,不太合适。
    murmur
        10
    murmur  
       Sep 4, 2024
    wasm 的编译器这么垃圾么 怎么这东西都编译了

    /Users/kevin/.cargo/registry/src/mirrors.ustc.edu.cn-61ef6e0cd06fb9b8/num-bigint-dig-0.8.4/src/bigrand.rs

    另外,别总想着接口加密,最后还是靠风控,一般来说遇到这种情况都用无头浏览器搞定,省事还不怕你折腾
    LLaMA2
        11
    LLaMA2  
       Sep 4, 2024
    你调用 wasm 的 js 代码呢,拿出来看看,我试试看能不能找到
    PTLin
        12
    PTLin  
       Sep 4, 2024
    @murmur 这是 rustc 的问题,项目的一些信息会存在在二进制中,被吐槽好久了,前几个月还说要改来着。
    3IOhG7M0knRu5UlC
        13
    3IOhG7M0knRu5UlC  
       Sep 4, 2024 via Android
    没用,抖音 wasm 解密照样满天飞
    scyuns
        14
    scyuns  
       Sep 4, 2024
    看不懂 就看到一个 main 文件
    lisxour
        15
    lisxour  
       Sep 4, 2024
    @murmur rust 的老毛病了,有办法将 cargo root 部分去掉,但是后面的文件路径目前没有无损的解决方法。
    eairjhioaegnh
        16
    eairjhioaegnh  
       Sep 4, 2024
    @murmur 我发现 mac 平台的 app 也有这毛病,但不是 rust 的
    dimwoodxi27
        17
    dimwoodxi27  
       Sep 4, 2024
    300kb 感觉略大,我编译的 aes 加密 wasm 能减到 15kb
    aliipay
        18
    aliipay  
       Sep 5, 2024
    @dimwoodxi27 怎么搞的?
    dimwoodxi27
        19
    dimwoodxi27  
       Sep 5, 2024
    @aliipay cgo+wasm-opt
    aliipay
        20
    aliipay  
       Sep 5, 2024
    @dimwoodxi27 aes 在 cgo 里面实现吗? 这个代码是直接用的某个开源库的?
    dimwoodxi27
        21
    dimwoodxi27  
       Sep 6, 2024
    @aliipay 我说的是编译器
    aliipay
        22
    aliipay  
       Sep 6, 2024
    @dimwoodxi27 啊, 不是 wasm 体积 15KB 吗? 我试了用 openssl 1.1.1 版本编译出来 wasm 大概有 900KB
    dimwoodxi27
        23
    dimwoodxi27  
       Sep 9, 2024
    @aliipay 是的 15kb ,openssl 我不知道,我用的是 crypto/aes ,总共包使用才 3 个
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6078 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 06:07 · PVG 14:07 · LAX 23:07 · JFK 02:07
    ♥ Do have faith in what you're doing.