申请会员ID:逗逗苍穹【申请通过】
申 请 I D:逗逗苍穹
个人邮箱:2376714571@qq.com
一位喜欢,游戏破解,游戏修改的苦逼大学生请求加入吾爱破解大论坛。
希望审核大大能给过,我真的想在论坛学习来着,现在我评论都发不了。对大佬们发的文章有啥疑惑也说不了。拜托拜托!!)
https://pic2.zhimg.com/80/v2-6cb15cc416d5790ba25ec56635bf2add_1440w.jpg
最近有在吾爱破解的论坛上看见这样一个帖子。上面有个exe文件。一看到这,一下子就激起了我的兴趣。就想这破解了来试试。也来练练手。没破解前:https://pic2.zhimg.com/80/v2-5d56f25a67b5fcd8040207ab47472061_1440w.jpg
在不知道密码的情况下,我们随便输入一个信息会显示搞错了啦。这样子我们就进不去了。开始破解1.将程序放入x64dbghttps://pic2.zhimg.com/80/v2-439570884376316c55e0e2e477746845_1440w.jpg
2.然后呢,根据按照流程来的话,应该是搜索字符串。https://pic3.zhimg.com/80/v2-2ffe60bfd02f8a55f209c3c54b4b1b06_1440w.jpg
搜索完了字符串,想在里面找到"搞错了"的字符串。但是没有找到。但是还是找到了密码这样的敏感词汇。那么我就进入密码的那行。打上一行断点。然后运行程序。https://pic2.zhimg.com/80/v2-b63551a399e148da714b02354520ba35_1440w.jpg
很幸运,一次就断住了。3.按住F8一步一步走https://pic1.zhimg.com/80/v2-89133b5076f9d995ce70e2ab91a2471c_1440w.jpg
走到这个call 422D0A就会弹出弹窗告诉搞错了。那就说明这个call说不定有问题。4.进入call 422D0A查看这种程序一般都会有一个分支,一边是正确,一边是错误。进入这个call后,就按住G来查看流程图https://pic3.zhimg.com/80/v2-1d284194f73a6f09e1a578e43acd43ee_1440w.jpg
和我的猜想一样,果然有个分支。那就在jne那里打一个断点。再来运行程序。看看他会走那一边。https://pic1.zhimg.com/80/v2-351692ec17fce2fa9e95233dd93020d8_1440w.jpg
发现他是走入了这个左边的call5.进入call 00422EA6看看当我进入了这个call 00422EA6的时候。发现他还是有个分支https://pic4.zhimg.com/80/v2-62f9be601fbbb8bdf71d8ddd54007697_1440w.jpg
那按照老样子,打一个断点。https://pic3.zhimg.com/80/v2-a854807ae7ad7c27239f402effeaa8fa_1440w.jpg
发现他走向的右边。这两个分支的前面一个call都是一样的。都是call 00422CF9这个地址。主要就后面两个call。一个是00422E00,一个是422F12。那继续走一下看看。https://pic3.zhimg.com/80/v2-761262ab896a9ee0dc99310d12c132fe_1440w.jpg
当程序走到call 00422E00的时候。弹窗就出来了。那样我们进00422E00这个地址看看。https://pic3.zhimg.com/80/v2-b87afb7eef73dc09684965ea8995bfaa_1440w.jpg
发现这个函数并没有分支。就一条路。那么这个就可能是弹出搞错了的弹窗。那这样的话,我们是不是只要将前面的call 00422E00换成call 00422CF9就行了呢?我们进入00422CF9看看,是不是也是一条路径,没有分支https://pic1.zhimg.com/80/v2-a0e3d6102f06cfc69e553405e2767604_1440w.jpg
发现有好几条分支。其中动不动就让你返回00422E00这个错误的地址。我们要躲过这些陷阱。还得在这个call继续分析。但是我想这个call 00422E00就是弹出一个弹窗的作用。这个正确的密码出来。还是弹出一个弹窗。其中处理显示的字符不同。其他都相同。那么找一下和call 00422E00一样的call。试一下看看行不行6.找call按住ctrl加F寻找https://pic3.zhimg.com/80/v2-740ac1864c43e489a3ef93ab92e57892_1440w.jpg
寻找call 00422E84。因为前面的push ebp和mov结果有点多https://pic1.zhimg.com/80/v2-c63151acf7abc36a557b3da4730d0664_1440w.jpg
只有两条结果。到下一条地址去看看去
https://pic4.zhimg.com/80/v2-93e48977a7bff1323760336197db9f7b_1440w.jpg
到了这个地址。让我们把这个call 00422E00换成call 00429631看看行不行。会不会破解成功?https://pic4.zhimg.com/80/v2-098371c2ef7b210a088f083641aa1063_1440w.jpg
看来是修改成功了。整个过程就如上了。
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
ps:这个爆破分析太简单了。 Hmily 发表于 2022-1-25 17:19
抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。
ps: ...
蛤,这样呀。密码我也破解出来了。是www.baidu.com
https://i.bmp.ovh/imgs/2022/01/dd7f9ec7c6bf58c7.png
我花了蛮久,一个一个去试那个密码。发现其实有也就10个字母也26个字母。发现他不支持输入中文。输入不进去。那我只要试一下每个数字和字符对应的数字就应该可以了。其中我找到加密了密码是
6767673E72717974653E737F7D 67355A333其中的67355A333是每个加密都自己加上的,我也找到了加密的call。
https://i.bmp.ovh/imgs/2022/01/89c4b89d1b336010.png
单步走发现。开始加密的时候没有67355A333。这个是后面加上去的。我怀疑是异或加密。其中我单步走的时候,一直有个520在显示。我就怀疑520是秘钥。后来发现不是。但是密码已经出来了。
想深究来着,想问问那个帖子的答主。但是奈何发不了评论。
害
. 发表于 2022-1-26 13:10
蛤,这样呀。密码我也破解出来了。是www.baidu.com
我花了蛮久,一个一个去试那个密码。发现其实有也 ...
那就具体还是分析下算法,看看如何实现的,补齐到本文吧,这样是给你的要求。 谢谢审核大大哈!开始我怀疑是异或操作,如果是异或操作的话,那就很简单了。异或操作可以进行还原,那既然是异或加密的话。我们首先要先获取秘钥,秘钥的话l我们只要再异或一次就ok了。首先,我们进入x64dbg来获取几次加密后的密码
https://i.bmp.ovh/imgs/2022/01/18c3c77bbf1f894f.png
获取到密码,开始说了67355A333是固定的,这里我们不用管。要注意一点的是,这里的21,22,23等都是16进制的。这一点不能搞错了。我们将16进制换成10进制就可以进行操作了。
https://i.bmp.ovh/imgs/2022/01/caa00a3dcfae2347.png
这里我写了一个程序来进行还原,可以看到。这里的秘钥是16。那么我用词秘钥来还原一下我们的加密后的密码试试6767673E72717974653E737F7D。
https://i.bmp.ovh/imgs/2022/01/74a5a886dc49feef.png
还原后的密码是www.baidu.com。那么我们现在试试。看看是不是
https://i.bmp.ovh/imgs/2022/01/aff2308f616f62ee.png
可以看到已经成功了。那么这个密码算是破解完成。是使用16来作为秘钥。对输入的数字进行加密。然后和加密后的正确密码进行对比。来判断是否正确。我们可以采用爆破和破解加密方法来进行破解。 Hmily 发表于 2022-1-26 17:33
那就具体还是分析下算法,看看如何实现的,补齐到本文吧,这样是给你的要求。
谢谢审核大大哈,再来发一次,不知道为啥没发出来。可能是网络问题吧。这里再发一下哈。我开始怀疑是异或加密。如果是异或加密的话。那就比较简单了。异或加密可以还原。只要再异或一次就行了。
这里我们来试试。首先我们随便输入几个数字和字符。来获取加密后的数字进行对比。
https://i.bmp.ovh/imgs/2022/01/9f46bba3e3b9db3a.png
之前说到67355A333是后面加上的,也就是前面的20是‘0’加密后的结果。21是‘1’加密的结果。3E是‘.’加密后的结果。这里我着重选了个.来说明3E。是因为说明这些数字都是16进制的,不是十进制的。那个输入的'0'也不是数字0而是字符0,也就是对应的数字是48。不然容易弄混。后面解秘钥的时候就容易出错。
原字符和加密后的数字都获取了。现在我们只要在异或一次就可以获得秘钥。
https://i.bmp.ovh/imgs/2022/01/48e44e44d3c23571.png
可以看到,我们解密出来的秘钥是十进制的16也就是16进制的10。现在我们拿着秘钥去加密一下‘1’看看,得到的结果看看是不是21.
https://i.bmp.ovh/imgs/2022/01/4371cd2deeaf78ac.png
记住要输出的是16进制才可以得到21。看来加密方式是没有啥问题的。那么我们现在就还原一下原密码
开始我们得到加密后的密码是6767673E72717974653E737F7D,我们两个数代表一个字符。但都是16进制的哦。
https://i.bmp.ovh/imgs/2022/01/de332433a163aaaf.png
可以看到,我们得到的密码是www.baidu.com。这里我们试一下。看看是否是正确密码。
https://i.bmp.ovh/imgs/2022/01/c9d0308818355389.png
可以看到,我们这里成功进入。至此。程序破解完成。 . 发表于 2022-1-27 12:03
谢谢审核大大哈,再来发一次,不知道为啥没发出来。可能是网络问题吧。这里再发一下哈。我开始怀疑是异或 ...
咱不能猜呦,这个应该很容易从原程序的代码中分析出来? Hmily 发表于 2022-1-27 12:05
咱不能猜呦,这个应该很容易从原程序的代码中分析出来?
审核大大,我又来了。我分析了好久的程序。
我大概的确实算出来了。首先我们进入加密的call。这个之前是已经找到了。我们单步一步一步走。要看旁边的寄存器窗口。看看是否有可疑的数字。看看我们输入进入的数字是如何变化的。
https://i.bmp.ovh/imgs/2022/01/4e154d0ecaf87fd3.png
其中要格外注意一些call。当走到call krnln.10060D10时发现了可疑的数据
https://i.bmp.ovh/imgs/2022/01/e544c9f04a141f0a.png
ECX的值变了,变成了E21。这个21不正是加密后的数字吗。那么我们进入这个call看看。
继续一步一步走,到了这样一条语句。
https://i.bmp.ovh/imgs/2022/01/c6b8d5739c32c884.png
发现是个异或加密。经过这行语句。我输出的1,变成了E21。但是我不知道。dword ptr ds:里面是个啥值。没有关系。异或可以还原。我们只要拿E21和31异或一次就可以知道dword ptr ds:的值。后面发现dword ptr ds:是E10。得到E21这个和我们的21还是有点差距。我们继续走。看看他是如何去掉E的。但是走到后面,越走越复杂。我那薄弱的汇编基础已经不能容忍我走下去了。
那该咋办?让我们反过来想想。前面有个E10。那肯定是有传E10的语句。我们找找看,说不定有突破。https://i.bmp.ovh/imgs/2022/01/fed960c46166deb6.png
确实也让我找到了。是push了一个E10。为了确定这个是不是我们要的那个E10。我们改改看。改成8看看。也就是对16进制的8异或,和开始的E10不一样。那加密结果应该不一样。果真,加密结果变了。由开始的21变成了39。而这个39正是‘1’和8的异或。那么现在我们是不是有理由怀疑。这个加密就是异或加密呢?这个可能就是异或了一个E10然后只取最后两位。这里我们实验一下。将push E10改成EE0。我们输出一个特殊字符‘’。这个字符对应的ascii是1,和EE0异或之后就可以获得ee1.然后我们看看。这个加密后的结果是啥。
https://i.bmp.ovh/imgs/2022/01/49adebb54fd02ec1.png
这里我用的是AA0和来试的。效果一样。发现异或生成的AA1只取了A1。也就是说这个加密方法是用E10加密。然后取后面两位。这个和我们之前的结论有点不一样。我开始还以为就直接是异或了一个16。现在发现不一样。我开始还自己写了一个异或拿到x64dbg里面分析。发现直接我的程序的里面的异或就是xor eax ,10。好了,我的分析就是这样了。还请审核大大手下留情! I D:逗逗苍穹
邮箱:2376714571@qq.com
申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。
ps:登陆后把文章整理一下发布到脱壳破解区,感觉分析的还是比较乱,看起来是易语言的程序,异或代码在易语言运行库中? Hmily 发表于 2022-1-27 18:07
I D:逗逗苍穹
邮箱:2376714571@qq.com
谢谢审核大大,感谢感谢!
来报道了!!
我也不是很清楚耶,但是他的图标不是易语言的图标。
以前对破解很感兴趣,但是一直没有亲自实践。这次实践学到了很多。
以前的对c语言的一些知识点也感觉明白了好多。也知道python和c为啥c更底层。同样的一个功能的判断。c语言放到x64dbg里面的和python放到x64dbg里面的就是不一样。python是封装了好多的东西。
通过这次训练也让我知道了。计算机底层的世界也是如此的多彩。
页:
[1]