简单认识RTLO(Right-to-Left Override)

今天在群里看到的用法,RLO是一个微软的中东Unicode字符8238,或者0x202E,能够使后面的字符都变为RTL(阿拉伯语从右往左书写,对咱们来讲就是倒着的),能够简单用于改变文件的真实扩展名,进行文件名欺骗,引诱人下载恶意程序。不过是比较老的一个东西,通常杀毒软件也能够侦破。写篇博客记录一下玩玩。python

两行代码实现字符逆序输出

虽然python很是简单,也有其余方式能够两行逆序输出字符,不过感受这个挺好玩的。shell

s=input()
print('\u202E'+s)

注意编码的格式,我用cmd和powershell会由于gbk编码报错,最后用Pycharm测试成功的。
ide

作个假文件

作着玩玩,也没有恶意代码,复制了一份cmd.exe做为素材

用下面的代码给其重命名(注意把cmd.exe和下面的py文件放在一个目录里,否则代码里要写清楚路径)测试

import os
os.rename('cmd.exe',u'Reveng\u202E3pm.exe')


运行后,cmd.exe的名字就变了

为了真一点,建立一个快捷方式(名字也改一改),而后右键->属性->快捷方式,更换图标

作出来就是下面的样子,而后能够发给别人玩玩
编码

参考

“semaG dna nuF” with Right-to-Left Override Unicode Characters
[分析]Mac恶意软件使用Right-to-left override技巧
Unicode RTLO(Right-To-Left Override) Security ISSUE
How to change executable file's extension to any extension(File Name Cheating) - 如何更改可执行文件的扩展名为任意扩展名.net

相关文章
相关标签/搜索