Easy kengen
程序员文章站
2022-05-15 12:15:00
...
题目链接 : http://reversing.kr/challenge.php 第二题
下载下来是一个压缩包,解压后有一个exe文件和一个txt文件。打开readme,可以看到下面内容:
***ReversingKr KeygenMe
Find the Name when the Serial is 5B134977135E7D13***
看意思应该就是在程序输入name,程序会计算出一个Serial,正确答案的话应该最后算出来的等于“5B134977135E7D13”。
下面看程序,用IDA打开,F5反汇编,得到下面内容:
主要就是sprintf那一句,将输入的name与一个数进行异或,所以只要将Serial异或一次就可以得到原始的name。
程序如下:
Serial = '5B,13,49,77,13,5E,7D,13'
Serial = [int(i, base=16) for i in Serial.split(',')]
encode = [16,32,48]
for i in range(8):
Serial[i] = encode[i % 3] ^ Serial[i]
name = ''.join([chr(i) for i in Serial])
print(name)
最后输出:K3yg3nm3
测试一下
正确。
上一篇: 引见一个免费的php空间
下一篇: php 多级领航显示
推荐阅读
-
easy ui datagrid 从编辑框中获取值的方法
-
美白就是这么so easy 拥有白皙肌肤小窍门
-
『Pdf转Word』Easy PDF to Word Converter V2.0.3(汉化版)
-
简谱转调工具如何使用?Jianpu Easy Trans使用教程
-
So Easy - 在Linux服务器上部署 .NET Core App
-
linux下安装easy_install的方法
-
全网最easy的better-scroll实现上拉加载和下拉刷新
-
centos6.7 安装python2.7、pip2.7、easy_install-2.7的方法
-
如何让千人大合照so easy技巧教程
-
进入easy模式