Nx3sdHy 发表于 2014-10-1 00:21

零基础破解爱好者【毕业试卷】

本帖最后由 ffffffff 于 2014-10-1 01:52 编辑

这是恒大老师的零基础逆向爱好者毕业试卷,跟着老师学习了一段时间逆向,各位童鞋也应该检测一下自己的学习成果了!
希望恒大老师看到了也能给同学们批改批改~

大家快来检验一下这段时间的学习成果吧!


试卷问题如下:
1.   当软件使用弹窗方式提示我们错误时,我们可以使用哪几种方式进行寻找关键跳?
2.   当软件不提示我们任何错误信息时,此时我们该使用何种方式进行寻找关键跳?
3.   一个软件载入OD后,查找不到字符串的原因有几种?分别是什么?
4.   程序正常脱壳后为什么无法正常运行?有几种可能造成此结果?该如何解决?
5.   说明什么是关键CALL,并且我们该如何寻找关键CALL?
6.   修改关键跳时,什么时候使用NOP,什么时候时候JMP?
7.   在VB程序中,下API断点MessageBoxA为何不起作用?
8.   大部分程序关键CALL的返回值存放在哪个寄存器里?
9.   为什么带壳的程序要运行起来去401000处?401000处是怎么回事?
10.   如何在系统领空快速返回至程序领空?
11.   DeDe可以调试什么语言编译的软件?
12.   F8单步跟踪未启动的软件时,遇到程序跑飞该如何解决?
13.   当遇到INI类型重启验证软件时,我们可以使用什么断点进行对其拦截?
14.   当遇到退出暗桩时,有几种方式取消这个暗桩,该如何下断?
15.   什么语言编译的程序可以使用Push窗体法?Push窗体法该如何操作?
16.   VB程序与其他大部分程序不一样,VB关键CALL下面的比较命令通常是与什么比较?
17.   我们手动寻找并修复IAT的时候,IAT断首的地址应该减去谁?
18.   万能断点都能断下什么?他能在什么平台下使用?
19. F12暂停法的堆栈回朔其实说的就是一个怎么样的过程?
20. 假设一个JMP可以跳过错误提示,而这个JMP并没有起到跳过错误的作用,这是什么原因造成的?
21.   当我们遇到一个重启验证时,该从什么地方进行逆向才能彻底解决重启验证?
22. 字符串搜索时,是否应该输入完整提示信息?为什么?
23. 论坛上很多人在求思路,这是怎么回事?
24. 当我们按下F12暂停时有几种方法回朔?
25. 暗桩是什么?暗桩什么功能?
26. 我们在修改关键CALL返回值的时候,常用的两指令都有谁?分别怎么使用?
27. 能把OD修改为某某人专版的软件叫什么名字?
28. 脱壳后自效验的程序在效验时,他在用什么与什么对比?
29. 对于时间限制软件都有哪些类型?
30. 通过以上问题,你对零基础逆向知识有什么需要总结的吗?









Nx3sdHy 发表于 2014-10-1 00:24

本帖最后由 ffffffff 于 2014-10-2 00:56 编辑

