hktkzyz 发表于 2015-3-23 17:25

小白找关键跳,大大们都略过

本帖最后由 hktkzyz 于 2015-3-23 17:31 编辑

不管怎样,新手逆向时,最不清楚的就是怎么找到关键跳,大大们请都略过。
小白们也觉得没新意的话,我就当一个学习笔记,哈哈。
练习软件:https://www.52hb.com/thread-3604-1-1.html
格盘大大的教程,直接提供了关键跳(视频中只是提到可搜索字符串),mm475老大也是从关键跳进行了详细的分析。
OK,这次我试着用暂停法回溯来找关键跳。
1、软件启动,提示30天,暂停,ALT+K,最后一行,显示调用,找到call,观察发现这一段还是被调用,所以段首下断。




2、重载,运行,断下,回溯一次,观察此段,还是被调用,所以段首下断447360。(个人习惯,将之前的断点禁用或确认没用的话,删除)
3、重载.........所以段首下断44733c。(第二次回溯)
4、重载.........所以段首下断447240。(第3次回溯)
5、重载.........所以段首下断447414。(第4次回溯)
6、重载,运行,断下,观察,这是一大段,有明显的跳转,试着在call设断点,重载,断下,F8,出30天,确定了就是他,所以要找跳过这个call的跳转。

找到一个:00409882,设断点,重载,运行,结果断不住,那明显,上面一堆的跳转是有嫌疑。

那就都下断,一个一个试,该修改的修改,最后让00409882跳过去,

跳过成功,但紧接着一个call就是注册框了,通过观察不难发现,这个call上面就是一个jmp,但是jmp被跳过30天的时候一起给跳过了,也就是说,要想跳过注册框,就不能跳过30天,跳过30天,就不能跳过注册框。。。。那猜测,在跳过30天的上面,会不会还有一个跳,能同时包含30天和注册框呢?
回到00409882,往上找,会遇到一些小的跳转,直到遇到它:004094f5

下断,测试修改跳转,程序界面一闪,程序直接终止了,估计是只解决了 30天的提示和注册框,而没有解决到期后退出。。。。
之前测试是能进程序的,估计那时试用没到期。
这篇文章只到关键跳这里,剩下的有时间再继续学习。(或者,不应该跳过注册,而应该爆破注册成功。。。)

深入性的逆向可学习K大的视频和m大的图文:https://www.52hb.com/thread-3646-1-1.html

这篇只是最基础的回溯找跳,相当于小白我的一个学习记录,和我一样新入门的朋友可以参考一下,不敢谈为教程。






Scar-疤痕 发表于 2015-3-23 17:47

看了楼主的教程受益匪浅!

红颜世家、 发表于 2015-3-23 17:58

小菜学习了,感谢大大

闪耀 发表于 2015-3-23 19:31

小菜学习下大牛方法

Ms兄弟 发表于 2015-3-23 19:35

{:5_191:}没搞懂回溯是什么。。。

vigers 发表于 2015-3-23 20:54

楼主好有耐心

vigers 发表于 2015-3-23 21:01

Ms兄弟 发表于 2015-3-23 19:35
没搞懂回溯是什么。。。

http://wenku.baidu.com/view/1e323026a5e9856a5612600b.html
去这里看看

timethinking 发表于 2015-3-23 21:18

学习了, 这种找关键的教程,实在是很有益啊
我是小白,努力学习中

Evan2291 发表于 2015-3-24 00:47

{:5_121:}非常不错,多谢楼主的分享。

hktkzyz 发表于 2015-3-24 17:52

本帖最后由 hktkzyz 于 2015-3-24 17:56 编辑

Ms兄弟 发表于 2015-3-23 19:35
没搞懂回溯是什么。。。
说实话,可能我理解的也不一定对,因为我也是前两天自己才大概有了个概念:
1、回溯本意是跟踪。
2、我们从出现问题处,暂停,找堆栈调用(messagebox对话框一眼能看出来,如果没有对话框,就找有没有显示是哪个call调用,如果这个也看不出来,就从最后一个入手)。
(如果同时系统领空有,程序领空也有,那当然我们从程序领空入手)
3、返回到调用call后,就看有没有能跳过他的跳(一般情况下不会这么容易),如果没有,那就段首下断,断下后,堆栈处,“反汇编窗口跟随”,跳到他的上一级。
(以上也可以段尾下断,F8就会跳出,总之道理一样,是跳出这一段,到达上一段,其实这段就是上一段里的某个call里的具体内容)
4、重复第3步,直到找到能跳过call的跳转。

我认为这叫做“回溯”,也就是倒着往前推。
举个栗子,我们小区有狗狗拉臭臭(出问题处),我向楼长反应,楼长不管(这一段l里没有跳能跳过此call),好吧,我找楼长上一级居委会,居委会也不管(...),好吧,我找街道办事处,街道办事处也不管(....),好吧,我找警察叔叔,警察叔叔说,我给你办掉他,解决臭臭问题。
ok了,在警察叔叔这一段,我们找到了关键跳,能直接跳过街道办事处、居委会、楼长......从而解决臭臭问题。

栗子举得不太恰当,你多理解,多动手,就会形成自己的概念。
希望共同进步。。。。



页: [1] 2 3 4
查看完整版本: 小白找关键跳,大大们都略过