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


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

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

虽然python非常简单,也有其他方式可以两行逆序输出字符,不过感觉这个挺好玩的。

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

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

做个假文件

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

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

import os
os.rename('cmd.exe',u'Revengu202E3pm.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) - 如何更改可执行文件的扩展名为任意扩展名

原文地址:https://www.cnblogs.com/hardcoreYutian/p/11632527.html