|
[原创]Themida VM 代码还原
强帖!学习。 |
|
[分享]弱弱的放在这里:C/C++ for Win32编程,题目待定
楼主写了这么多,一定要顶一下。 |
|
|
|
[求助]一个聊天软件的Key算法!
你很有意思 |
|
[讨论]论坛是否有必要开设『手机安全』版块
不同的手机,其程序的编译器可能不同。没有硬件平台,不知道如何调试?我对手机这块了解为零,不知道说的对不对。不过以前接触的嵌入式就是专用编译器和平台。手机应该差不多吧。 |
|
[原创]杀毒软件新构想,解决木马新思路.
你去分析一下SKYPE和百度HI就知道网络不是你想象的那样了,另外“木马母体里面设计SEH,当执行虚拟机时就退出”,其实你的代码还没有执行就已经被杀了。如果真的那么简单,杀毒软件还有人用吗。 |
|
[求助]搞破解能发学术论文吗?
你的情况和我一个朋友类似,根据他的话,论文发表很难有人点评。因为搞这行的人太少了。 |
|
[原创]杀毒软件新构想,解决木马新思路.
我觉得楼主没有很好理解网络通信解密。想法很好,可惜无法实现。 1,通信加密很简单,假如我的通信采用普通的HTTP端口,再通过SSL加密,杀毒软件何以识别?难道封杀所有使用HTTP协议的程序?并不是所有的通信都是可以解密的,这牵涉密码学。即使可以解密,恐怕病毒分析师要给搞疯掉。 2,对于蠕虫病毒,不通过网络方式传播?怎么分析通信异常? 3,对于加壳软件(即使是自己写的新壳),目前的杀毒软件采取的新技术——虚拟机脱壳引擎。因为任何壳运行的时候肯定自解压解密。先诱使其自解压,然后通过特征码查找还是可以杀的。我写的一个外壳给病毒加壳测试后发现无法躲避虚拟机脱壳引擎的查杀。 总的说来通过特征码杀毒还是最高效和可行的方式。 |
|
[原创]另类挂钩-RING3数据包监视
好贴,学习了。 |
|
[讨论]学Delphi还是学C破解好呢?
C的资料更多更详细,C最接近汇编,有助与理解反汇编代码,我推荐C。如果不是专业从事计算机行业则推荐Delphi,因为简单。 |
|
[讨论]驱动环境的疑惑....需要这么麻烦吗?
《WINDOWS驱动技术开发详解》里面有详细的VC编译环境设置方案,楼主可以买本来看看。 |
|
[原创]将EXE作为线程注入
我在这里主要说的是一种思路,其实没有什么技术含量。对于没有重定位表的EXE来说,处理思路上是一样的。不过实现起来就复杂了很多,因为别的EXE中本身就没有对输入函数地址的重新处理函数,因此需要加入一些代码段,就像外壳引导部分一样,之后一起注入。此外就是重定位的问题。没有重定位表的EXE需要对转跳后的地址进行处理。至于代码,网上找一些相关代码组合组合也就成了。 |
|
[原创]将EXE作为线程注入
郁闷,帖子没人顶,还是继续潜水的好。 |
|
你们学习破解的动力是什么呵
工作就是搞逆向,混口饭吃而已!呵呵. |
|
[求助]自校验的实现
DWORD CRC32(BYTE* ptr,DWORD Size) { DWORD crcTable[256],crcTmp1; //动态生成CRC-32表 for (int i=0; i<256; i++) { crcTmp1 = i; for (int j=8; j>0; j--) { if (crcTmp1&1) crcTmp1 = (crcTmp1 >> 1) ^ 0xEDB88320L; else crcTmp1 >>= 1; } crcTable[i] = crcTmp1; } //计算CRC32值 DWORD crcTmp2= 0xFFFFFFFF; while(Size--) { crcTmp2 = ((crcTmp2>>8) & 0x00FFFFFF) ^ crcTable[ (crcTmp2^(*ptr)) & 0xFF ]; ptr++; } return (crcTmp2^0xFFFFFFFF); } bool isModified = false; void CheckCRC32() { DWORD dwNumberOfBytesReadWritten; HMODULE hmod; HGLOBAL hMemory; LPVOID pMemory; DWORD dwFileSize; CHAR szFileName[128]; hmod = ::GetModuleHandle(0); ::GetModuleFileName(hmod, szFileName, MAX_PATH);//获取自己的句柄 HANDLE hFile = ::CreateFile(szFileName, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, 0);//打开自己 if(hFile != INVALID_HANDLE_VALUE) dwFileSize = ::GetFileSize(hFile, NULL);//如果打开成功则分配内存 hMemory = ::GlobalAlloc(GMEM_MOVEABLE|GMEM_ZEROINIT, dwFileSize); pMemory = ::GlobalLock(hMemory);//锁定内存 ReadFile(hFile, pMemory, dwFileSize, &dwNumberOfBytesReadWritten, NULL);//读取文件 ::CloseHandle(hFile); DWORD dwCOFFHead, dwReserved; DWORD OriginalCRC32; BYTE* Version; BYTE* pDosHead; char CRC_ERROR[] = "CRC_ERROR!"; pDosHead = static_cast<BYTE*>(pMemory) + 0x3c;//指向DOS头最后的指针 dwCOFFHead = *((DWORD*)pDosHead); //获取COFF入口地址偏移值 dwReserved = dwCOFFHead + 0x4c; //获取校验值偏移值 Version = static_cast<BYTE*>(pMemory) + dwReserved; //指向校验值地址 OriginalCRC32 = *((DWORD*)Version);//获取CRC校验值 *((DWORD*)Version) = 0;//将CRC校验值清空 DWORD NowCRC32 = CRC32((BYTE*)pMemory, dwFileSize); //进行CRC校验计算 if(OriginalCRC32 != NowCRC32) { } } |
|
加载程序的时候自动关闭OD
OD打不开的话,可以使用IDA.再厉害的软件总不能关掉静态反汇编器吧! |
|
加载程序的时候自动关闭OD
看看程序是不是调用PostMessage 或者SendMessage给OD发送QUIT消息,如果有,跳过就行了。 |
|
|
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值