各位觉得是逆向网页难,还是逆向app难一些
← 返回列表

当前位置: 作者:007幽灵 · 2026-06-07 10:52:54

#1 007幽灵 · 2026-06-07 10:52:54
stalltrix
最近打算做一点副业产品,但是又担心接口被人逆向盗刷。请问一下有这方面经验的人,如果只做客户端,而不提供web端。是不是能降低被破解的损失?
#2 gege · 2026-06-07 11:01:23
stalltrix
不清楚吧,应该是app端难一些吧?。感觉很多产品都搞封端,不提供web端了。让下载app
#3 coco · 2026-06-07 11:11:54
stalltrix
感觉是app逆向更难一些吧,android可以使用native层直接二进制编译混淆代码。而网页是明文js,混淆后也是解锁执行的js,可以一步步反混淆分析
#4 刘邦 · 2026-06-07 11:26:41
stalltrix
看你遇上什么样的人,如果真心要搞你话,那么两者都防不了的。

web端与app端,论下限的话,app端的下限要高一些,毕竟web直接F12就能看,还能直接栈追踪。

但是论上限的话,两者其实是差不多的。有人说android可以使用native层的二进制混淆。web也是能编译为wasm二进制的

android 的UI与交互控件都在jni层,这点跑不了的,就像web使用js层与html DOM交互而wasm操作不了,这点和app的native层一样。

如果你的核心资产是UI与交互,那么这点防不了。
#5 星河 · 2026-06-07 11:31:28
stalltrix
楼上的观点我想说,其实编译为二进制并非混淆,只是让人感觉更难而已,稍微遇到会IDA64之类的人,或者直接静态逆向都能跑出来。真正的混淆是搞花指令,但是花指令很容易被各种杀毒软件误报。
#6 鸟云 · 2026-06-07 11:48:17
stalltrix
我感觉还是app更难逆向一点,毕竟app能获取的权限比web端多很多,测试环境检查与插暗桩更容易。甚至还能当远控马。web端的js用户一关就失活

不过话说楼上的类比确实很形象,以前都没有想到,哈哈。java层对比js层。native层对比wasm层。我再补充一点:android好像确实是使用xml声明UI的,与html的层级也很像。
#7 bigjj · 2026-06-07 11:56:37
stalltrix

> 感觉很多产品都搞封端,不提供web端了。让下载app

感觉防止逆向是小,更多的是为了强制推送以及收集更多信息吧,还有弹开屏广告之类的。感觉太恶心了。
#8 kanshan · 2026-06-07 12:11:21
stalltrix
对于一般人来说,app比web端更难逆向。但是对于开发者来说,推广一个app,可比推广一个网站难多了。

这里说的更难只是逻辑被加花了更难,而网络接口不一定。如果逆向者内置了ssl证书,已经解密了ssl流量,直接抓包而不用看完整逻辑。当然内层也可以加密,但是由于加密方法也是在客户机器上跑的。开发圈有一句话:"客户端环境不可信"。其实这里的客户端并非只有web,其他客户端也一样的

这就是一个成本问题
#9 007幽灵 · 2026-06-07 12:31:21
stalltrix
@kanshan(yqqeby) 大佬,问一下,如果是内置证书,或者进行证书pin。是不是可以避免被通过中间人的方法解密流量。从而直接看透接口?
#10 kanshan · 2026-06-07 12:47:43
stalltrix
@007幽灵(v3awah) 你有没有想过,证书直接被换掉之类的。如果要保证证书没有被改,必须上一个逻辑去验证,而上一个逻辑为了保证未改,就要求上上个逻辑验证。

那么最终总有一个信任根的问题,而信任根无法验证自己。但是问题是,客户端跑在别人的设备上
#11 pbox · 2026-06-07 12:53:15
stalltrix
我来说一点很多人没有想到的,客户端app的升级问题。很多用户都懒得升级,如果搞强制升级,除非特别必要否则很多用户就懒得用了,也不会升级。




还有就是逆向这个,先不说逆向之前的情况,前面其他人已经说的很多了。如果已经被成功逆向。那么更新是一个问题。

很多逆向仿冒客户端的请求,都是伪装为旧版客户端。但是旧版客户端也有大量正常用户在使用。那么区分起来就会很复杂。

而网页不同,更新了网页后,用户访问网页就会自动更新为新的,那么使用旧接口请求的,几乎可以确定一定是机器人,而不是真的用户。




当然app也不是没有办法,这里篇幅有限就不细说了。

注册

或使用第三方注册

登录

没有账号? 立即注册
技术
闲聊
开发
正在提交...