|
|
[推荐]来捏个软柿子
阿牛在组里太谦虚了 |
|
|
|
|
|
[原创]第二阶段第二题代码(比较弱)(看雪金山2007逆向分析挑战赛)
hoho,贴一个学你的
DWORD bKill;
HWND hwin = FindWindow(NULL,"CrackMeApp");
SendMessageTimeout(hwin, WM_CLOSE, 0, 0,0, 200, &bKill);
|
|
|
[原创]第二阶段第二题代码(比较弱)(看雪金山2007逆向分析挑战赛)
帖代码咯,学习 ;)) 看了那个驱动代码,两个进程pid比较接近的时候可以ntopenprocess。所以可以hook PsGetCurrentProcessId 哪个驱动 |
|
|
第二阶段第二题目的答案(ring3下10种,ring0下5种)(看雪金山逆向比赛)
沙发学习先~~~~~~~~;))) |
|
|
[结束][第二阶段◇第三题]看雪论坛.珠海金山2007逆向分析挑战赛
Petite 2.3 - Copyright (c) 1998-2005 Ian Luck. All rights reserved. ---------------------------------------> see PETITE.TXT for details * Reading : notepad.exe Sorry, Petite can't compress this file! (1) 昏迷,就calc.exe可以加 Petite 2.3 - Copyright (c) 1998-2005 Ian Luck. All rights reserved. ---------------------------------------> see PETITE.TXT for details * Reading : calc.exe Compressing : .text : 75441 -> 25164 (33.4%) .data : 3429 -> 1733 (50.5%) Renaming : calc.exe -> calc.exe.bak Writing : calc.exe 114688 -> 69984 (61.0%) |
|
|
[原创]第二阶段第二题代码(比较弱)(看雪金山2007逆向分析挑战赛)
我的随便算几种;))就是个思路而已,大家都说说各自的思路啊 |
|
|
|
|
|
[结束][第二阶段◇第二题]看雪论坛.珠海金山2007逆向分析挑战赛
十三少放出方法大家学习;)))) |
|
|
[结束][第二阶段◇第二题]看雪论坛.珠海金山2007逆向分析挑战赛
这个就是发送WM_CLOSE;)) |
|
|
[结束][第二阶段◇第三题]看雪论坛.珠海金山2007逆向分析挑战赛
5555555555555555555555,怕这个 |
|
|
[原创]第二阶段第二题
上面都是应用层的,驱动的没有环境做,说下思路吧, 一种上面一样,恢复ssdt中的7A处的NtOpenProcess,然后该怎么杀就怎么杀, 这个代码也是一堆 {openprocess,terminate} {createremotethread,exitprocess} 另外采用EPROCESS结构,获取每个线程,然后用PspTerminateThreadByPointer结束每个线程. 这些网上代码都很多的. 另外进程创建以后,windows对象管理器中有handle,但是这样做实在是太得不偿失了, 甚至我们还可以0x0-0xffff枚举句并,呵呵呵,ObReferenceObjectByHandle,枚举出来,比较特征也应该可以做. |
|
|
[原创]第二阶段第二题
alt f4的那个,代码重写下 #include <windows.h> #pragma comment(lib,"user32") int main(int argc, char *argv[]) { HWND hwin = FindWindow(NULL,"crackmeapp"); SetForegroundWindow(hwin); Sleep(20); keybd_event(18,MapVirtualKey(18,0),0,0); keybd_event(115,MapVirtualKey(115,0),0,0); keybd_event(115,MapVirtualKey(115,0),KEYEVENTF_KEYUP,0); keybd_event(115,MapVirtualKey(115,0),0,0); keybd_event(115,MapVirtualKey(115,0),KEYEVENTF_KEYUP,0); keybd_event(18,MapVirtualKey(18,0),KEYEVENTF_KEYUP,0); return 0; } |
|
|
[原创]第二阶段第二题
第三个ring3下恢复被hook的ssdt -->create remote thread,破坏该进程 |
|
|
[原创]第二阶段第二题
重新传,ring3下恢复被hook的ssdt Createremotethread ,exitprocess |
|
|
[原创]第二阶段第二题
ring3下恢复被hook的ssdt Createremotethread ,exitprocess |
|
|
[原创]第二阶段第二题
第三个ring3下恢复被hook的ssdt open processterminate process |
|
|
[原创]第二阶段第二题
////////////头文件//////////////////////////////////////////////////////////// #include <stdio.h> #include <windows.h> #include <tlhelp32.h> ////////////宏定义//////////////////////////////////////////////////////////// ////////////全局变量////////////////////////////////////////////////////////// ////////////函数定义////////////////////////////////////////////////////////// DWORD WINAPI GetPIDbyName(LPTSTR lpName) { HANDLE m_Snap = INVALID_HANDLE_VALUE; PROCESSENTRY32 pe = {sizeof(pe)}; DWORD ret = NULL; { m_Snap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,NULL); if (m_Snap == INVALID_HANDLE_VALUE) goto finally; if (!Process32First(m_Snap, &pe)) goto finally; do if(!lstrcmpi(pe.szExeFile,lpName)) { ret = pe.th32ProcessID; goto finally; } while (Process32Next(m_Snap, &pe)); } finally: { if (m_Snap != INVALID_HANDLE_VALUE) CloseHandle(m_Snap); } return ret; } bool TerminateAProcess(DWORD dwPid) { HANDLE hThreadSnap = NULL; THREADENTRY32 te32; BOOL bThreadFind = FALSE; hThreadSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,NULL); if(hThreadSnap) { te32.dwSize = sizeof(THREADENTRY32); bThreadFind = Thread32First(hThreadSnap,&te32); while(bThreadFind) { if(te32.th32OwnerProcessID == dwPid) { HANDLE hThread = NULL; hThread = OpenThread(THREAD_ALL_ACCESS,FALSE,te32.th32ThreadID); if(hThread) { TerminateThread(hThread,0); CloseHandle(hThread); } } te32.dwSize = sizeof(THREADENTRY32); bThreadFind = Thread32Next(hThreadSnap,&te32); } CloseHandle(hThreadSnap); } return TRUE; } int main(int argc, char *argv[]) { TerminateAProcess(GetPIDbyName("crackmeapp.exe")); return 0; } |
|
|
[原创]第二阶段第二题
// 窗口置前,发送alt f4 #include <windows.h> #pragma comment(lib,"user32") int main(int argc, char *argv[]) { HWND hwin = FindWindow(NULL,"crackmeapp"); SetForegroundWindow(hwin); keybd_event(18,MapVirtualKey(18,0),0,0); keybd_event(115,MapVirtualKey(115,0),0,0); keybd_event(115,MapVirtualKey(115,0),KEYEVENTF_KEYUP,0); keybd_event(18,MapVirtualKey(18,0),KEYEVENTF_KEYUP,0); return 0; } |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值