logmein逆向

logmein逆向
IDA打开整体先看看。
学个函数:

strcpy:即字符串复制

v8=这么一大串字符串
我们让程序调到sub_4007F0(),就OK。
我们使用python来写,
主要迷惑的还是下面都是情深深雨蒙蒙的存在:
(char)(*((_BYTE *)&v7 + i % v6) 和chr(ord(a[i%v6])
v6=7是因为右击decimal看小数
logmein逆向
logmein逆向
(char)(*((_BYTE *)&v7 + i % v6) ^ v8[i])
chr(ord(a[i%v6]) ^ ord(b[i]))

网上也搜了:

&除了是一个位运算符,也是取地址符。
_BYTE *强制转换为BYTE类型的指针值。
chr
ord却是返回值是对应的十进制整数。

算了这个一时半刻还理不清楚。后待补充吧.....

运行后

logmein逆向

解释:伪指令db、dw、dd、dq都可以定义字符串,但最多的是用db来定义字符串,第一个原因是dw、dd定义的字符串到了内存中排序是相反的

logmein逆向

替换:

logmein逆向

这个样子就出来了~
logmein逆向

logmein逆向

上一篇:loj10153 二叉苹果树


下一篇:Android内容提供器——运行权限