#1

找到主函数,看上去很简单,把输入的字符串拿去一个函数作运算,然后拿字节和一个固定的dword对比

南京邮电大学网络攻防平台逆向writeup之[WxyVM]

坑点1:动态调试的时候才找到,是拿byte和dword对比,这里卡了好久,终于找到拿出来对比的字符串了。


南京邮电大学网络攻防平台逆向writeup之[WxyVM]


#2

进入sub_4005b6();这个就是加密函数,byte_6010C0 是一个类似hash表的东东,有1500字节长,为了方便读取截出来保存为一个二进制文件,winhex打开看一下

南京邮电大学网络攻防平台逆向writeup之[WxyVM]


南京邮电大学网络攻防平台逆向writeup之[WxyVM]

3#

读这段代码的大致意思,每次循环取0,1,2三位,第一位拿来select case,第2位拿来定位,第3位拿来运算,比如03,04,05的值分别是[03,0d,0a],在select case 中的运算公式就应该为

byte_604b80[0d]^=0a

坑点2:运算过程中可能会溢出,这里卡了好几天,NND

#4

答案就不给了吧,看一下提交成功的截图

南京邮电大学网络攻防平台逆向writeup之[WxyVM]



相关文章:

  • 2022-12-23
  • 2021-11-04
  • 2022-12-23
  • 2022-01-12
  • 2021-08-18
  • 2021-08-10
  • 2022-01-26
  • 2021-04-17
猜你喜欢
  • 2021-09-14
  • 2021-06-05
  • 2021-09-24
  • 2022-12-23
  • 2022-12-23
  • 2021-07-26
  • 2021-11-29
相关资源
相似解决方案