haier8917 发表于 2016-10-25 02:10

暂停法破解里诺仓库管理软件(单机版)

本人看了下shark恒老师的地三期11课,过后我也试验了那个软件,除了shark恒老师所说的方法,还有N个方法,现提供如下几种思路:
1:字符串,可以字符注册或试用查找
2:F12暂停法,
废话不多说,进入正题,先用F12暂停法
先查壳,发现无壳,是delphi的程序,此处图省略
然后OD加载程序,停在下图处

F9运行,=程序加载完,如下图

然后依次点击暂停,和K(暂停是使程序暂停下来,K是调用堆栈),见下图(为了我的文字显得更清楚,我把文字说明处的图片背景删了)

就到了堆栈窗口,见下图

右键点最下那个,选择显示调用,

到下图你可以在光标那行鼠标左键单击后按F4键,然后进行单步,可以看到在4ABC3A的地方有个向上的跳转,见下图

你就在4ABC3C这行,鼠标左键点击,F4,OD窗口显示运行

此时你的目标就是在程序上操作了,见下两幅图

通过上面对主程序操作后,程序又被断了下来,此时可能大家就继续单步跟踪了吧,但我可以告诉你,这样可能跟踪不到,为什么呢???大家想想,上面那个需要注册提示框点了后消失了,然后我们点那个登陆,程序下一步该做什么呢???此时程序应该加载主界面了吧,所以你跟踪的话,其实就只有跟踪到程序加载主界面的过程,那怎么办呢,很简单,F9让程序运行起来,再来一次暂停法,操作我就不演示了,大家自己试,我只给大家一张这时的堆栈窗口图,仍然是最后一个右键,显示调用

到下图后向上翻,可以看到3个跳转可以跳过他,我们要找的是它么,大家可以试试,我图中已经说了,注意,可以跳过指的是可以跳过下面那个显示调用OD到这的CALL,

设好断后重新运行,看看,程序被断下来了吧,F8单步跟一下,果然没跳

下面,我们需要重新载入程序(因为刚刚已经比较了,所以不重载入程序的话赋值无效),把他需要和0比较的地方赋值为0,这里有的人很可能会问,为什么会赋值为0呢,大家看消息框,就知道那里现在是1,把1和0比较,肯定不想等,所以跳转不跳,那里改为0就相等,跳转就跳,这样程序就没未注册的框框了,而且程序也会变成注册的了,来试试,赋值的方法我在图中注明

正如我们所料吧,下面来两张关于的对比图,呵呵

找到了与0做比较的地方,但这个值是怎么得来的呢,也就是说,是哪里往这写进了数据,大家接着往下看,哎,我尽量在图上说明吧,边在这里说边截图很累,我下面全上图,要说的话在图上说了






tianzhiya 发表于 2016-10-27 09:09

向楼主学习了

Shark恒 发表于 2016-10-31 21:43

没错,每个软件都有多种思路逆向,这说明你确实学明白了。懂得变通,举一反三了。

mage200 发表于 2016-11-1 16:27

辛苦分享辛苦

彼岸 发表于 2016-11-1 19:27

厉害{:5_117:}

haier8917 发表于 2016-11-1 21:46

呵呵,大家好,本人觉得函数方面自古以来就是新手的难题,而且字符串比较简单,所以我以后讲解分析方法一般以暂停发为主,另外,大家在逆向的时候可以以字符串为主,找不到的话可以试试暂停法和按钮事件(但我觉得按钮事件大家尽量少用,毕竟大家都是来学习逆向的,懂得逆向才知道各种软件的漏洞,如果以后自己编程的话就要尽可能避开这方面的漏洞),呵呵,另外,看上面的堆栈窗口那里,有兴趣的人也可以从最顶上面的那个函数开始慢慢F8跟踪出来,也挺有意思的,呵呵,下面,我把这个软件的两处暗桩的图和完美逆向的图贴出来,另外,打字真的好累,我的语言不是很好,以后如果录制视频的话可能结巴,希望大家不要笑话,




haier8917 发表于 2016-11-4 12:45

Shark恒 发表于 2016-10-31 21:43
没错,每个软件都有多种思路逆向,这说明你确实学明白了。懂得变通,举一反三了。

鲨鱼哥,现在有那些流行的软件啊,介绍几款我来试试逆向着玩啊,查找字符串加暂停法可以逆向软件的成功率居然高达80%,另外那个雨花石的软件逆向并没有达到完美逆向的效果,可以设置,但周二和周四仍然自动屏蔽,我现在在实验用获取系统时间函数断点去搞

wzgangwzgang 发表于 2016-11-4 16:59

学习了,谢谢!!!

蓝色贝雷帽 发表于 2016-11-10 20:01

楼主进步好快,羡慕,向你学习

a82752561 发表于 2016-11-11 01:47

谢谢楼主分享学习学习
页: [1] 2 3 4 5 6 7
查看完整版本: 暂停法逆向里诺仓库管理软件(单机版)