作者WarIII (13thD@rkfird@y)
看板PttBug
标题[转录]自动推文签名档bug
时间Mon Aug 10 00:17:16 2009
※ [本文转录自 AkamatsuKen 看板]
作者: gusion () 看板: AkamatsuKen
标题: Re: [建议] 斩一斩吧
时间: Tue Jul 28 14:33:14 2009
※ 引述《andy199113 (中川翔子最高!!)》之铭言:
: ※ 引述《verycold (系金a)》之铭言:
: 我刚刚一试 终於知道问题在哪了XDDDDDDDDDDDDD
: 我在这版第一次PO文没想到是这种时候!
: 不是有个horse5566lee吗? 他最爱把签名档
: 放成以下这样,内容已经做过处理,所以大家都看的到
: --
: 滑鼠左键复制红色方块之後再按滑鼠右键贴上.你会後悔!!!请不要照着做!
: X
: 测试
: Y
:
後面吃掉
因为中文字是由2bytes组成的
可是在这边却是一个字元一个字元读取
所以某个中文字可能是一个无意义字元+某个英文字或数字组成
造成读取的时候误判
再来关於那串文字的问题,其实这是可以设计的
以下的任一个字复制贴上会相当於's'↓
詉榊鎅猹鑸鷭顪飉鰆盭鏀瓋雟繟鮢褼疄鮀褭瘰廥鋊蓧犘廛酲綼滻嫳跴腠煲酨鈤菋猧敧
喒莗珺掇唼茳烞帩苫洒姠疌弤耴卲宄鳄弯矾瀛浏臃龙窥驹编广
制漳零群新钮盗愀连猖御
酒盎岘贞毗哀泅孟究吱存叫山澵觧鹪龀荥
以下的任一个字复制贴上会相当於'A'↓
乪辠彍冚纛雠糱蠝鐌喾譂懻蹚瓀鞝蕼檃鋾蒇濉哕踒膕澉噀裬禈槎劀觠稐毷嫀軦羢湜愊钍
耛淲崒酏笓毣哻竑枻苟泝坽杕灱乜艳誉颠韹鲜了锦泽适璀劈翠态农睾嫂诅涣媚苋球婢蚊涉
唧耍括隹服呸杗
你再丕乙x∕,孭声悪苊滠锗唢
以下的任一个字复制贴上会相当於'k'↓
蘐椀瞓犱圞鹪鑏闼鲽爔鏦爇鎥簥鮨螶璭骿蛳瘯幧鋘蔝熥嶡鄢緎毾嫜跮罬煇愲鈒菣犅揇噅
莝珶掽剬胹烓屔苙氠姶玠岰玔冹刌骥俨潋攀归翳鸵磬馁糊嶔蚀榭陨绥搔鄂痘惰趾焊彗逃疼
峭虺柢勃法姗男吻妄
右女π溆椤锶怄
所以这段文字↓
滑鼠左键复制红色方块之後再按滑鼠右键贴上.你会後悔!!!请不要照着做!
就相当於输入了's','A','k','A'
至於其他文字,可能两个字元都是没有意义的字元,所以没有问题
我想一定有人问说我怎麽知道?
其实很简单,写个程式跑一下可以用的字瞬间列给你看
最後再测试、修改一下就行了
以下为参考程式码(C++)↓
#include<iostream>
using namespace std;
int main()
{
char test[2] = {0,'s'};
int i;
for(i=-128;i<0;i++)
{
test[0]--;
cout << test[0] << test[1];
}
return 0;
}
这是列出相当於's'的中文字,只要改一下就可以找其他的字
希望这样可以帮助大家想出解决的办法
最後,这是我在这个版第一次发文,写得不好请多见谅
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.101.204
※ 编辑: gusion 来自: 140.113.101.204 (07/28 14:37)
1F:推 bohun:XD 07/28 14:38
2F:推 hansbobby:听起来要从系统,让看板搜寻(s)可以吃中文字再略掉中文 07/28 14:57
3F:推 donaldtsai:出来的那些字...好像会念的没几个.... 07/28 16:34
4F:→ donaldtsai:不过最近乱版的好像没那麽多了 07/28 16:36
5F:→ keinsacer:弄个要按指定按钮(避开那堆中文字的)才能跳出的进版画面 07/28 18:35
6F:→ andy199113:原PO超专业!! 厉害!! 07/28 22:59
7F:推 sky0513:惊见家宏,快拜! 07/28 23:49
8F:推 gw80132:惊见家宏,快拜! 07/29 01:36
9F:推 ssj0023:Adee是大帅哥 07/29 02:13
10F:→ blc:板主有没有想要跟组务或站方反应一下啊? 07/29 10:59
11F:推 peter0911:crazybaby我爱你! 07/29 11:22
12F:推 MAHORA:有种越看越火的感觉....这种芭乐推文= =||| 07/29 11:34
13F:推 sinsendo:请问...虽然是题外话...这样的程式有办法用C来呈现吗? 07/29 11:36
14F:推 jrdjedi:我後悔了 07/29 11:59
15F:推 ge1003:我後悔了 07/29 12:09
16F:推 OGC0609:我後悔了 07/29 12:20
17F:推 ming1053:赤松版都要变成bug讨论版.... 07/29 12:38
18F:→ gusion:要改成C的话,只要把iostream改成stdio.h 07/29 14:29
19F:→ gusion:把cout改成printf就行了 07/29 14:29
20F:→ gusion:其实主要问题是ptt在进行看板搜寻时会滤掉不合法的字元 07/29 14:38
21F:→ gusion:所以搜寻看板时,应该只有打英文字会显示 07/29 14:39
22F:→ gusion:假如不做这样的功能,复制贴上那段文字後会找不到看板 07/29 14:39
23F:→ gusion:也就没有这样的问题了 07/29 14:40
24F:→ gusion:ps.可以去别家的bbs站试看看 07/29 14:40
25F:推 sinsendo:囧...我以为%c%c会当做两个字元印出...没想到竟然可以... 07/29 19:13
26F:→ sinsendo:请问,到底是为什麽会当做一个字印?而不是两个字? 07/29 19:14
27F:→ sinsendo:另外...大部分的BBS站都是使用PTT的系统吧? XD" 07/29 19:16
28F:→ sinsendo:还有就是...如果不虑掉不合法字元,安全性上不会有问题? 07/29 19:17
29F:→ andy199113:建议把这篇转去PTTBug板 建议他们改进吧! 原PO好强!!! 07/29 20:42
30F:→ andy199113:这篇其实可以变成应用成跑到某个板XDD 蛮棒的XD 07/29 20:44
31F:→ gusion:我也不知道为什麽会变成一个全形字,这是之前碰巧发现的 07/30 10:30
32F:→ gusion:转录的话我是没有意见,看有没有人要转罗 07/30 10:31
33F:→ WarIII:路过 帮忙转 这让有心人搞可不止只有推文被闹而已 08/10 00:16
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.64.179.17
34F:推 LPH66:这没辙 只能宣导大家不要用这种签名档而已 08/10 05:18
35F:→ LPH66:再来就是宣导不要被这种签名档给骗了就是 08/10 05:18