|  |      1learningman      2022-07-20 11:25:54 +08:00 via Android 飞线是把两个点连一起,所以,建边? | 
|      2ShinichiYao      2022-07-20 11:26:54 +08:00  1 Work around | 
|      3ele332      2022-07-20 11:27:24 +08:00  7 goto? | 
|  |      4paradoxs      2022-07-20 11:27:24 +08:00 单例啊,工厂模式啊 | 
|      5quicknight      2022-07-20 11:27:53 +08:00 hook | 
|      6mxT52CRuqR6o5      2022-07-20 11:28:52 +08:00 via Android Goto | 
|      7linksNoFound      2022-07-20 11:28:53 +08:00  4 飞线是跳过不可重构的部分直接调用核心方法 | 
|  |      8felixcode      2022-07-20 11:30:45 +08:00 via Android ShellRun   goto | 
|  |      9akaxiaok339      2022-07-20 11:31:28 +08:00 window.myFunction = xxx | 
|  |      10DT27      2022-07-20 11:33:00 +08:00  1 全局变量 | 
|      11Jooooooooo      2022-07-20 11:36:01 +08:00 像是 mock 数据的逻辑. 对方接口不可用, 直接 mock 这个接口绕过它. | 
|  |      12coderluan      2022-07-20 11:36:58 +08:00 飞线要是名词的话,我想到的是 goto 飞线要是动词的话,我想到的是用 vs debug 的时候,代码停到某断点时会有个黄箭头提示,这个黄箭头其实是可以拖拽的,这样就可以强行进入一些不满足条件的分支。 | 
|  |      13Maboroshii      2022-07-20 11:39:15 +08:00 via Android 特殊处理的 if else 就是飞线 | 
|  |      14yukiww233      2022-07-20 11:41:30 +08:00 if return | 
|  |      15wu67      2022-07-20 11:41:58 +08:00 前端仔的各种状态管理不就是么. 讲究一点的, 还会用各种库或者官方库实现, 骚一点的, 像 vue 的 bus, 我都不想说话... | 
|  |      16LongLights      2022-07-20 11:42:32 +08:00 第一反应是 声卡跳线 | 
|      17fisherwei      2022-07-20 11:46:01 +08:00  1 个人理解 硬件上飞线有几种用途,比如: 1 、某个 PCB 受损了,用飞线搭桥跳过去 2 、增加一个外围芯片,或者短接两个芯片的针脚,比如用于破解、欺骗信号等 3 、用于调试电平信号 对应的软件方法大概是: 1 、基本不存在 2 、汇编进去,搞个 JE/JMP 之类的跳转。或者用 hook 阻挡某个 API 让原应用调用自己的代码 3 、debug 工具 | 
|  |      18ipwx      2022-07-20 12:11:54 +08:00  1 | 
|  |      19Felldeadbird      2022-07-20 12:34:30 +08:00 goto 看语言吧。 我觉得这个就是飞线了。 | 
|  |      20mogita      2022-07-20 12:37:15 +08:00 override | 
|  |      21kop1989smurf      2022-07-20 12:46:56 +08:00 如果再在严格定义一点的话,飞线是因为不需要,或者不想用 pcb 既定的功能和逻辑。 所以更类似的是对没有编译、重构权的框架、库的 heck ? | 
|  |      22lululau      2022-07-20 12:50:12 +08:00  2 monkey patch dirty hack | 
|      23ZHenJ      2022-07-20 12:53:11 +08:00 goto 感觉是最像飞线的 | 
|  |      24feather12315      2022-07-20 13:00:36 +08:00 via Android 1. 全局变量 2. goto | 
|  |      25mingl0280      2022-07-20 14:18:52 +08:00 软件飞线那不就是 hack 么,什么 goto 都是程序内固定的指令跳转流程,怎么就飞线了? 比方说 VS 的 debug 时强行跳转到某一行,破解软件用的 nop ,这种直接修改原有流程的。 | 
|  |      26qiayue PRO 我们接手了一套 N 年的代码,搞懂了数据库每个表每个字段的含义后,重写了后台,重写了接口。 老用户继续用老接口,新用户后面开始用新接口。 我感觉,这也算是飞线。 | 
|  |      27villivateur      2022-07-20 14:42:56 +08:00 飞线是因为最初设计 PCB 的时候失误所以需要额外连线,或者调试的时候临时接线。 我觉得软件里面的“飞线”就是调试代码,或者不断拉屎的过程。 | 
|  |      28FringJX      2022-07-20 14:47:52 +08:00 EventBus | 
|  |      29FringJX      2022-07-20 14:48:52 +08:00  1 事件订阅相关的设计模式,都差不多是吧 | 
|      30shinsekai      2022-07-20 14:53:34 +08:00 SJMP ,AJMP ,LJMP 总有一款适合您 | 
|      31besto      2022-07-20 14:56:57 +08:00 飞线属于硬件 rework 的一种,就功能而言 @fisherwei @villivateur 这两位合起来说的已经很全了。理论上软件不存在类似情况(再不济可以重构,抬杠就是硬件可以重画板子),一定要模仿,那几种可能性都算: 1. 加个 print 打印内部信息(类似引脚飞线,来量波形) 2. 加个 API 读取 /设置本来不暴露的内部状态(类似飞出 jtag 口,使用劳德巴赫调试) 3. #if 0 (类似直接短接一部分电路) 4. 建立一个新的函数,名为 xxxx2 xxxx3 (类似于外接芯片 /搬板) | 
|  |      32horseInBlack      2022-07-20 14:57:50 +08:00 想起个程序员笑话: style=“background-color:pink!important;”就是 CSS 里的 console.log() 有次内部系统有个生产问题,我的临时解决方案就是让使用者打开控制台,粘贴运行我给的 JS 代码把之前错误的函数覆盖掉,先把要完成的事情处理掉再说 | 
|  |      33adoal      2022-07-20 15:01:14 +08:00 via iPhone 各种 work around 的特例情况处理,尤其是“这特喵明明是操作系统、底层库、第三方 API 的 bug 但是又不能升级怎么办”时写一些特例处理把 bug 当 feature 对待… | 
|  |      34BingoXuan      2022-07-20 15:02:16 +08:00 如果你的程序遵循 actor model 的话,直接改变特定 mailbox 策略就行了 | 
|      35joesonw      2022-07-20 15:11:20 +08:00 via iPhone epbf 咯 | 
|  |      37shenyu1996      2022-07-20 15:16:01 +08:00 Eventbus | 
|  |      38libook      2022-07-20 15:50:19 +08:00 硬件一旦生产出来,设计就固定了,所以一些情况下只能通过飞线来解决问题。 软件生产出来后,只要还有源代码,就可以以极低成本进行修改并生产出一个新的版本,所以通常不需要类似于飞线的机制。 用类似飞线的机制的场景,我能想到的就是破解,把验证通过的地址接到验证之前,以绕过授权验证阶段。 | 
|      39v23xowen      2022-07-20 15:59:58 +08:00 全局变量? | 
|  |      40bearice      2022-07-20 16:13:16 +08:00 硬要说的话,上古时代破解软件验证常用 0x90 (nop) 覆盖验证逻辑的行为可以算一种。 | 
|      41lazydao      2022-07-20 16:22:18 +08:00 hook | 
|  |      4244670      2022-07-20 16:28:57 +08:00 hot patch? | 
|      43tjyangsg      2022-07-20 17:18:04 +08:00 hyperlink | 
|      44LZSZ      2022-07-20 17:22:00 +08:00 破解的话是有 直接 jmp 跳转 | 
|  |      45autoxbc      2022-07-20 17:39:20 +08:00 @horseInBlack #32 确实经常这么用,不过 background-color 不可靠,可能被顶层元素覆盖导致底下的背景色不可见,我一般用 border: 2px solid red | 
|  |      46blackboom      2022-07-20 17:42:36 +08:00 hook | 
|      47e9pWeUbh9PGCnp95      2022-07-20 17:43:20 +08:00 JCC 指令 HOOK MITM | 
|  |      48Features      2022-07-21 01:33:46 +08:00 现代后端框架操作数据库通常有非常繁杂的流程 比如模型,实体类等等 一般直接写 SQL 跳过这些中间流程去操作数据库就算一种飞线吧? | 
|  |      49KaGaMiKun      2022-07-21 09:20:21 +08:00 比如破解游戏破解软件?让验证或添加收费模块 这个感觉很像飞线 | 
|  |      50qiyue0726      2022-07-21 10:12:28 +08:00 除了 goto ,感觉反射也很像 | 
|  |      51newmlp      2022-07-21 10:37:09 +08:00 单例 | 
|  |      52raptor      2022-07-21 10:50:14 +08:00 必须是 goto 啊 | 
|  |      53anteros      2022-07-21 11:01:59 +08:00 反射 |