|
新手又遇拦路虎之 OD跟踪程序重新启动计算机(怪怪怪)
楼上的前辈比我还先遇到这个问题,呵呵~~~看了你的帖子了.但是仍然没有解决我的问题, OD里 按F9和F7/F8 就有区别?二: OD调试程序的时候(以加载的方式调试)是怎么样的呢?是不是将目标程序直接作为自己的一个线程来呢,还是杂回事 |
|
新手又遇拦路虎之 OD跟踪程序重新启动计算机(怪怪怪)
这篇不光是文章呵~~~~,还有问题呢!!!请大家瞧瞧 |
|
开始代码是这样的是什么壳?
严重错误!!呵呵,楼上的说的是实话,我开始把跳转地址看错了,看成472002了 |
|
开始代码是这样的是什么壳?
我有个经验,就是一旦出现大量的add [ax]...(0)指令就说明没对头.可能不是什么开头,再仔细看看.这样的开头又没有SEH支持,100%程序崩溃.因为eax的值未知,多半是个非法地址.如果这真的是入口点,那你注意下Import表,看看有什么DLL没有 |
|
如何写一个跨进程的LoadLibraryA?(谢谢大家了)
DLL注入的方法是最简单的方法,不过可能会被跟踪到,我发现OD有个功能是 (断在新的线成). |
|
[求助]关于双进程的问题~
说起可能没多少参考价值的,下面发一部分代码给你看下,可能对你有一定帮助. 下面这段代码是我实现双进程的一个部分,是将代码插入进去.被插入的代码首先会调用一个子函数,这个子函数用于寻找API.当然所有的代码都是重定位处理的. 其他的还有两个子函数是用在远程线程上的,还没测试好,所以不敢发,有兴趣可以找我,一起研究下 Inject_Code proc uses edi esi ebx dwProtect:DWORD,codesize:DWORD,Run:DWORD,RunAddr:DWORD,Reset:DWORD LOCAL p32:PROCESSENTRY32 LOCAL m32:MODULEENTRY32 LOCAL hShot:DWORD LOCAL buf[255]:BYTE LOCAL hMem:DWORD LOCAL hMod:DWORD LOCAL curProcess:DWORD LOCAL hThread:DWORD LOCAL dwCount:DWORD and dwCount,0 push NULL push TH32CS_SNAPPROCESS call DWORD ptr [ebx+CreateToolhelp32Snapshot1] test eax,eax jnz @f jmp @ERROR_EXIT @@: mov hShot,eax mov p32.dwSize,sizeof PROCESSENTRY32 lea eax,p32 push eax push hShot call DWORD ptr [ebx+Process32First1] .while eax mov eax,p32.th32ProcessID mov edx,eax .if eax==dwProtect || edx==0 ;跳过参数中指明不进行的 jmp _continue .endif ;mov edx,Reset ;.if eax<1000 && edx<=0 ;跳过系统进程和服务进程 ;jmp _continue ;.endif mov eax,p32.th32ProcessID push eax push NULL push PROCESS_ALL_ACCESS call DWORD ptr [ebx+ OpenProcess1] .if eax==NULL jmp _continue .endif mov curProcess,eax lea eax,[ebx+dwTemp] push DUPLICATE_SAME_ACCESS push NULL push PROCESS_VM_OPERATION or PROCESS_VM_WRITE or PROCESS_VM_READ push eax push curProcess push DWORD ptr [ebx+hProcess] push DWORD ptr [ebx+hProcess] call DWORD ptr [ebx+DuplicateHandle1] push DWORD ptr [ebx+dwTemp] pop DWORD ptr [ebx+sProcess] push PAGE_EXECUTE_READWRITE push MEM_COMMIT or MEM_RESERVE push codesize push NULL push curProcess call DWORD ptr [ebx+ VirtualAllocEx1] or eax,eax jz @ERROR_EXIT mov hMem,eax lea eax,[ebx+EggShell_Startup] push NULL push codesize push eax push hMem push curProcess call DWORD ptr [ebx+ WriteProcessMemory1] or eax,eax jz @ERROR_EXIT mov edx,Run .if edx>0 ;mov edx,hMem mov edx,RunAddr lea eax,[ebx+EggShell_Startup] sub edx,eax mov eax,hMem add edx,eax lea eax, hThread push eax push 0 push NULL push edx push 0 push NULL push curProcess call DWORD ptr [ebx+CreateRemoteThread1] .if eax<=0 push MEM_RELEASE push 0 push hMem push curProcess call DWORD ptr [ebx+ VirtualFreeEx1] xor eax,eax jmp _continue .endif inc dwCount mov edx,Run .if dwCount>=edx .break .endif mov hThread,eax .endif _continue: mov p32.dwSize,sizeof PROCESSENTRY32 lea eax,p32 push eax push hShot call DWORD ptr [ebx+Process32Next1] .endw push hShot call DWORD ptr [ebx+CloseHandle1] mov eax,dwCount @ERROR_EXIT: ret Inject_Code endp 下面是一个调用的例子,有注释,你只要一看就明白函数功能了 call DWORD ptr [ebx+GetCurrentProcessId1] lea edx,[ebx+EggShell_Startup] lea ecx,[ebx+Inject_1] push 0 ;是否重新启动计算机 push ecx ;远程线程的入口点函数地址 push 1 ;是否执行远程线程(大于0),和远程线程的数量(将接近不大于用户进程的数量) push EggShell_End-EggShell_Startup ;代码长度 push eax ;指明不操作的进程ID,-1代表所有进程都要操作 call Inject_Code |
|
[求助]关于双进程的问题~
这位兄弟,我最近也在写双进程的壳,快完成了,在这里又遇到几个技术问题,想与你讨论一下,第一个就是LoadLibrary的问题,我的填IAT表的部分在 另一个远程线程内执行,但是呢,无法给宿主进程加载DLL,这就需要我自己写一个可以跨进程的LoadLibrary.怎么写呢?一时间还没有一点点思路.再有一个惊喜就是,我发现双进程的壳只要做一点工夫 可以绝对免动态,一动态就立即重新启动计算机了,这样的壳破解难度会加大. |
|
论引入表的合并[原创]
这位大哥厚道啊,呵呵,其实我只是爱开玩笑,别介意,呵呵~~~~我QQ设置已经改过了,可以加了,我初涉壳技术不久,对加密压缩方面知识欠缺.不打算学的太深入,基本上是业余爱好. |
|
论用C++做壳
麻烦兄弟给我们翻译出来,辛苦辛苦,厉害厉害 |
|
论引入表的合并[原创]
别人填充表的时候知道用LoadLibraryA这样的函数来模拟loader三,菜鸟壳才会把程序整崩溃哩,我前几天写了个小壳,很稳定,都测试过了,但是还不敢发上来,我现在先在这里学下更多知识,过十几天等我把壳做起了,发上来,可能要发一部分代码上来,让这里的高手们看看,老子不是好惹的~~ 看雪老大,偶来论坛学了不少东西,既然老大说了,以后晚生自然改过自新.以后用道理. 呵呵,不认识的我的人都会觉得我狂啊,不过还是先向你们这些不了解我的道个歉先.我主要是用asm做壳,VC的我反而觉得更复杂些,不过很想学,希望和这位兄弟交个朋友,以后在破解的道路上,一起哈. 有空可以访问哈我的站点 asm.icpcn.com www.programfan.org 个人 Q 273764089 最近学VC在,希望朋友能提携下 |
|
论引入表的合并[原创]
我最讨厌看到IAT INT IID...这些名词了(说句实在的哈,听不惯的忍了吧),好象挺深奥,就用OriginalFirstThunk FirstThunk表达更容易联系到编程.不是么?呵呵.我觉得合并这些东西 不如对这些东西加密,这样破解难度才大嘛,是不?还有你提到的mem类函数,我估计只有VC才用这些东西吧,其他的人都用[]呵呵,使用范围太狭隘了 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值