shark恒第二期教程学习记录

这次我又来了
这次据说基本都是易语言,我去,没学过,那看看吧,学学也无妨,不过看着就别扭

第一课

编写一个时钟,其实就打了3行东西,每0.1秒a加1

QQ20160609220005

载入od,查找设置时钟的那个系统的API

QQ20160609230126

启动窗体

QQ20160609224252

od载入,到401000出看看,那部分代码是生成窗体,就是点击后弹出来了
你可以在下图中的401004下断看看

QQ20160609230734

弹框又怎么样呢,跟窗体差不多

QQ20160609224407

可以看到跟窗体差不多,有一些信息直接显示出来了,od还是比较强大的

QQ20160609230826

退出程序编写

QQ20160609224631

可以从这几个jmp跟过去看看,也可以直接下ExitProcess断点

QQ20160609231125

具体如下图,实际上都是调用win API咯

QQ20160609231138

第二课

这一课没源程序,有点遗憾,去花指令的
回顾一下作者的思路:
peid查壳,查不到,用peid的插件找到oep

QQ20160609235407

到oep下一个硬件执行断点,f9运行,oep即可呈现出来了
跟着查找按钮事件,搜索二进制串 FF 55 FC 5F 5E ,下断点,f8,跟着又发现花指令
跟着用下面这个去除花指令,作者建议的size为999

QQ20160609235516QQ20160609235607

接着f8跟,发现大跳转,发现是越过那些窗体啊什么的,直接nop掉就行了

第三课

看看程序源码 QQ20160610082315

直接上易语言的特征码,就是他很多过程就是通过一堆jmp那里实现的

QQ20160610082458

找按钮事件特征码,下个断

QQ20160610082630

一开始想直接复制窗体和载入成功的代码,粘贴过去想绕过我吗那里,然而发现位置不够

QQ20160610083221

灵机一动,直接jmp过去就好了

QQ20160610083654

成功

QQ20160610083808

下面是改掉载入成功这几个字,首先到null区域474c70新建ctrl+e搞些ASCII—-modified by gaintbranch,跟着把这个push改掉

QQ20160610085417

二进制复制完粘贴,call的地址一定要改成原来的

QQ20160610085807

成功,yeah

QQ20160610090024

第四课

拖进VMProtect

QQ20160610153750 开启专家模式 QQ20160610153847

配置加密的函数过程,选项什么的

QQ20160610154118

还要选择这个哦,不然有反调试什么的

QQ20160610154736

跟着就提示编译完成了

QQ20160610154324

查下壳看看,有个vmp0,vmp1段

QQ20160610154423

可以看到确实加密了的感觉,看来放到“vm”里才能正确运行了

QQ20160610154900

那我们能不能看懂真面目呢,可以的,在四个jmp下断,f9,直到程序运行

QQ20160610154911

点击按钮,在栈中可以看到啦

QQ20160610155031

改变一下初始窗口的push

QQ20160610155102

那就可以了

QQ20160610155845

那我们能不能还原vmp的代码呢,可以的,因为窗体的代码基本类似,通过下jmp的断点,再通过栈的数据一步步还原就可以了

QQ20160610160859

第五课

这课我们用到XueTr这个软件,可以禁止关机什么的哦,这里我们使用的功能是删除进程定时器

QQ20160611191925

当我们载入od,搜二进制串 FF 55 FC 5F 5E,下断,你会发现自动暂停下来了,我们还没运行程序呢,这说明可能有定时器,利用XueTr去除就行了

QQ20160611192035

可以看到确实有两个定时器

QQ20160611192043

打开od,附加到那个进程

QQ20160611192218

对特征码下断,点击登陆后,程序暂停,f7跟进,一直f8,注意再看到字符串的时候暂停

QQ20160611193022

稍微看一下源码,看到了一字符串

QQ20160611193233

加入调试到按f8不动了,这可能是多线程的原因,到t那里全部激活一下就可以了

QQ20160611193629 QQ20160611193645

这里可以看到模式的判断,收费模式呢还是免费

QQ20160611193751 QQ20160611194117

f7进入收费模式代码

QQ20160611194147

一直f8,注意要慢,在字符串(什么密码错误啊什么的)前面的跳转改为jmp

QQ20160611194405

下面也是

QQ20160611194600

反正一直找吧

QQ20160611194819

直接出这个问题,还没破解完成,第7课继续

QQ20160611200503

第六课

这个是那个破解练习软件的3.0版本吧

转到401000,从401000向下找,找到3个跳转

QQ20160611204343

可以直接nop掉

QQ20160611211854

也可以跟进关键call,修改返回值

QQ20160611211948

第七课

这里首先解决第六课的问题,那个数组越界,查找ff 25找到易语言体

QQ20160612130443

从最下面的jmp开始找,找到下面代码,

QQ20160612130512

修改第一行代码,直接返回

QQ20160612130525

后来又来一个问题,如下图

QQ20160612131638

直接查找字符串也可以找到关键代码,当然在弹窗的call ,f7进去也可以看到

QQ20160612132915

改为无条件跳转即可

QQ20160612132953

有时有些call会退出程序,直接nop掉就行

QQ20160612133351

反正这个要修改的很多,甚至最后我把那个登陆成功后的那个弹窗的call都nop掉了,算了,先这样,不搞了,这个破解的难度还是牛啊

QQ20160612134355

第八课

第九课

第十课

第十一课

第十二课

第十三课

第十四课

这几课都是说说山寨一个软件,比如一个外挂,根据外挂里面的信息山寨出一个管理端,给自己的账号充钱啊什么的,感觉这个没什么用,就是针对某些特定的网络验证程序的山寨,找到链接和链接密码就可以山寨了,哎,说多了都是懒

第十课的时候可以用到一个抓包的软件,抓到那个包就看到那个链接了,还有密码

QQ20160613125429

QQ20160613125412

其实还有就是说到加了壳,加了vmp的就切m(就是内存里面查找,因为在内存肯定已经解密了)

 

 

QQ20160613150020

 

 第十五课

这个就重燃激情了,打开看看

QQ20160613164316

查下壳,有点6,看不懂

QQ20160613164346

随便跟了一下好像没发现什么,但发现一个登陆的dll

QQ20160613193109

od载入后,到e(模块)那里查找,可以发现Login.dll文件,双击跟过去

QQ20160613193124

搜索一下字符串,看到了刚开始的字符串,跟过去

QQ20160613193205

看到有一个跳转可以跳过,发现这程序还中英提示啊,双语软件吧,直接改成jmp

QQ20160613193223

也可以修改上面的关键跳的返回值

QQ20160613193807

直接运行

QQ20160613193858

又来,向下找,直接改jmp跳过就可以了

QQ20160613194631

f9运行,可以看到成功了

QQ20160613195439

QQ20160613195454

但是这是有壳的,所以不脱壳就只能打补丁了,就是改掉我们上面手动改的东西

第十六课

作者给的软件有点6,暂停再运行到用户代码不行

QQ20160614001526

QQ20160614001611 QQ20160614124454 QQ20160614124514

后面的基本都是那些网络验证,抓包,什么的了

 

打赏作者
喜欢本博客,打赏让博客永久运行,多少你说了算

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

发表评论

电子邮件地址不会被公开。 必填项已用*标注