Tag: flare-on

[Tản mạn] Flare-on 2016, tình đời và tình người

screenshot-2016-flare-on-com-2016-10-13-14-28-19

Đối với tôi, mùa thu năm nào cũng thế, thật là đẹp nhưng buồn như chó cắn. Cứ có cái bộn bề bức bối mà không biết tiết phát vào đâu. May mà có cái giải Flare-on, để mà tôi đâm đầu vào chơi cho quên mẹ nó cuộc đời. Rồi thì cũng xong, cũng bon chen giật được một cái huy hiệu đặng về chơi tết cho nó hoành, chỉ nghĩ đến cái viến cảnh mang chiếc huy hiệu về khoe với gia đình, được nhận cái vỗ vai đầy tự hào của cha, và khóe mắt long lanh hàng lệ vì hạnh phúc của mẹ, rồi thì những đứa trẻ trong xóm bám đuôi và tung hô như một vị anh hùng, bà con cô bác xóm giềng ra tươi cười chào đón, và em – cô gái ấy – nhìn tôi với ánh mắt đầy xao xuyến, nửa mừng vui, nửa the thẹn ngại ngùng… Ôi chao, chỉ vậy thôi là đã có tinh thần rồi. Không, hi vọng đó là tôi của ngày sau, chứ không phải là tôi của hiện tại. Xin lỗi, tôi ôm cua hơi rộng. Đại để là thi xong rồi định viết một seríes writeup thật là hoành để làm màu và lấy số, nhưng đọc lại được bài viết của anh Kiên và anh Sẻ, tôi cũng tự nhủ lòng mình rằng sẽ theo bước các đàn anh, viết nên một cái gì đó trầm lắng hơn một chút, ủy mị hơn một chút, để giãi bày cái tâm tư thầm kín che giấu bấy lâu nay. Thêm nữa là, mấy đứa em tôi hay nói “Anh chả có mẹ gì, chỉ toàn làm màu”. Tôi ức lắm, tôi sẽ viết bài này thật tốt, để chứng minh rằng anh trai của chúng nó cũng rất có tiền đồ trong cái sự nghiệp viết văn trào phúng, và các thể loại văn học kích động quần chúng. Ngoài những lúc đê hèn lầy lội ra thì tôi cũng là một người tử tế lắm mà.

Tôi sẽ kể lại câu chuyện của tôi, với mười cô gái đã vội đến vội đi qua đời tôi trong những buổi chiều thu xa vắng ấy. Tôi sẽ viết, viết với “Bảy thơ ca, ba kĩ thuật”, chỉ để muốn nhắn nhủ rằng, khi áp dụng những yếu tố tâm linh vào trong phạm trù kĩ thuật, mọi thứ có vẻ như dễ hiểu hơn hẳn. Có lẽ là vậy.

Challenge 1 – Một chút thoáng qua

Tôi gặp em lần nào chưa nhỉ? Có lẽ là chưa, nhưng cũng có lẽ là rồi, bởi vì tôi thấy em vừa quen vừa lạ. Một cô gái bán hoa nhỏ nhắn và dễ thương, là một điều vừa hoàn hảo, lại vừa thiếu sót, bởi vì em quá tuyệt vời, thế nhưng tiếc cho tôi, và tiếc cho em, chỉ gặp nhau trong thoáng chốc rồi lại tách nhau ra xa mãi mãi. Trong cái khoảng thời gian đó, tôi và em lao vào nhau, nồng nàn và cuồng nhiệt hơn tất thảy, bởi vì ngọn lửa mãnh liệt của tuổi thanh xuân đang thiêu đốt cả hai, khiến tôi và em trở lên điên cuồng và hoang dại. Đó là một khoảnh khắc đê mê và hoan lạc nhất trong cuộc đời, mà tôi sẽ không bao giờ quên. Khi cả hai trần trụi trước mặt nhau, tôi nhận thấy em có một nốt ruồi trên ngực, thứ mà vừa nhìn thấy thôi tôi đã biết ngay em là một người con gái “ĐẢM ĐANG”, và tôi yêu điều đó. Khoảnh khắc dâng trào, mọi thứ như bùng cháy, cuốn trôi đi tất cả mọi thứ trên đời, chỉ còn lại tôi và em … Hai phút sau, tôi lặng lẽ giơ cánh tay mở cửa ban công, rón rén bước ra ngoài rồi châm thuốc hút, để nghĩ về cuộc đời. Tôi quyết định rồi, sắp tới đây tôi sẽ mua sâm về ngậm dần cho quen.

Cách giải: Base64 decođe table, rất dễ để nhận ra, Cờ líp hai phút full không che, một phát đảm bảo lên đỉnh:

import string,base64
std = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
mt = "ZYXABCDEFGHIJKLMNOPQRSTUVWzyxabcdefghijklmnopqrstuvw0123456789+/"
input = "x2dtJEOmyjacxDemx2eczT5cVS9fVUGvWTuZWjuexjRqy24rV29q"
print base64.b64decode(input.translate(string.maketrans(mt, std)))

Challenge 2 – Cô bé ngây thơ

