思立's profile我不是柠檬BlogListsGuestbookMore ![]() | Help |
|
June 26 一个Thunk实现-半抄袭半自已研究#pragma pack(push, 1)template <typename thk, // The class that contains the function to be called.typename pfn, // The function pointer type of the function you'd like calledtypename pfnCallback // The function pointer type that Windows was expecting to call> class cmsThunk{ public :cmsThunk() { m_asm = reinterpret_cast<asm_block*>(::VirtualAlloc(NULL, sizeof(asm_block), MEM_COMMIT, PAGE_EXECUTE_READWRITE)); if (m_asm != NULL){ // This is our assembly language routine: // mov dword ptr [esp+0x4], pThis // b8 aabbccdd mov eax, ourfxn ; Place our routine's address in eax // jmp eax ; run our routine. //m_asm->m_mov = 0x042444C7; m_asm->m_this = NULL; m_asm->m_mov_eax_xb8 = 0xb8; m_asm->m_pfn = NULL; m_asm->m_jmp_eax_byte1_xff = 0xff; m_asm->m_jmp_eax_byte2_xe0 = 0xe0; } }; ~cmsThunk() { if (m_asm != NULL)::VirtualFree( reinterpret_cast<LPVOID>(m_asm), 0, MEM_RELEASE);}; // Request a pointer to the newly created callback.pfnCallback GetThunk(thk* pthis, pfn pfxn); protected : struct asm_block{
DWORD m_mov; thk* m_this; unsigned char m_mov_eax_xb8;pfn m_pfn; unsigned char m_jmp_eax_byte1_xff; unsigned char m_jmp_eax_byte2_xe0;} *m_asm; // This is, though, intel specific.#ifndef _M_IX86#error This thunking code is only functional on Intel x86 platforms#endif // end of intel-inside check.}; #pragma pack(pop)// Description: This routine populates the assembly language thunk and returns the address of the thunk. template <class thk, class pfn, class pfnCallback>pfnCallback cmsThunk<thk, pfn, pfnCallback>::GetThunk(thk* pthis, pfn pfxn) { if (m_asm != NULL){ m_asm->m_this = pthis; m_asm->m_pfn = pfxn; } FlushInstructionCache(GetCurrentProcess(), this, sizeof(cmsThunk)); return reinterpret_cast<pfnCallback>(m_asm); //lint !e1536 !e611}; June 16 激流?顺流逆流终于看完了二集<激流中国>,这部片在网上引起轰动也不是一两天了,几乎是职业愤青的我,却拖到了这个时候才看.看富人与农民工时,几乎落泪,说实话,我都不记得上一次被催泪还是什么时候了. 现在想想,觉得很是讽刺,这样的记录片,国内是永远不会去拍的.甚至于日本人给我们拍好后,稍一出名,真理部就急忙封杀.行政封杀有什么用?网络技术如此 先进的今天,只要稍花心思,随便哪个真理部封杀的东西,都可以轻易搞到,然后再反过来笑他们愚蠢,笑他们自欺欺人.另外觉得讽刺的是,假想百年之后,我们 的子孙再来考察如今的这个时代,最真实最可信材料都来自他人,比如NHK,比如BBC,而他们的祖先,却只会录些颂圣之作,即便有责任感,也只能小心翼翼 地在现实和禁令底线间找平衡. 许多人看完的感觉是,穷人可怜,富人无耻,但我并不赞同这样的观点.现在的中国,残忍和现实到了极点,那些身处底层的人,生活痛苦到了极点.他们的处境, 残忍到让那些过着正常生活,富裕生活的人感到可耻的地步.但是,谁没有追求幸福生活的权利?我们不应该为别人不幸来惩罚自己.如果有责任感,可以大声疾 呼,没有的话,守保好自己的生活也很好.像片中的大富豪,新贵族,他们的赚钱都没有什么不对,资本市场上,人都是逐利的.赚钱是好事,利用人脉赚钱也很 好.虽然片中富人和农民工的生活写照构成了鲜明对比,但是我认为这只是反映了社会现实,而非鼓动人们仇富.NHK的纪录片,总是非常之冷静,鲜有所谓的道 德批判在里面. 真正应该批判是谁?大家心里都明白.富豪生日宴会上,高官们的奴颜媚骨尽显. 而那些农民工呢?他们完全被政府抛弃,他们,和他们的家庭,完全处于自生自灭的状况.教育要钱,医疗要钱,生活要钱,而所有的这些钱,全是那些朴实善良的 农民工们一分一文地卖苦力得来的.完全是应该拖以援手的弱势群体,这时政府去哪儿了呢?官员们大概还醉倒在富豪们的酒宴上吧. 我并不认为平均主义是好,一个社会,有一定贫富差距,才有发展的动力.但是,这一切的前提是有一个公平合理的外部环境.像中国这样,贫富两极分化如此严 重,贫富两极之间沟壑也越来越宽,富人垄断一切,贫者没有半点机会,甚至于为基本的生存发愁.这样的社会,发展下去,我真不知道会怎样.我只是觉得,农民 工的生活越来越艰难,如果他们哪天发现,无论怎么努力,也养活不了自己和远在故乡的亲人,他们中间有不少人大概会铤而走险,去偷,去抢,男为盗,女为娼, 因为除此之外,也没有别的活路了. June 09 最佳金句-来自连岳一个人的勇气与耐性,只能支撑若干次的挫折,我认为不要把它浪费在小事上,留着它,培养它,壮大它。有一天,你会像巴尔扎克一样,需要用它来征服巴黎;你会像汉尼拔将军一样,需要用它来翻越暴风雪中的阿尔卑斯山。 zt from 连岳《我是鸡汤》 June 07 还有没有天理?最近GFW疯了,彻底疯了.这就是和谐社会啊.和谐吧,和谐吧,总有一天我们上网看到的除了一本正经的谎言,就是新浪的黄色小广告.什么什么互联网,这么多网站不能使用,我能去告电信吗? 订阅的blog挂掉一半,除了牛博的,还有大牛的.咱们的政府就和阿Q没两样,本来只是不能说"癞",现在"光"啊,"亮"啊也不能说了.但是,别人不说,你照样是头顶长疮,脚底流胧.防民之口,甚于防川.这样有意思吗? 这些封了就算了,为什么连flickr也封?国内这么多付费用户,他们的钱都白交了,交了钱却享受不了服务,这不是坑自己的国民,便宜外国人吗?先是维基,再是blogspot,现在连flickr都不能用了.下一个是什么呢?Youtube? 封吧,封吧,和谐吧,和谐吧,和谐到无谐可和的地步,就是他们的灭亡之日. |
|
|