|
[求助]帮忙解释一段汇编代码,谢谢
invoke GetModuleFileName,NULL,addr @szFileName,MAX_PATH add eax,addr @szFileName @@: dec eax cmp byte [eax],'\' jnz @b inc eax eax=Name |
|
[求助]一个奇怪变异upx壳的脱壳后的修复问题
upx: scantty.exe: IOException: scantty.exe: Permission denied 看起來是这个文件夹受保护,禁止写入。Upx未能完成全部的脱壳过程。 |
|
[求助]关于PE文件校验和的问题,具体看代码如下
算法只要能在一定范围内提供唯一性就行了,不一定非要用什么知命的算法。至于为什么是915C,那是因为它算出来的结果就是这个数字。 |
|
[解]Safengine 2.1.5版本的壳 - 大家练练手
外层PeCompact+Safengine Shielden 2.1.5 释放的2个文件都是Vmp加壳。 你遇到的问题,很可能是外面还有一层壳,它释放的这个文件Oep第一个字节是0xB8,但是出于什么目的而被修改成了0xEB。 |
|
[求助]新人脱壳:如果EXE是注入器,DLL在EXE里,前提DLL不释放,怎么脱呢?在线等
必须以某种形式释放。无论你是拦截还是模仿,始终都必须释放。 |
|
[原创][原创]22行vb代码,欢迎被破解!
练习的话,最好是从C语言的程序开始,推荐是SDK的C/C++编写的程序,如果使用MFC之类的,那封装太复杂了。 至于破解,一般都是先逆向,弄清楚对方想做成什么,当然如果改一个跳转就能完成注册的话,没人愿意去做注册机。 至于你想的,推荐你先从理解HelloWorld开始,然后给自己一点点的下套,之后再去理解这个套的表现形式,之后去想怎么让自己跳不出这个套,再研究对抗策略,如此循环,想必提高会很快的。 最好的启蒙有时候还是靠自己,因为,最重要的资源在你手中。 |
|
[原创][原创]22行vb代码,欢迎被破解!
Void KeyGen() { SYSTEMTIME st; GetLocalTime(&st); int32 pwd=(int32)(123*st.wHour); char CNBuffer[MAX_PATH]; GetComputerName(CNBuffer,MAX_PATH); printf("Name: %s%c","wlz",CNBuffer[0]); printf("Number: %d",pwd); } 楼主,您这种注册思路不科学…… |
|
[求助]求教怎样改代码的方法
右键,复制到可执行文件,选择。保存 |
|
[原创]-------------------NTdll函数里有没有获取子进程PID的API--------DLL独立运行位进程问题
windows的加载策略是,你提供一些正确的信息,然后我完成加载。至于其他的信息正确与否,无所谓。 所以在windows下,可执行文件可以是任意后缀名,动态链接库也可以是任意后缀名。然而windows外壳explorer.exe只注册了.exe后缀的执行命令,所以一个.dll后缀的可执行文件,则必须调用者自己使用API来完成启动。 启动之后,这个.dll文件将构成新进程的执行主体。 不过,按你说的情况除了上面的可能还会有另一种情况,调用者使用rundll32.exe来运行这个DLL,其内部实现模式是这样的,首先运行rundll32.exe,然后它会处理自己的命令行,然后去LoadLibrary参数中的Dll,如果后面还有一个参数,则GetProcAddress以这个参数为名的导出函数,如果后面还有参数,则将这些参数作为这个导出函数的参数压栈,之后调用导出函数本身。 对于你的问题: 问题一: 若是上面第一种情况,那么你要么去拦截EXE中启动DLL的API所传入的参数,要么侵入DLL进程去call GetCommandLineA/W 若第二种情况,我想我说的也很明白了。 问题二: 如果是上面第一种情况,同样的,可以去拦截EXE中启动DLL的API传入的参数的返回值(针对CreateProcess),也可以CreateToolHelp32Snapshot,我想这个你也很熟练的。 如果是上面第二种情况,那么这个DLL不存在PID,它寄身于rundll32.exe的进程中。 |
|
[原创]密码算法,不要走老套路
单向加密算法在召唤您…… |
|
[求助]-------------------------------------------求Delphi高手改一个小程序----------关于DLL注入程序源码以贴
这个Unhook由用户dll来完成,我的Preload代码中间自带反重复注入。 |
|
[求助]什么是壳?什么是保护?
这么说吧,好比你是一只色狼,对面有一位美女风情无限,可是她身上着装把你心中最美好的部分遮盖的严严实实的。 |
|
[讨论] 求助一个dll如何自动更新的问题..
其实可以这样。 首先dll检查是否有更新,如果有的话则下载新文件,新文件的文件名必须和原文件不同或者放在其它路径下。然后申请一块内存把更新函数的代码考进去执行。 代码不用太复杂,只要传递两个参数就行,一个是当前模块的基址,另一个是新文件的路径。首先调用freelibrary释放当前模块,然后把新文件覆盖进来即可。当然考虑到一些因素,你也可以把这部分专门做成一个dll来调用。 不过如果你的dll注入过度,或者是其他代码的运行依赖的话,也许你还需要考虑一些其它的问题 |
|
[求助]-------------一个API---ZwQueryObject-----------------delphi高手进来看下---------源码以贴,谢谢啦
msdn:请检查ZwQueryObject的返回值,若为STATUS_INFO_LENGTH_MISMATCH,则表示ObjName的缓冲区不够大(The info length is not sufficient to hold the data)。另外这个函数的输出是对象的信息,不清楚是不是里面只有一个名字。 另外看看返回值是不是STATUS_ACCESS_DENIED拒绝访问之类的。 |
|
[求助]-------------------------------------------求Delphi高手改一个小程序----------关于DLL注入程序源码以贴
就这样吧,我也不会Delphi,由于VC2011默认Unicode规范,所以,你看着办吧。 通过编译,但是功能应该不会有问题。 #include <windows.h> #include <WinBase.h> #include <TlHelp32.h> bool EnabledDebugPrivilege() { TOKEN_PRIVILEGES tp; HANDLE hToken; DWORD temp; bool return_value=FALSE; if (OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,&hToken)) { tp.PrivilegeCount=1; LookupPrivilegeValue(NULL,L"SeDebugPrivilege",&tp.Privileges[0].Luid); tp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL,&temp); if (ERROR_SUCCESS==GetLastError()) { return_value=TRUE; } CloseHandle(hToken); } return return_value; } int InjectProcess(PWCHAR FileName,PWCHAR MatchPath,DWORD ProcessID,PWCHAR strInjectDll) { int return_value=0; BOOL bInject=FALSE; BYTE InjectPreLoad[]={ 0x55, 0x8B, 0xEC, 0x83, 0xC4, 0xF0, 0x60, 0x64, 0xA1, 0x30, 0x00, 0x00, 0x00, 0x8B, 0x40, 0x0C, 0x8B, 0x40, 0x0C, 0x8B, 0x00, 0x8B, 0x00, 0x8B, 0x58, 0x18, 0x8B, 0x43, 0x3C, 0x03, 0xC3, 0x8B, 0x40, 0x78, 0x03, 0xC3, 0xFF, 0x70, 0x14, 0x8F, 0x45, 0xF0, 0x8B, 0x78, 0x1C, 0x03, 0xFB, 0x8B, 0x70, 0x20, 0x03, 0xF3, 0x56, 0xAD, 0x03, 0xC3, 0x33, 0xC9, 0x33, 0xD2, 0x8A, 0x10, 0x40, 0x03, 0xCA, 0xC1, 0xC1, 0x07, 0x80, 0xFA, 0x00, 0x75, 0xF3, 0x81, 0xF9, 0xAB, 0x53, 0x4E, 0x73, 0x75, 0x11, 0x8B, 0xC6, 0x2B, 0x04, 0x24, 0x03, 0xC7, 0x83, 0xE8, 0x04, 0x8B, 0x00, 0x03, 0xC3, 0x89, 0x45, 0xFC, 0x81, 0xF9, 0x61, 0x97, 0x2B, 0xDD, 0x75, 0x11, 0x8B, 0xC6, 0x2B, 0x04, 0x24, 0x03, 0xC7, 0x83, 0xE8, 0x04, 0x8B, 0x00, 0x03, 0xC3, 0x89, 0x45, 0xF8, 0x81, 0xF9, 0x37, 0xC4, 0xF7, 0xFF, 0x75, 0x11, 0x8B, 0xC6, 0x2B, 0x04, 0x24, 0x03, 0xC7, 0x83, 0xE8, 0x04, 0x8B, 0x00, 0x03, 0xC3, 0x89, 0x45, 0xF4, 0xFF, 0x4D, 0xF0, 0x75, 0x9C, 0x5E, 0x64, 0xA1, 0x18, 0x00, 0x00, 0x00, 0x83, 0xC0, 0x20, 0x50, 0x6A, 0x00, 0x6A, 0x00, 0xFF, 0x55, 0xF8, 0x83, 0xF8, 0x00, 0x75, 0x20, 0x64, 0xA1, 0x18, 0x00, 0x00, 0x00, 0x83, 0xC0, 0x20, 0x50, 0x6A, 0x00, 0x6A, 0x00, 0x6A, 0x00, 0xFF, 0x55, 0xFC, 0xE8, 0x00, 0x00, 0x00, 0x00, 0x83, 0x04, 0x24, 0x0A, 0xFF, 0x55, 0xF4, 0x61, 0xC9, 0xC3}; PROCESSENTRY32 pe; HANDLE hSnapshot; hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); if (Process32First(hSnapshot,&pe)) { do { bInject=FALSE; WCHAR *pExeFileName=pe.szExeFile; while (*pExeFileName!='\\') pExeFileName--; *(pExeFileName-1)=0; if (lstrcmpi(pExeFileName,FileName)) { if (MatchPath && lstrcmpi(pe.szExeFile,MatchPath)) { return_value++; bInject=TRUE; } } if (!bInject && pe.th32ProcessID==ProcessID) { return_value++; bInject=TRUE; } if (bInject) { HANDLE hProcess; if (hProcess=OpenProcess(PROCESS_CREATE_THREAD + PROCESS_VM_OPERATION,false,pe.th32ProcessID)) { PBYTE PreloadBuffer=(PBYTE)(VirtualAllocEx(hProcess,NULL,sizeof(InjectPreLoad),MEM_COMMIT,PAGE_EXECUTE_READWRITE)); DWORD temp; WriteProcessMemory(hProcess,PreloadBuffer,InjectPreLoad,sizeof(InjectPreLoad),&temp); WriteProcessMemory(hProcess,PreloadBuffer+sizeof(InjectPreLoad),strInjectDll,lstrlen(strInjectDll),&temp); CloseHandle(CreateRemoteThread(hProcess,NULL,NULL,(LPTHREAD_START_ROUTINE)PreloadBuffer,NULL,NULL,NULL)); CloseHandle(hProcess); } } } while (Process32Next(hSnapshot,&pe)); } CloseHandle(hSnapshot); } |
|
[分享]在发一本网络游戏饭碗
说好的下载地址呢? |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值