od破解小程序
OllyDbg动态调试与逆向破解TraceMe.exehttps://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=OTFjNTY2ZDEyYjdjZjRiZjJiYzE1NGY0YzdhNzg5MTlfRm01U1ZQMERRUkN5OVprZTlzS3pEdXJBcm03U2wyNndfVG9rZW46Ym94Y25SSnRXNzZSSzY1TGwxWjJ6VDE1aXZoXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNAOllyDbg窗口https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=ZmQxODhiOTk4NGY2NGQxMmNkNzE1MjAzOTY4YzgxN2NfR1d5QlYzclJibWJsVXlvOGxYMWZqZjhzNDZXNTZ6cFJfVG9rZW46Ym94Y25kampxSWhZWHlJaDd5eU9GSGswMlNiXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA动态调试破解小程序原理:https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=Y2Y4MWNjYWZjZjhlYzVmMTRlMmUwYWJmYWUzY2ZhZWFfZWJoaTBVRUk1S2N2YTd0N2sxVVhTSW42RE5sZXdGSTNfVG9rZW46Ym94Y25EU3kzVE82M2hiTFhvZ0xWVkx6WlJkXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA输入该输入的信息通过比对程序的本来的值和输入的值假如用户名和密码相符合代码肯定会通过判断,跳转到相应的程序我们所要做的事情,就是在跳转之前看到相应的改变,从而取消改变[*]将文件放入吾爱破解中去
程序会停留在winmain的入口,我们点击执行函数会跳出相应的执行窗口https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=NmNhMjI2OTVjY2VlOWZjNjE4ODZmZTYwMDAxNDA3YWZfYmh0Ykg0UktaTktnU2tnd2wyNWd5WGp3cGdwREltdVZfVG9rZW46Ym94Y25zUWFleWRheXRqbHZ1cGo4QVZBQndiXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
[*]我们随意的输入值(我们肯定是输入的错的用户名和密码,但是我们不是为了成功执行完成去的,而是成功去执行这个整个程序)
假设我们输入的是用户名:1111111序列号(密码):222222点击check,反汇编窗口会自动的跳转到相应的反汇编代码中去
[*]从工具栏的插件选项中打开 “API断点设置工具”,尝试勾选常见的的文本框数值获取的函数 “GetDlgItemTextA”,点击确定后程序将自动在程序中调用了该函数的位置设置断点:
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=OWU4YzA5NGQ5Yjc2YmRlNGQ1ZDRhYTY3MGEwYmRiZGJfdTZ3ZWJTZkliY3BHeTAwUkxjbWV5ZndUMVZjQlZIbWFfVG9rZW46Ym94Y25pUU1ObDNpR0pKd1NGQkt1dnRmR0FiXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
[*]快捷键ctrl+f9,可以执行到有返回值的反汇编代码去
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=OGNjNDI5MTFiZDhiZDc3NjE0NTZhYTliNTk5YTVlN2FfYkRGeWVjMTlwM3oydFRSMlRLdWFicFZ4Q1hMYklsUFFfVG9rZW46Ym94Y25ZTTNIbmZ3Uk5Melc4N1BuWGEwY1FGXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
[*]到达第一个有返回值的代码中去看看
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=ZWM4ZmQyMmU2M2IwYzFlZTE2ODYzYWMzNTBmNDg4ZGJfR3NveUdjTTF6OUpkcjJFV29GQ09yZ3Z4ekdNRnNiY3dfVG9rZW46Ym94Y25lRmpOWnN3dnAybERxczdScTBWTjM2XzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA可以说明程序已经到达了输入用户名信息的时候了和我们之前输入的用户名:11111相同
[*]接着按 F8 单步步过,程序将返回至原先调用了该 “GetDlgItemTextA” 函数的程序位置处(结合汇编代码、注释栏目的信息可确认确实调用了两次获取控件值的参数):
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=YzgwMmQ2YWU5ZjVhMTY2MzBiZjBmNzEwMzhiNjBhMDZfTUxWZG8wQWJHRlN5RWdIRmJJY1AzelJWa2MwNWFiUWhfVG9rZW46Ym94Y25UMU4xc3U2MllXZlNTaVlQaUl6U2FnXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
[*]进行f8 步过去寻找密码的输入...........................
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=OTAwNGQxMzc2NWUwNzFjZWJhOWE3OTE2MDBiNDA1ZDZfZDN6R0RISVlERmZTY3U3dVBuejFrS2l1VjJMTDk0WUxfVG9rZW46Ym94Y25PbUtZZTVtSDlKamljUkdZd090aDBiXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA终于出现了密码的输入了在之后只能是用户名和密码是否匹配的判断了,假如匹配肯定会成功假如不匹配只能是失败这里我们注意一下紧接之后的跳转代码跳转------这里会涉及到标志寄存器里面相应寄存器的功能和执行不同跳转的条件
继续 F8,返回程序程序原来的运行位置,发现后面即将紧接着执行 test 判断指令( 汇编语言的 test 指令是测试指令,用于测试某些位是否为0,执行的是与运算,并且会将 CF 和 OF 置 0,并且影响 SF、ZF,若测试的位均为 0,则 SF=0、ZF=1),同时紧跟着执行了 je 判断跳转指令( je 指令即 Jump if Equals,在 ZF 被置位时跳转)主要看Z(ZFBAI)https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=ZTY2NDE1YmUyMGEyYjFjNzc2ZmVhMDY0NDBmZmViYTRfZUdDckllTE5Pekk5bk41OTk2T3FuNGE2THFSdjkzQ1hfVG9rZW46Ym94Y255Z1BvTTZ5Tm5Ia2Q4OTBUdXNDYTdlXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
[*]在要跳转的跳转符号设置提示
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=ZDY1ZmVkNjkwMGJhMWVmZjQ0NGY2ZWNiOWU2MTE2NzVfUGFRM1RkajhIUmI1MkpvNXMzUzFhblByb3lRVmk1TlpfVG9rZW46Ym94Y25zdW94RnE2YnpreG5sVUxyT3NoZEVnXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
[*]f8一直执行函数直到在信息窗口提示:序列号错误
说明了给出的用户名和序列号不匹配,程序直接就跳转到了错误的位置(可能就是因为 je 跳转的原因)https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=ZWMyYjIxODU1ZmYzOTY4NDUyYmZhYWRiZTliMTRjZTJfMDE2eTRhTnZtcW1GWktGOEI5Z0c5RmViMjF6b2tTcVFfVG9rZW46Ym94Y25GTHVQa3ZkY0F2TE8xVU5HYXNha0ZiXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
这是正常的执行一次程序,我们再一次的执行一次函数,来破译小程序我们再一次f8执行到即将跳转的反汇编函数中
[*]
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=ZjkxMDRkOTk0ODY0ZmViNzllZGQ3NTgyNGQ4MDFkZmVfMTVkNnRyMUdtdnNyWmVCUlYwMkdjOHBuMkZuUUVBRmZfVG9rZW46Ym94Y25wWjRvNDZQSDRqY0lKY2xSaktsZm1lXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA为什么跳转,因为zf标志寄存器变为了1,跳转到了失败之后的代码
[*]
所以我们直接修改zf的值,把zf的值变为0,让它跳转到正确的代码之中去https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=ZGRiZGNjYzBiYjE1OGRhNmMyODk3N2ZmNDVjZDc4MDlfTnFlc0JrclFLN3R6VjlRUGhjaUFxOGpSVW9MNFp1TmdfVG9rZW46Ym94Y24zbEVocjk1SkoyUWd2UUJUOGVhMUZiXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
[*]
https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=NjY0NTIzZWFkNWZlOWVhYjEzMjI0YmIyN2MwOWNhNzZfSmx0Z2tXTnViRGJYYjc2ZTEyNWl1TlUxM09IYWVHR09fVG9rZW46Ym94Y25IbVI1TExCWGIwMnJEOFlEbDJzem5lXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA
最终的修改方法:https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=YjkyNmI5YzFlNjgzMWU2OTdkZGNiOGJkZjk0Y2M0MTlfMmQ2TGpNcm9xUE1neFZpVmY1NFZPcEhTOUR6MmcxNDRfVG9rZW46Ym94Y25BZ25UTjVpTzdsczJUb2JrSVp6U3hkXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA刚刚我们修改了标志寄存器中的ZF让它从1变成了0从而跳转到了成功之后的代码这里我们直接将je修改为jne让之后通过此代码之后的ZF值直接变为0
[*]修改
双击 je 指令处的汇编代码,将 je 修改为 jne 指令: https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=MzdiZWU4MDMyNGUyYWViZDE4NTc3NGJkOGMwZDQ1MjNfV05jaUlzMEFxSGtJemtVR2lYRkRxdzg4ZllwNUxNN1JfVG9rZW46Ym94Y25MZmZGRWNKSXN6MlcwUUdJbEhkbEtkXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA2.保存(点击函数,右键复制执行文件)保存修改之后的指令:https://ryni70k1du.feishu.cn/space/api/box/stream/download/asynccode/?code=MmUyZDg1M2Y4YTA2OTRmNjcxODNhN2RkM2I5NWRjMDlfQUZmMDM0ZE85VG5oNGJhTEh6ekZxcTdHbUhENDdlYlVfVG9rZW46Ym94Y25JeTJnNDNDWEpuMmY4WWtSTVpWdkZMXzE2Njk3MjUwOTU6MTY2OTcyODY5NV9WNA再右键保存文件
之后生成的新的可执行文件就是我们破译之后的小程序了小歪瓜,本文章有其他文本的借鉴 大佬,我在网上找了一些flash学习视频,但是是培训机构录制的并且加密了,还弄了个配套的播放器要激活码,但是这个培训机构倒闭了都找不到地方买激活码,能帮忙看下么,我悬赏了
吾爱破解悬赏链接 chenchenchen777 发表于 2022-11-30 16:41
G,不知道为什么图片就不见了,之前都是好的,重新发
你的外链图片出现盗链了,直接把图片上传论坛本地贴到正文就行。 感谢分享! 学习了,感谢分享 图片加载不出来?
学习了,感谢分享 为啥我的页面一直加载不出来图片? 没图啊,楼主 感谢分享!!! 只能看看文字说明了,没图片对我们这小小白来说太难了 图片好像都加载不出来