您的位置:首页 > 其它

CrackME 2011 # 2 逆向练习解题思路

2017-10-17 20:03 288 查看

CrackME 2011 # 2 逆向练习解题思路

 

做题背景:

       从朋友那里得到一道逆向题名字叫package,作为小菜的我当然要看一看啦,这名字辨识度太低我就按照运行的名字改成CrackME 2011 # 2。

 

 

题目链接:

       CrackME 2011 # 2.zip  (请到网盘里去找同名文件)

 

 

具体步骤:

 

首先这个程序没壳的

 

直接放到IDA里看一下,找到了存在加密算法的函数sub_4011D0

 

 

判断输入字符串的长度如果不为0,把输入字符串每一位进行x + x * string[x] * string[x] % 66 + 33的运算将得到一段字符串。在与前面Happy@合并,最终求得答案。

 

 

 

 

 

最后附上解题代码

 

string = "hello"
key = ''

for x in range(5):
a = int(ord(string[x]))
# print a
result = x + x * a * a % 66 + 33
key = key+ chr(result)

print('Happy@'+ key )

 

 

好啦,收工!!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: