能力值:
( LV9,RANK:3410 )
|
-
-
2 楼
RVA
-基址
|
能力值:
( LV8,RANK:130 )
|
-
-
3 楼
可能是delphi的程序, 手动定位一下输入表的位置
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
谢谢老大
RVA-基址,如何减呢?这个教程哪儿有?我正在学习那个手动脱壳教程,就是65M那个,我就是根据教程上说的一步一步在做。
另外问问 南蛮妈妈,手动定位一下输入表的位置,哪儿有这方面的教程?只要有一篇经典的就行,感谢。
小弟正处于入门的边缘,能得到你们的帮助,我真的非常感谢!
|
能力值:
(RANK:350 )
|
-
-
5 楼
最初由 wclzxy 发布 手动定位一下输入表的位置,哪儿有这方面的教程?只要有一篇经典的就行,感谢。
........
手动定位输入表的位置看看这篇:
http://www.pediy.com/tutorial/chap8/Chap8-5-5-1.htm
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
3,4年前吧,就来转过老大网页,那个时候没想过学习破解,但自己在学汇编。后来又经常去白菜乐园找软件,都没想过自己学习加密解密,后来由于工作太忙就耽搁了。现在才发觉,那个时候学的汇编对加密解密太重要了。
能得到kanxue老大的回答,非常感谢。对你们这些吃螃蟹的人有了更深的敬仰。
再次感谢kanxue老大。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
不知道对你有没有帮助.按这个方法我脱壳成功,也是delphi程序
接下来就开始脱壳
第一步:用Ollydbg装载要脱壳的软件,装载中会出现个对话框,装载中会出现两个对话框,第一个按‘确定’
第二个按‘否’(我是中文版的,如果英文版的第一个按‘OK’第二个按‘NO’)
第二步:按 Ctrl+B键 或者 右键→搜索→二进制字符 在HEX +03框中输入ASPack壳的各版本通用
特征代码 61 75 08 后按确定程序会停在入口附近。
注意下面一行跳转代码 JNZ SHORT 把光标移到这行代码上,然后设置断点,按F2或者
右键→断点→切换,此时会出来一个对话框选 ‘YES’。这样,断点就设置好了
第三步:按一下F9键运行程序,程序会被暂停住,然后按几次F8键单步跳过(我这里大概按了4次),就会来到入口点(一般入口点的代码特征是:55 PUSH EBP)
第四步:按菜单上面插件→OllyDump→转存调试进程 ,出来对话框按一下
‘获取EIP作为OEP’在按转存,(注意记住OEP的地址,下面还要用到的,本例入
口点的地址是8876C) 。保存文件名为DUMP.EXE。然后就OK了,关掉OllyDbg,
运行保存的文件看看会怎么样?
第五步:我们发现刚刚保存出来的文件不能运行,提示出现错误。
因为通常这个时候软件的IAT表还没有修复,所以就有可能会出错,下面我们就来修复IAT表,以保证程序的完美性。
先运行未脱壳的那个文件,然后再运行Import REConstructor,‘在选择一个使用中的程序’的下拉列表中选择
未脱壳文件的进程,这里是neogeoxp.exe。然后在左下角OEP文本框里填入刚刚记下来
的入口地址8876C后,先按‘IAT 自动搜索’按钮后出来一个对话框,意思是找到IAT表的地址,
点确定,然后在按‘获得输入信息’按钮后‘找到的输入函数’框中显示DLL文件修复的结果,
发现所有的DLL后面都出现‘是’后表示修复成功。成功后按‘修理抓取文件’
按钮选刚刚转寸出来的文件DUMP.EXE后就成功了,文件名为DUMP_.EXE就是修复以后的文件了
现在。脱壳成功!!!
此文也是转载的,但是找不到转载的人了,很感谢他。
另外我的程序55 不是push ebp 而是 db 55,不过还是dump了。成功
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
谢谢我不浪漫
我马上照你说的做一遍,感谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
按照你的说法,我遇到2个问题:
1:-----按一下F9键运行程序,程序会被暂停住
我已经照你说的做了,问题是无论我怎么设置断点(包括硬件断点),程序都会飞,直接运行了,根本不会被暂停住啊?
2:-----在选择一个使用中的程序’的下拉列表中选择未脱壳文件的进程
在Import REConstructor的下拉列表中又如何选择呢?要先运行那个未脱壳的程序吗?。因为选择的程序必须是正在运行的程序。
现在好多的教程,遇到上面这两点就跳过了,根本就没说,也许作者认为菜鸟都懂了,唉!
我试过了,还是不行,仍然提示:
运行时错误"7"
内存溢出
我没有运行程序,用OD直接F8走到入口语句004015B4 68 80174000 push Register.00401780上DUMP,IAT表也修复了。
要进入了:
0041539A B8 B4150000 mov eax,15B4
0041539F 50 push eax
004153A0 0385 22040000 add eax,dword ptr ss:[ebp+422]
004153A6 59 pop ecx
004153A7 0BC9 or ecx,ecx
004153A9 8985 A8030000 mov dword ptr ss:[ebp+3A8],eax
004153AF 61 popad
004153B0 75 08 jnz short Register.004153BA
004153B2 B8 01000000 mov eax,1
004153B7 C2 0C00 retn 0C
004153BA 68 B4154000 push Register.004015B4
004153BF C3 retn
-----------------------------------------------------------
进去后:
004015B4 68 80174000 push Register.00401780
004015B9 E8 F0FFFFFF call Register.004015AE ; jmp to msvbvm60.ThunRTMain
004015BE 0000 add byte ptr ds:[eax],al
004015C0 0000 add byte ptr ds:[eax],al
004015C2 0000 add byte ptr ds:[eax],al
004015C4 3000 xor byte ptr ds:[eax],al
004015C6 0000 add byte ptr ds:[eax],al
004015C8 58 pop eax
看样子这个是脱不掉了,另外选程序学习好了。真是奇怪了,脱第一个程序就遇到这样的事。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
可能程序不一样吧?查找并断点设置以后,程序由开始执行f9,会出现暂停,应该就是你中断的地方,这时候按f8,我按了3次出现 55 db 55,这里就dump了。
|
|
|