base64编码
标准形式包含64个ASCⅡ代码A-Z,a-z,0-9,'+'和'/'。(之前文章有记载过)
每三个字符分一组,共3×8=24bit比特,再将这24个比特位每6位分1组,分成4个新的数字作为索引(是索引,不是转为的新字符!),去对应原来数组的字符(6bit位表示2^6=64,正好是原数组0~63索引号数),组成新的编码。
这样以来,base64编码会把3字节的二进制数据编码为4字节的文本数据,长度增加33%。
举例 :上面n1-n4分别为:000000、000010、000100、111111,则索引分别为:0、2、4、63,编码后字符串为ACE/。
解题:
1.检查文件无壳拖入ida,401080和40E0E4是两个关键函数。
第二个方框意思就是比较v5[v3]与byte_40E0E4[v5]相等,则进入下一步if(这里看到别的作者说是比较完所有v5所有的元素)++v3带到