二进制安全C/C++汇编Shellcode [2021]正确探测到内存映射的模块 "无文件落地"/木马/外挂/后门 @lordtristan ```cpp if(VirtualQueryEx(hProc, lpAddress, &mbi, sizeof(mbi))){ //Use "mbi." here, its just a fast C&p from my source if((dwState & MEM_COMMIT) && ((dwProtect & PAGE_EXECUTE_READWRITE) || (dwProtect & PAGE_EXECUTE_READ)) && !(dwProtect & PAGE_NOACCESS) && !(dwProtect & PAGE_GUARD) && !(dwState & MEM_RELEASE)) { VirtualLock(lpAddress, dwSize); HMODULE hModule; GetModuleHandleExA(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS | GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT, (LPCTSTR)lpAddress, &hModule); if(!hModule) //Inside of the exe file { DWORD dwDLLMain = FindPattern((DWORD)lpAddress, dwSize, (BYTE*)"\x55\x8b\xec\x83\x7d\x0c\x01\x75\x00", "xxxxxxxx?"); if(dwDLLMain) { //DLL-Main inside of the exe file?! //Do whatever yo uwant now :D } } VirtualUnlock(lpAddress, dwSize); } } ``` 阅读全文 2021-03-16 huoji 0 条评论
APT研究系统安全二进制安全C/C++汇编 [2021]CVE-2018-8897简单理解笔记 这是我从CVE-2018-8897中学习的一个小笔记 段寄存器的一个问题, 当出现段寄存器操作的时候,mov和pop等,都会发出一个中断,但是中断会在下一个指令执行完毕后才触发,这个是intel CPU设计的一个特性,而CVE-2018-8897就是利用这个特性在下一个指令面前加一个硬件断点 下一条指令是int3 int3在内核中会交换gs,然后此时R3的硬件断点就会被处理,并且交给R3的异常处理程序,这个时候我们就可以操作KPCR的内容从而R3直接进入内核. 具体如何操作可以移步can1357的博客: https://blog.can.ac/2018/05/11/arbitrary-code-execution-at-ring-0-using-cve-2018-8897/ 阅读全文 2021-03-13 huoji 0 条评论
python [2021]机器学习之储存StandardScaler归一化后的参数 有没有遇到过这种情况: 训练模型归一化后,实际使用发现忘了保存之前使用的归一化的mean和std! 就各种懊恼 python提供了简单的方法在训练时候保存归一化的mean和std ```asp from joblib import dump from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(data) dump(scaler, 'scaler_filename.joblib') ``` 你实际使用的时候加载即可: ```asp from joblib import load scaler = load('scaler_filename.joblib') transformed_data = scaler.transform(new_data) ``` 阅读全文 2021-03-07 huoji 0 条评论