首页
社区
课程
招聘
菜鸟第一次成功的心得体会
发表于: 2005-2-3 12:02 4091

菜鸟第一次成功的心得体会

2005-2-3 12:02
4091
本菜入门已有2天,花了近20小时终于成功完成第一次处女脱,小有心得。特写此文献给像我这样刚入门,而有不得要领,极其苦闷的菜鸟。

古人云:工欲善其事,必先利其器。我们先要准备好比备的软件。
1。 ollydbg, 及其插件 SV_isdebug, cmdline
2。 LordPe
3。 ImportRec, 以上软件可以在看雪学院主页工具下载中找到
4。 Asprdbgr   这个软件可以在本讨论区下载,搜索一下就可以了。

既然我是菜鸟,我的第一件作品应该是被人脱了又脱,很多菜鸟,老鸟都写了帖子总结其成功的经验。那就是小虾的notepad。 在动手之前,仔细阅读他人成功的经验,因为我是菜鸟,什么都不懂。 以下是我认为必读的帖子

小虾的心得,http://bbs.pediy.com/showthread.php?s=&threadid=2744&highlight=asprotect+1.23  在此贴可以下载压过的记事本
hmimys的心得 http://bbs.pediy.com/showthread.php?s=&threadid=3131&highlight=asprotect+1.23
http://bbs.pediy.com/showthread.php?s=&threadid=3252&highlight=asprotect+1.23
fly大虾的作品 http://bbs.pediy.com/showthread.php?s=&threadid=1852&highlight=asprotect+1.23
http://bbs.pediy.com/showthread.php?s=&threadid=817&highlight=asprotect+1.23

看完文章,应该可以动手了。 动手之前,必须把掌握ollydbg基本操作,汗。。我第一次用ollydbg。
F2设置断点, F7,F8,类似debug的T,P, F9继续执行, hr设置硬件断点,这些基本操作要知道。

下面我说说每一步的要点。
1,用ollydbg打开notepady.exe,按照大师的方法,走到最后一个异常(从载入后,连续按26个shift-F9) 在ret处设置断点后,shift-f9继续。然后照猫画虎,设置硬件断点等等,然后dump文件。 在哪里dump呢?
00C6571A     03C3                add eax,ebx  <-当程序运行到这里,打住,切换到桌面,调出LordPE,开始dump
00C6571C     BB AC000000         mov ebx,0AC 
00C65721     0BDB                or ebx,ebx
00C65723     75 07               jnz short 00C6572C
00C65725     894424 1C           mov dword ptr ss:[esp+1C],eax
00C65729     61                  popad
00C6572A     50                  push eax
00C6572B     C3                  retn
00C6572C     E8 00000000         call 00C65731
 

下面说说如何dump文件。调出loadpe后,可以看到上下2个窗口,从上面的窗口选中notepady.exe,鼠标右键,分别选dump full, 和dump region(软件没汉化T^T), 然后用选PE editor按钮,调入刚存的dump.exe,选旁边的section按钮,随便点section table中一个,鼠标右键,然后选择load section from disk,把刚存的****.dmp文件读入,这时我们发现多了个region00块,修改此块的voffset,具体的修改值,看上面的文章。然后按rebuild PE按钮,修复刚存的dump.exe。过于options的问题,打开options窗口,右下角有快叫rebuilder,只选validate PE,其他不管,至于其他的块,按缺省设置。

我之所以只写细节,主要因为以上文章的作者(都是高人呀)认为这些都是理所当然的东西。从而不提或一笔带过,因为软件的熟悉程度不够,而我们菜鸟往往卡在这些细节上,从而影响对文章的理解。 至于具体实施方法,大家说的已经很详细了,也用不着我多说了。我再这里卡了好几个小时,不知道怎么从硬盘加载section.

下面就应该修复dump.exe了,首先,退出ollydebug.这很关键。然后运行asprdbgr, 用asprdbgr调入notepady.exe, 一路按Yes下去,等程序运行后,不要退出,运行importrec,在当前进程中选notepady.exe,oep先别管,RVA和size填入刚才asprdbgr的结果(IAT Start: 4062E4...Length: 240),RVA记得要减去0x400000,右边new import infos一块就不要动了,原来怎样就怎样,另外不要修改importrec的options,除非你不是菜鸟。不要按IAT autosearch,直接点get imports。这时你就可以在上面地import funtions found窗口发现结果,点点show invalid看看有没有非法结果,要是有,鼠标右键,选trace level1,然后再挨个看非法结果,首先鼠标右键disamble/hexview,看看能不能看,要是说error,就鼠标右键cut thunk(s),要是能看,你就尽自己最大能力去看吧。目前我还是菜鸟,没有进阶到这一步

至于oep随便填,只要在region00内就可以,本菜推荐填刚才dump的地方,就是00C6571A,记住填的数值是00C6571A-400000哦,

然后用ollydbg打开dump_.exe文件,加入转跳语句。然后存盘。

好像没有更多地方的只得注意了。。本菜水平有限, 只是希望能给别的菜鸟椅点启发, 大虾高手们千万别见笑。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 898
活跃值: (4054)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
鼓励一下
其实很多东西教程中也写了,关键是看你的理解以及工具的运用等综合情况
2005-2-3 12:08
0
游客
登录 | 注册 方可回帖
返回