Chà, một cô bé hay nhõng nhẽo và hơi đãng trí. Nhưng chết bỏ mẹ, tôi lại khoái mấy cái kiểu tuổi teen như thế mới khổ chứ, chắc cũng lý giải phần nào trong quá khứ, hồi đó tôi buôn lịch cũng nhiều. Em gấp cho tôi một nghìn con hạc giấy, để trong cái hũ, kiếm một cái hộp bỏ vào rồi khóa thật chặt lại, em giữ cái hộp, đưa cho tôi giữ cái chìa, em nói với tôi “Bao giờ hạc giấy này bay hết ra khỏi cái hộp, thì điều ước của em sẽ thành sự thật”. Tôi cười, bẹo má em một cái và hỏi “Thế em ước điều gì?”, em rúc nhẹ vào lòng tôi và thỏ thẻ nhẹ nhàng “Em ước … các con anh được lớn lên bằng sữa của em”…

Có nghĩa là, hạc giấy sẽ chỉ bay khi tôi mở khóa cho cái hộp. Em muốn đợi tôi, cho đến lúc thành công thì tôi sẽ mang khóa đến trả tự do cho hạc giấy, để hiện thực cho điều ước của em. Thế rồi cái ngày ấy cũng đến, tôi hồ hởi mang chiếc khóa khi xưa đến cho em, nhưng em lắc đầu nói “quên mịa nó cái hộp đấy để đâu rồi”. Thế là tôi lại lục tùng mọi thứ lên, vừa lục vừa hậm hực tự nhủ “Nay ông đến đây rồi, không mở được khóa thì ông cũng quất, chả sợ mẹ gì”. Thế rồi, trời run rủi sao, tôi và em cũng tìm được cái hộp đựng hạc giấy khi xưa, em mở khóa ra thì hạc giấy đâu mất hết, chỉ thấy mỗi một cái chăn con công. Các con tôi thì chưa biết ra sao, nhưng một ai đó lớn lên bằng sữa của em, thì có thật rồi đấy.

Challenge 2: Tìm đúng vị trí đặt file .doc (Briefcase) và patch API CryptEncrypt thành CryptDecrypt.

Challenge 3 – Người lạ

Một người con gái bí ẩn và đầy quyến rũ. Tôi gặp em ở một quán bar, nhìn em rất quý phái, nhưng không kém phần đằm thắm và khêu gợi. Tôi lân la làm quen nói chuyện, nhưng không biết tên em, gặng hỏi thì em không nói mà chỉ mỉm cười, đôi mắt lúng liếng chao qua chao lại và gạt tóc qua một bên để lộ bờ vai trắng ngần và thơm phưng phức. Tôi nuốt nước miếng một cái ực, cố gắng kiềm chế lại một điều gf đó đang trỗi dậy trong người. Một lúc sau do quẩy hơi mạnh, em mệt, lảo đảo đứng dậy ra về, tôi đưa tay ra dìu em. Tóc em lại xõa xuống, để lộ ra phía sau gáy có xăm hình một con bướm nhỏ. Mãi sau này tôi mới biết, tên em là Điệp. Tôi đưa em vào xe tôi, tôi hỏi địa chỉ để tôi đưa em về. Em nói lan man nửa đùa nửa thật là dại khái là “đến nơi nào có bóng dáng em”, làm tôi chạy lòng vòng thấy mệt. Tức mình, tôi chẳng thèm tìm nữa, bẻ lái chạy ngay vào cái Hotel sang chảnh mang tên Hồ Điệp. Chuyện gì đến cũng đến, người đi đường lại nhìn thấy tôi mở cửa ra ban công hút thuốc. Tình cờ nữa là, tôi phát hiển ra rằng khách sạn đó nằm trong chuỗi khách sạn của em, là cái em thích nhất và được đặt theo chính tên em. Em là Việt Kiều về mở vốn kinh doanh chuỗi nhà hàng khách sạn. ĐÚng là oan gia ngõ hẹp, đời tôi lên hương từ đó …

Challenge 3: Tìm đúng tên file và dựa vào đó bruteforce để lấy lại argument. Code C:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int checksum(char* s,int len)
{
	int result = 0;
	for(int i=0;i<len;i++)
	{
		result = s[i] + 37*result;
	}
	return result;
}

int sum_table[0x1A] = {
0xEE613E2F, 0xDE79EB45, 0xAF1B2F3D, 0x8747BBD7, 0x739AC49C, 0xC9A4F5AE, 0x4632C5C1, 0xA0029B24,
0xD6165059, 0xA6B79451, 0xE79D23BA, 0x8AAE92CE, 0x85991A18, 0xFEE05899, 0x430C7994, 0x1AB9F36F,
0x70C42481, 0x05BD27CF, 0xC4FF6E6F, 0x5A77847C, 0xDD9277B3, 0x25843CFF, 0x5FDCA944, 0x8EE42896,
0x2AE961C7, 0xA77731DA};

int main()
{
	char* flarestr = "__FLARE On!";
	char* buf;
	int n = 0;
	int len = strlen(flarestr);
	buf = (char*) malloc(len+1);
	memcpy(buf,flarestr,len);
	char b = buf[1];
	char i;
	while(n<0x1B)
	{
		b=b+1;
		for(i=0x20;i<0x80;++i)
		{
			buf[0] = i;
			buf[1] = b;
			if(checksum(buf,len) == sum_table[n])
			{
				printf("%c", i);
				break;
			}
		}
		n = n+1;
	}
	free(buf);
	return 0;
}
//Ohs0pec1alpwd@flare-on.com

(Còn tiếp)

Advertisements