Skip to content

[case]To prevent static resource search

王集鹄 edited this page Aug 4, 2015 · 1 revision

防止静态资源被搜索

通常静态资源的字符串是连续的,通过搜索关键字很容易定位并修改其内容。如果将连续的字符串分开赋值,那么定位就不能简单的搜索完成

input

#include<stdio.h>

int main(void)
{
	/*<jdists export="#encode">
	function (content) {
		return content.replace(/char\s+(\w+)\[\s*(\d+)\s*\]\s*=\s*"(.*?)"/g,
			function (all, name, len, value) {
				var items = value.split('').concat([0]);
				items = items.map(function (item, index) {
					var value = item === 0 ? "'\\0'" : "'" + item + "'";
					return '\t' + name + '[' + index + ']=' + value;
				});
				return 'char ' + name + '[' + len + '];\n' + items.join(';\n');
			}
		);
	}
	</jdists>*/
	/*<jdists encoding="#encode">*/
	char _link1[100] = "http://legend.baidu.com/";
	char _link2[100] = "http://shushuo.baidu.com/";
	/*</jdists>*/

	printf("link1: %s\n link2", _link2, _link2);
	return 0;
}

output

#include<stdio.h>
int main(void)
{
	char _link1[100];
	_link1[0]='h';
	_link1[1]='t';
	_link1[2]='t';
	_link1[3]='p';
	_link1[4]=':';
	_link1[5]='/';
	_link1[6]='/';
	_link1[7]='l';
	_link1[8]='e';
	_link1[9]='g';
	_link1[10]='e';
	_link1[11]='n';
	_link1[12]='d';
	_link1[13]='.';
	_link1[14]='b';
	_link1[15]='a';
	_link1[16]='i';
	_link1[17]='d';
	_link1[18]='u';
	_link1[19]='.';
	_link1[20]='c';
	_link1[21]='o';
	_link1[22]='m';
	_link1[23]='/';
	_link1[24]='\0';
	char _link2[100];
	_link2[0]='h';
	_link2[1]='t';
	_link2[2]='t';
	_link2[3]='p';
	_link2[4]=':';
	_link2[5]='/';
	_link2[6]='/';
	_link2[7]='s';
	_link2[8]='h';
	_link2[9]='u';
	_link2[10]='s';
	_link2[11]='h';
	_link2[12]='u';
	_link2[13]='o';
	_link2[14]='.';
	_link2[15]='b';
	_link2[16]='a';
	_link2[17]='i';
	_link2[18]='d';
	_link2[19]='u';
	_link2[20]='.';
	_link2[21]='c';
	_link2[22]='o';
	_link2[23]='m';
	_link2[24]='/';
	_link2[25]='\0';
	printf("link1: %s\n link2", _link2, _link2);
	return 0;
}