交卷:
1.   当软件使用弹窗方式提示我们错误时,我们可以使用哪几种方式进行寻找关键跳?
搜索字符串找到错误提示的call,根据call找到关键跳。   F12暂停法。 利用API断点。
2.   当软件不提示我们任何错误信息时,此时我们该使用何种方式进行寻找关键跳?
可以尝试根据编程语言的不同来下按钮事件断点。
3.   一个软件载入OD后,查找不到字符串的原因有几种?分别是什么?
1.软件有壳 。2.字符串被加密。
4.   程序正常脱壳后为什么无法正常运行?有几种可能造成此结果?该如何解决?
1.程序需要修复 2.程序还有附加数据(个人盲点)
使用lordpe+REC。
5.   说明什么是关键CALL,并且我们该如何寻找关键CALL?
个人理解关键call就是程序调用外部输入信息进行处理(比较,赋值等等)的一个地方。
找关键call可以根据关键跳来查找,一般关键call都在关键跳的上面不远处~
6.   修改关键跳时,什么时候使用NOP,什么时候时候JMP?
不需要跳转的时候可以使用NOP,需要跳转的时候可以使用JMP。
7.   在VB程序中,下API断点MessageBoxA为何不起作用?
由于vb程序的特殊性(具体我不知道怎么个特殊法),信息框的断点应该使用vb专用的rtcmsgbox断点。
8.   大部分程序关键CALL的返回值存放在哪个寄存器里?
听说是EAX。
9.   为什么带壳的程序要运行起来去401000处?401000处是怎么回事?
因为401000处是代码执行段,程序领空。
10.   如何在系统领空快速返回至程序领空?
alt+f9还是crtl+f9来着 忘记了 (这两者有什么区别吗?)
11.   DeDe可以调试什么语言编译的软件?
Delphi and Bc++ 。
12.   F8单步跟踪未启动的软件时,遇到程序跑飞该如何解决?
F7步入。
13.   当遇到INI类型重启验证软件时,我们可以使用什么断点进行对其拦截?
GetPrivateProfileStringa   ReadFile
14.   当遇到退出暗桩时,有几种方式取消这个暗桩,该如何下断?
下退出断点。 找到暗桩执行的call下断,在call附近找关键跳来跳过这个call。
15.   什么语言编译的程序可以使用Push窗体法?Push窗体法该如何操作?
易语言 FF25 push 10001
16.   VB程序与其他大部分程序不一样,VB关键CALL下面的比较命令通常是与什么比较?
不太清楚。。。
17.   我们手动寻找并修复IAT的时候,IAT断首的地址应该减去谁?
减去程序段。
18.   万能断点都能断下什么?他能在什么平台下使用?
引用恒大老师的话:万能断点什么都断,就是牛逼哈!   xp系统下使用
19.   F12暂停法的堆栈回朔其实说的就是一个怎么样的过程?
是不是f8单步返回到程序领空的一个过程。
20.   假设一个JMP可以跳过错误提示,而这个JMP并没有起到跳过错误的作用,这是什么原因造成的?
jmp上面有条件跳转(jnz,je等)跳过了jmp
21.   当我们遇到一个重启验证时,该从什么地方进行逆向才能彻底解决重启验证?
好像是关键跳上面的关键call处,给寄存器赋值。
22.   字符串搜索时,是否应该输入完整提示信息?为什么?
不用,模糊搜索,这样可以最大化的搜索到有用的信息。
23.   论坛上很多人在求思路,这是怎么回事?
可能没有思路了。。。
24.   当我们按下F12暂停时有几种方法回朔?
alt+f9还是crtl+f9其中一个(没记清) f8单步步过
25.   暗桩是什么?暗桩什么功能?
暗桩就是在调试中作者的反调试机制比如:关机注销重启,蓝屏,格盘,删除程序
26.   我们在修改关键CALL返回值的时候,常用的两指令都有谁?分别怎么使用?
mov retn进入关键call修改eg. mov eax,1 retn    给eax赋值1
27.   能把OD修改为某某人专版的软件叫什么名字?
uedit32
28.   脱壳后自效验的程序在效验时,他在用什么与什么对比?
可能是文件大小,文件名,进程名等等
29.   对于时间限制软件都有哪些类型?
不清楚。。。
30.   通过以上问题,你对零基础逆向知识有什么需要总结的吗?
还是有很多不足,必须沉下心来学习,多思考,多实践。

Mines 发表于 2014-10-1 01:49

看来我要加快学习了。

Crack杰 发表于 2014-10-1 06:47

第一题还有api断点

Seckill 发表于 2014-10-1 19:21

厉害,不错不错,鼓掌

Seckill 发表于 2014-10-1 19:21

{:5_116:}

PS_URINE 发表于 2014-10-7 21:21

上来就搜索peek/get message的怎么破

跳河死的鱼 发表于 2014-10-7 21:29

学习了,好多东西还是不懂啊 努力学习中!

战股神 发表于 2014-10-7 21:36

恒大什么都教给你了,他以后怎么办?

2241716224 发表于 2014-10-9 21:56

好难..{:5_116:}
页: [1] 2 3
查看完整版本: 零基础逆向爱好者【毕业试卷】