|
Armadillo脱壳请教
在计算RVA的时候碰见一个问题,RVA是如何计算出来的。参照帖子所诉修改程序的入口点。用OD载入居然找不到CALL [XXXXXXX]的地方。有没有其他方法来计算RVA呢? |
|
Armadillo脱壳请教
似乎快结束了,感觉还是原地不动。。。 |
|
Armadillo脱壳请教
谢谢 RAV=00F56000-00400000=B56000,size=544是么? 我使用Import 1.6F 填入RAV=B56000 size=548然后get imports得到结果 IAT read successfully. rva:00B560C0 forwarded from mod:ntdll.dll ord:0258 name:RtlGetLastWin32Error rva:00B56110 forwarded from mod:ntdll.dll ord:015C name:RtlRestoreLastWin32Error rva:00B5625C forwarded from mod:ntdll.dll ord:005D name:RtlDeleteCriticalSection rva:00B56264 forwarded from mod:ntdll.dll ord:0226 name:RtlLeaveCriticalSection rva:00B5626C forwarded from mod:ntdll.dll ord:024C name:RtlEnterCriticalSection --------------------------------------------------------------------------------------------------------------------------- Current imports: A (decimal:10) valid module(s) (added: +A (decimal:+10)) 149 (decimal:329) imported function(s). (added: +149 (decimal:+329)) 填入OEP RAV=7B20 提示Invalid dump file! can't match RVA to offset in the dump file 为什么呢? |
|
|
|
Armadillo脱壳请教
的确如你所说,我的基础是比较差。真的很感谢你耐心的帮助。 下面是我的脱壳一些步骤及问题: 00F4A4BF 8985 54D7FFFF mov [ebp-28AC], eax 00F4A4C5 FF15 7C62F500 call [F5627C] ; kernel32.GetTickCount //在这里我选择内存窗口跟随 00F4A4CB 2B85 50D7FFFF sub eax, [ebp-28B0] 00F4A4D1 3D B80B0000 cmp eax, 0BB8 00F4A4D6 EB 11 jmp short 00F4A4E9 00F4A4D8 8B85 40D9FFFF mov eax, [ebp-26C0] 00F4A4DE 35 C31C724B xor eax, 4B721CC3 00F4A4E3 8985 40D9FFFF mov [ebp-26C0], eax 00F4A4E9 8B85 40D6FFFF mov eax, [ebp-29C0] 00F4A4EF 8985 D0ABFFFF mov [ebp+FFFFABD0], eax 00F4A4F5 FFB5 D0ABFFFF push dword ptr [ebp+FFFFABD0] 00F4A4FB E8 AAB10000 call 00F556AA ; jmp 到 msvcrt.operator delete 00F4A500 59 pop ecx 00F4A501 C705 E8C0F500 6>mov dword ptr [F5C0E8], 0F5CC64 //我在这里设置的断点,也就是中断后输入表处理完毕 00F4A50B C785 94D7FFFF 9>mov dword ptr [ebp-286C], 0F3719B 下面是我在内存跟随窗口看见的 00F55FF4 00000000 00F55FF8 00000000 00F55FFC 00000000 00F56000 77DD761B ADVAPI32.RegOpenKeyExA 00F56004 77DFD5BB ADVAPI32.RegCreateKeyA 00F56008 77DF8F7D ADVAPI32.RegCreateKeyW //中间部分截去 00F5627C 7C80929C kernel32.GetTickCount ////中间部分截去 00F56538 774FDE02 ole32.StringFromGUID2 00F5653C 774FFAC3 ole32.CoCreateInstance 00F56540 77533373 ole32.OleUninitialize 00F56544 774FF6DA ole32.OleInitialize 00F56548 00000000 00F5654C 00000000 00F56550 00010000 UNICODE "ALLUSERSPROFILE=D:\Profiles\All Users" 1、是不是00F56000开始的地方,00F56548结尾的地方呢? 2、这里IAT偏移量是不是00F56000-0040000=B56000呢? 再次谢谢你的无私的帮助 |
|
Armadillo脱壳请教
成功的边缘: 参照教程找到相应的magic jump,现在准备修改IAT可是我不理解教程中这个地方 1、运行ImportREC,选择这个进程。填入RVA=001D7208、Size=000008B4,Get Import剪切掉无效函数,修改OEP RVA=001B83BC,FixDump,正常运行! 教程中的RVA=001D7208、Size=000008B4是如何计算出来的。 2、BP WaitForDebugEvent 中断后取消断点,看堆栈: 0012BCB8 0060F8BF /CALL 到 WaitForDebugEvent 来自 MAGCT.0060F8B9 0012BCBC 0012CD90 |pDebugEvent = 0012CD90 0012BCC0 000003E8 \Timeout = 1000. ms 在数据窗口定位到0012CD90处,准备看OEP值 通过这样我的OEP是00407B20那么我的OEP RVA是00407B20-0040000=7B20这样对么? |
|
Armadillo脱壳请教
麻烦谁帮我看看我的问题。 我参照文档手动脱壳,可是在修复IAT是修改magic jump可是我怎样也没有找到magic jump。谁能提示一下如何找到magic jump呢? 谢谢各位的帮助 |
|
Armadillo脱壳请教
麻烦fly老大帮我看看我上面编辑后的脱壳纪录是否有问题。 下面这是我扫描后的结果能介绍给我那篇教程适合么? 我使用的XP 英文版这个对脱壳有影响么? <------- 21-09-2006 17:57:11 -------> C:\Program Files\JuBa\JuBa.exe !- Protected Armadillo Protection system (Basic) !- <Protection Options> Debug-Blocker CopyMem-II Enable Strategic Code Splicing Enable Memory-Patching Protections !- <Backup Key Options> Fixed Backup Keys !- <Compression Options> Best/Slowest Compression !- <Other Options> !- Child detach Child process ID: 00000250 Entry point: 0065AB63 Original bytes: 558B |
|
Armadillo脱壳请教
用脱壳机脱了一次,不能运行,出错。 这是我参照http://bbs.pediy.com/showthread.php?threadid=13223教程修改的结果。 0064B1F3 /EB 05 jmp short JuBa.0064B1FA 0064B1F5 |E8 74FBEBF9 call FA50AD6E 0064B1FA \83BD CCF5FFFF 0>cmp dword ptr ss:[ebp-A34],0 0064B201 0F8C A8020000 jl JuBa.0064B4AF 0064B207 8B8D CCF5FFFF mov ecx,dword ptr ss:[ebp-A34] 0064B20D 3B0D D4636800 cmp ecx,dword ptr ds:[6863D4] 0064B213 0F8D 96020000 jge JuBa.0064B4AF //最后我断在0064B4AF,然后用Dump第二个进程。运行提示This program has been damaged, possibly by a bad sector of the hard drive or a virus. Please reinstall it.是否脱壳不成功? 0064B219 8B95 40F6FFFF mov edx,dword ptr ss:[ebp-9C0] 0064B21F 81E2 FF000000 and edx,0FF 0064B225 85D2 test edx,edx 0064B227 0F84 AD000000 je JuBa.0064B2DA 0064B22D 6A 00 push 0 0064B22F 8BB5 CCF5FFFF mov esi,dword ptr ss:[ebp-A34] 0064B235 C1E6 04 shl esi,4 0064B238 8B85 CCF5FFFF mov eax,dword ptr ss:[ebp-A34] 0064B23E 25 07000080 and eax,80000007 0064B243 79 05 jns short JuBa.0064B24A 0064B245 48 dec eax 0064B246 83C8 F8 or eax,FFFFFFF8 0064B249 40 inc eax 0064B24A 33C9 xor ecx,ecx 0064B24C 8A88 BC3D6800 mov cl,byte ptr ds:[eax+683DBC] 0064B252 8B95 CCF5FFFF mov edx,dword ptr ss:[ebp-A34] 0064B258 81E2 07000080 and edx,80000007 0064B25E 79 05 jns short JuBa.0064B265 0064B260 4A dec edx 0064B261 83CA F8 or edx,FFFFFFF8 0064B264 42 inc edx 0064B265 33C0 xor eax,eax 0064B267 8A82 BD3D6800 mov al,byte ptr ds:[edx+683DBD] 0064B26D 8B3C8D 84F36700 mov edi,dword ptr ds:[ecx*4+67F38> 0064B274 333C85 84F36700 xor edi,dword ptr ds:[eax*4+67F38> 0064B27B 8B8D CCF5FFFF mov ecx,dword ptr ss:[ebp-A34] 0064B281 81E1 07000080 and ecx,80000007 0064B287 79 05 jns short JuBa.0064B28E 0064B289 49 dec ecx 0064B28A 83C9 F8 or ecx,FFFFFFF8 0064B28D 41 inc ecx 0064B28E 33D2 xor edx,edx 0064B290 8A91 BE3D6800 mov dl,byte ptr ds:[ecx+683DBE] 0064B296 333C95 84F36700 xor edi,dword ptr ds:[edx*4+67F38> 0064B29D 8B85 CCF5FFFF mov eax,dword ptr ss:[ebp-A34] 0064B2A3 99 cdq 0064B2A4 B9 1C000000 mov ecx,1C 0064B2A9 F7F9 idiv ecx 0064B2AB 8BCA mov ecx,edx 0064B2AD D3EF shr edi,cl 0064B2AF 83E7 0F and edi,0F 0064B2B2 03F7 add esi,edi 0064B2B4 8B15 B8636800 mov edx,dword ptr ds:[6863B8] 0064B2BA 8D04B2 lea eax,dword ptr ds:[edx+esi*4] 0064B2BD 50 push eax 0064B2BE 8B8D CCF5FFFF mov ecx,dword ptr ss:[ebp-A34] 0064B2C4 51 push ecx 0064B2C5 E8 96210000 call JuBa.0064D460 0064B2CA 83C4 0C add esp,0C //修改代码如下 0064B2CD FF85 CCF5FFFF inc dword ptr ss:[ebp-A34] 0064B2D3 C705 D8636800 0>mov dword ptr ds:[6863D8],1 0064B2DD ^ E9 18FFFFFF jmp JuBa.0064B1FA //不知道为什么下面的代码会变成90 0064B2E2 90 nop 0064B2E3 90 nop 0064B2E4 90 nop 0064B2E5 90 nop 我用了自动脱壳机脱完后不能运行,也不知道问题所在? |
|
Armadillo脱壳请教
用脱壳机脱了一次,不能运行,出错。 |
|
Armadillo脱壳请教
抱歉,没有看清发贴要求。 现在我重新脱了一次,有两个进程 PID=AB0,PID=DA4 我用AB0进程脱完后运行提示 This program has been damaged, possibly by a bad sector of the hard drive or a virus. Please reinstall it. 用DA4则什么提示都没有。 看看进程有两个DA4.exe (我dump PID=DA4的程序),那个才是我要的呢,还是我根本没有做对呢。 有些时候相联系作者问讯问题该怎么做呢? 谢谢。 |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值