Re: [讨论] n万行的code

楼主: ggg12345 (ggg)   2016-07-21 14:53:40
这个标题在 tech_j 版又有另一个惊人的题目
强者不需要注解
=========================================================================
: 以高阶语言写的程式是容易被人看得懂的.
: =====================================
:
: 学过资讯科技的人都清楚高阶语言完成的程式是有这个特性的.
: 要用高阶语言写出 "self modified code" 或 "dirty code" 其实不容易. 这需要
: 把程式的指令码当成资料来处理.
========
资料是能被拿来修改的, 但指令码通常不准被拿来修改. 指令码的部分就如同硬件,
做好了就不再更改. 有些资料如起始的设定值也是不改的. 譬如限制试用期的时间
锁. 高阶语言编译器对这些不同的项目是区分得很清楚. 要用高阶语言写出一段会
自我修正程式码的程式在先天上就不是很容易.
就今天的IC芯片言, 电子电路的设计也是用软件写出来的, 那么IC芯片能否随时间
对已完成的电路做自我修正, 把不良的电路自动更新为正确又新的电路?
PC 的 BIOS ROM 可以更新就是其中一例. 这是从内存做覆蓋的范例, 如果把某些
能被更改的资料放在网络上, 这些资讯可以透过网络被遮蔽或被依对象选择性使用
或保护, 不同代差的电脑, 在某些功能上就随时间是否有更新而有所不同了.
更新就是把特定对象的项目换成一个新的状态, 这个新状态替换了旧状态.
更新要能进行, 首先就要先能找到旧状态的位置.
某个错误的电路或程式码先要被找到, 其次才能对之做更换.
程式的可读性, 可被修改的变量命名是否易记, 是否容易被人区分辨识, 就影响某
个关键变量能否很快被人找出来? 这就涉及变量的命名及可以举一反三的命名规则.
反组译的程式也是有自动产生symbolic name 的功能, 会把被程式修改到的变量及
其位置打印出来让人参考.
需要用人(包含自己)协同合作发展的软件, 在程式的设计上需要把关键用到的变量
或连接点等资讯, 透过人类的命名使下一个接替发展的人可以快速找到. 对这些点
的额外描述就是 易记名称及comment.
但如果连这些关键变量的名称及备注说明都不给, 下一个接手的人能不能后续接手
做进一步改进或发展?
从对程式的反组译来比较, 有symbolic debug 支援修改变量对照表的产生, 原始程
式隐蔽关键变量的作用, 只是变得很难被一眼找出.
self modified code 的行为, 通常只在 kernerl code 才会使用到. 譬如中断服务
程式, 总是要把中段处理程式的入口位址需要到中断向量表处做串接的修改. 这种
连接点的修改会影响程式与事件间的关连. 是否有正确的连接是在程式执行才发生,
核心系统的除错追踪工具可以协助把这种非正规(把指令当资料)的修改展示出来.
Qemu 虚拟机的作者使用code translation 及类似 just in-time compiler 的转译
技术可以自动对 self modified code 及时进行对应的机器码转换. 这种 dirty
code 招数也是能被破解的.
===============
程式软件做出来是要让电脑遵循, 替人类服务的. 也就是会被人拿去使用. 没有人
肯用或能用的软件, 跟不存在是一样的.
电脑硬件设计同样会出错, 但电路的除错, 麻烦太多, 所以造IC的产业会用软件写
的模拟器帮忙找出照做下去的IC可能会发生的错误. 预先防止错误, 是否能让机器
自动执行? 机器是否能达到程式设计员的智能? 机器人时代的到来, 自动化程式的
产生暗示隐藏程式资讯, 不做备注只是在防人做合作学习而非防机器自动接手处理
后续工作.
程式设计师基本上就是透过机器来协助发展程式, 机器会取代后续处理的工作者是
必然发生的, 因为最后就是让机器代替人做计算工作.
电脑协助除错, 当然也会针对那些想隐藏软件功能动作资讯的成品做处理.
: → ggg12345: 可以维护的就找免付费的高手来做,不给改的就建平台找更 07/19 10:22
: → ggg12345: 高手私下给高薪来提供工具,工具能自动识别与处理万行. 07/19 10:25
==========================================================================
作者: Ommm5566 (56天團)   2016-07-21 15:42:00
头香发费文喜批币的渣无法可管吗 烦死了言之有物 先推一个 等等没内涵的老屁股会做垃圾护航这种文章有内涵 整篇都在发光 看了我都高潮了人不要脸天下无敌 目前为止我说的话都在跟我自已说话tech_j有这种板吗? 就算有在这边发文也是讨嘘地一行就不用客气的2下去了 回文我懒得选自我不知道这样洗批必有什么意义 打完的时间工作还比较高帮补血 等等再来快了 等等再一下x1
作者: csfgsj (切割对半)   2016-07-21 17:26:00
5566 似乎与楼主有血海深仇,嘘成这样
作者: meowyih (meowyih)   2016-07-21 17:44:00
这篇嘘一下也是情理之中, 通篇不知所云 :p
作者: ns1234 (FAR)   2016-07-21 17:52:00
工三小跨隆摸
作者: Ommm5566 (56天團)   2016-07-21 17:54:00
csf在科技版也是肺纹王 还会帮gggg护航 不用客气2下去
作者: UNIQLOCK (UNIQ)   2016-07-21 18:19:00
看到Ommm5566 就觉得PTT真好,让负面力量不会出现在现实社会PTT近几年的好文也变少了,感谢这些破坏别人撰文美意的人
作者: ggBird (ggBird)   2016-07-21 19:12:00
纯推不下
作者: kyoin (nioyk)   2016-07-21 19:14:00
原来不是只有我看不懂 每次看他的文都很痛苦
作者: y3k (激流を制するは静水)   2016-07-21 19:26:00
这啥小XDD
作者: winken2004 (新竹肥宅)   2016-07-21 19:48:00
工杀小
作者: angusyu (〒△〒)   2016-07-21 20:39:00
整篇不知所云,我到底看了三小啊,基本上真的是一种强者了
作者: alan3100 (BOSS)   2016-07-21 20:49:00
看内文加上某护航真的很好笑 故事中再编故事一下就露底
作者: hizuki (ayaka)   2016-07-21 21:10:00
bios有修改电路?efuse吧
作者: atpx (秋雨的心情)   2016-07-21 22:14:00
感觉原po很强的样子, 但是跟题目有关?
作者: edward13 (-_-)   2016-07-21 22:44:00
原po讲的太抽象 又太跳痛 被嘘情有可原XD
作者: Ommm5566 (56天團)   2016-07-21 23:08:00
哈哈哈 只有垃圾会帮垃圾护航 刚刚看了一下uniq的文章谁才是只出现在ptt不会涌入现实的负能量 白痴都分得出来
作者: KanoLoa (卡)   2016-07-22 00:20:00
我看不懂,但是嘘成这样你是不是要冷静下...连9嘘耶?何苦浪费时间在自己不喜欢的文章上
作者: longlongint (华哥尔)   2016-07-22 00:51:00
觉得读起来还好。教科书差不多就是这个调调
作者: kenimai (非理法権天)   2016-07-22 01:54:00
这废文王又出来了...
作者: ADYex (寵物狼音樹)   2016-07-22 03:19:00
看起来超像文章自动产生器的东西…
作者: xdraculax (首席怪叔叔)   2016-07-22 11:57:00
学习了,迈向高阶主管之路,能在台上连续讲1小时废话是必须的
作者: duckfly (Java ass)   2016-07-23 14:34:00
看似高深却牛头不对马尾的废文
作者: otaku5566 (オタク56)   2016-07-24 03:46:00
0.0
作者: dou0228 (7777)   2016-07-28 22:32:00
end

Links booklink

Contact Us: admin [ a t ] ucptt.com