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

 

做题背景:

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

 

 

题目链接:

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

 

 

具体步骤:

 

首先这个程序没壳的

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

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

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

 

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

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

 

 

 

 

最后附上解题代码

 

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 )

 

 

好啦,收工!!

相关文章:

  • 2019-09-04
  • 2019-08-27
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-10
  • 2019-08-22
  • 2019-08-19
  • 2019-08-25
  • 2019-09-10
  • 2019-09-03
相关资源
相似解决方案