动态调试360安全浏览器获取密钥
按F9开启调试
将启动的所有的异常都忽略,不然总是暂停
这样就不会因为异常暂停了,直接就打开了360安全浏览器
因为浏览器保存了账号密码,刚才打开网站时自动填充了密码,那么这个过程中的字符串肯定都被x32dbg保存着了。于是在所有模块的字符串里搜索password等可能会存在的关键字符串去定位解密的输入点,然后断点调试。
双击跟入,在688C530B下断点,双击右侧空白处可以添加注释
进入到解密的函数里,可以如下图操作进入,也可以按回车进入
然后重新按F9让程序跑完,然后刷新浏览器页面
按F8步过调试
设置断点后,回车跟入
设置断点
重新F9让程序跑完后,再刷新页面,停到691FE582断点处
重新F9让程序跑完后,再刷新页面,停到691F4E7E断点处。一直F8步入调试
再一次找到了密文解密的点
重新F9让程序跑完后,再刷新页面,停到691F5328断点处。一直F8步入调试
1560A2E8 01 13 73 0D 78 62 71 32 33 4D 7A 15 78 61 41 5F ..s.xbq23Mz.xaA_
1560A2F8 52 5F 4D 39 77 06 71 47 38 21 48 1A 4D 0D 78 19 R_M9w.qG8!H.M.x.
1560A308 4E 5E 4F 52 67 0C 53 30 7A 00 00 00 00 00 00 00 N^ORg.S0z.......
那么这就有一个问题了,进入到691F5328断点前,其实已经解密了,691F5328只是处理解密后的字符串得到密码。
回到691F5328断点前寻找解密函数。
这时候突然想到,既然691F50A0是解密的函数,那么密钥可能是从外部传参进来的,那么就不应该再691F50A0里找密钥,而是在691F50A0上面找
0E25F104 63 66 36 36 66 62 35 38 66 35 63 61 33 34 38 35 cf66fb58f5ca3485
判断奇偶得到密码
sxq3zxARMwq8HMxNOgSz