|
[求助]写入文件乱码,不知怎么解决
先写入两个字节(Unicode标志) 即0xFF 0xFE,再写文本内容 |
|
[讨论]如何避免浑浑噩噩度日呢?
建议去银行多贷款,每天被银行催款。 |
|
|
|
[分享]个人优化版的GetKeServiceDescriptorTable64
你这个内存搜索不能带通配符, 给你一个带通配的。 int CSearchMem::SearchAddress(int inStartAddr, int inSize, const byte* pOpCode, int inOpSize, bool bDirection, int inOffset) { int inRet = 0; try { if ((0 == inStartAddr) || (inSize <= 0) || (NULL == pOpCode) || (NULL == inOpSize)) { return inRet; } int inFindCount = 0; byte* pData = (byte*)inStartAddr; for (int i = 0; i < inSize; i++, pData++) { const byte* pOpData = pOpCode; for (int j = 0; j < inOpSize; j++, pOpData++) { while (0xFF == *pOpData) { inFindCount++; i++; pData++; j++; pOpData++; } if (*pData == *pOpData) { inFindCount++; i++; pData++; } else { inFindCount = 0; break; } } if (inFindCount == inOpSize) { break; } } if (inFindCount == inOpSize) { inRet = (int)pData - inFindCount; if (bDirection) { inRet = inRet + inOffset; } else { inRet = inRet - inOffset; } } } catch (...) { inRet = 0; } return inRet; } char chOpCode[] = "\x6A\x04\x8D\x86\x5C\x01\xFF\xFF\x50\x6A\x04\x68"; dwRet = SearchAddress(dwModuleBase, dwModuleSize, (const byte*)chOpCode, ::strlen(chOpCode), true, 0x13); |
|
|
|
|
|
[求助]加壳的时候如何同时加vmp和tmd啊
VM加好SDK然后加壳时不要带内存保护,TMD的检测比较强大. |
|
[原创]PE加载器的简单实现
没有异常处理的PE LOAD都是 渣渣。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值