2010-07-27
现在GFW凶猛,加上什么自动抓取敏感词,email等手段,的确很烦人。不过,有一种技术手段,可以将文本反过来,但看起来却是正常的。用于抗拒过滤敏感词。
在支持html输入的地方,填写如下的style加反向文本:
<span style="unicode-bidi:bidi-override; direction: rtl">moc.liamg@uohzolba</span>
效果:
moc.liamg@uohzolba
可以试着拷贝我的email,粘贴到文本文件,会发现我的email是你不认识的。看到的和实际的不一样。 由此可以所有文本或字符串经过处理颠倒后发表,GFW应该不会发现,流氓软件也不会抓到。
我实现了一个颠倒文本的python程序:
#!/usr/bin/env python
#author:ablozhou
#date:2010.7.27
#http://abloz.com
#email:ablozhou@gmail.com
#file:reverse.py
import sys
import getopt
def usage():
print ''' usage: python reverse.py [options[=parameters]] |
[to_be_reversed_characters]
output: reversed file lines or reversed characters based on input
options:
-h,--help: display this help.
-f,--file=filename: input file name to be reversed.
-s, --string="string to reverse":reverse string
example:
python reverse.py --file=myfile.txt
python reverse.py -f myfile.txt
python reverse.py -s "ablozhou@gmail.com"
this will output "moc.liamg@uohzolba"'''
def reversefile(filename):
lines=open(filename,'r').read().split('n')
for line in lines:
if not line:
continue
print reverse(line)
def reverse(string):
return string.decode('utf8')[::-1]
def main(argv):
try:
opts,args= getopt.getopt(argv, "h:f:s:", ["help", "file=", "string="])
except getopt.GetoptError:
usage()
sys.exit(2)
for opt, arg in opts:
if opt in ("-h", "--help"):
usage()
sys.exit()
elif opt in ("-f", "--file"):
reversefile(arg)
elif opt in ("-s", "--string"):
r = reverse(arg)
print r
if __name__ == "__main__":
main(sys.argv[1:])
执行示例
zhouhh@zhh64:~/python$ python reverse.py -s "中华人民共和国"
国和共民人华中
zhouhh@zhh64:~/python$ vi myname.txt
周海汉很喜欢写blog
有空看看技术文档
保存
zhouhh@zhh64:~/python$ python reverse.py --file="myname.txt"
golb写欢喜很汉海周
档文术技看看空有
zhouhh@zhh64:~/python$ python reverse.py -f "myname.txt"
golb写欢喜很汉海周
档文术技看看空有
再放到style里:
<span style="unicode-bidi:bidi-override; direction: rtl">
golb写欢喜很汉海周
档文术技看看空有
</span>
可以看到变成了正常的文本:
golb写欢喜很汉海周
档文术技看看空有
本文在ubuntu 10.04上测试通过,适用于utf8编码。
如非注明转载, 均为原创. 本站遵循知识共享CC协议,转载请注明来源
FEATURED TAGS
css
vc6
http
automake
linux
make
makefile
voip
乱码
awk
flash
vista
vi
vim
javascript
pietty
putty
ssh
posix
subversion
svn
windows
删除
编译
多线程
wxwidgets
ie
ubuntu
开源
c
python
bash
备份
性能
scp
汉字
log
ruby
中文
bug
msn
nginx
php
shell
wordpress
mqueue
android
eclipse
java
mac
ios
html5
js
mysql
protobuf
apache
hadoop
install
iocp
twisted
centos
mapreduce
hbase
thrift
tutorial
hive
erlang
lucene
hdfs
sqoop
utf8
filter
草原
yarn
ganglia
恢复
scrapy
django
fsimage
flume
tail
flume-ng
mining
scala
go
kafka
gradle
cassandra
baas
spring
postgres
maven
mybatis
mongodb
https
nodejs
镜像
心理学
机器学习
Keras
theano
anaconda
docker
spark
akka-http
json
群论
区块链
加密
抽象代数
离散对数
同余
欧拉函数
扩展欧几里德算法
ES6
node-inspect
debug
win10
vscode
挖矿