吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14158|回复: 64
收起左侧

[原创] XXXXXU盘杀毒的追码过程

  [复制链接]
夏洛魂 发表于 2017-6-6 14:06
本帖最后由 姐又寡闻了 于 2019-6-6 22:32 编辑

来到论坛也有一段时间了,玩了一段日子的爆破,想玩玩别的方式了。学了一段日子的汇编 就拿U盘杀毒专家这个软件来试试吧。
大家可以自行搜索 U盘杀毒专家进行下载,这个软件还可以吧 我U盘在学校的机子上感染了病毒,就用他把病毒干掉的

首先打开软件 点击注册   1.png   弹出错误 直接拉到OD 用暂停法,这里就不查壳和脱壳了 将软件在OD中运行,输入假码 进行注册 弹出错误弹窗,然后F12暂停 查看堆栈窗口K
2.png
双击所在行 进入弹错CAll  然后找到可以跳过去的 跳转指令
3.png
jnz指令就是我们找到的可以跳过去的 那上面自然就是关键call了  在关键call下断.  运行程序, 此时在关键call断下,F7进CAll
然后单步跟下去 会有两个可以注册码
4.png
这是第一个可疑注册码  我们记下来
5.png
这是第二个注册码 我们也记下来,经过测试他就是真码
但我们今天玩的是 这个真码究竟是如何算出来的,我们在出现真码的上一个CAll, F7跟进去
6.png
进去 后单步跟 我们又一次看到了 机器码
我们在出现机器码的下一个CAll跟进去 这里就是算法部分了, 很简单的 适合和我一样的新手来分析 这里我就把算法部分贴出来 如有不对的地方,还请指正

[Asm] 纯文本查看 复制代码

004DEF68    8D43 14         lea eax,dword ptr ds:[ebx+0x14]
004DEF6B    50              push eax
004DEF6C    8BC3            mov eax,ebx
004DEF6E    5A              pop edx                                  ; 0012F8A8
004DEF6F    8BCA            mov ecx,edx
004DEF71    99              cdq
004DEF72    F7F9            idiv ecx
004DEF74    8BF2            mov esi,edx
004DEF76    8D43 1E         lea eax,dword ptr ds:[ebx+0x1E]
004DEF79    50              push eax
004DEF7A    8BC3            mov eax,ebx
004DEF7C    5A              pop edx                                  ; 0012F8A8
004DEF7D    8BCA            mov ecx,edx
004DEF7F    99              cdq
004DEF80    F7F9            idiv ecx
004DEF82    03F2            add esi,edx
004DEF84    46              inc esi                                                                  上面的计算是 计算每次循环所取机器码位置的2倍再加1的值放到esi中
004DEF85    8B45 FC         mov eax,dword ptr ss:[ebp-0x4]     
004DEF88    0FB64418 FF     movzx eax,byte ptr ds:[eax+ebx-0x1]   每循环一次 将机器码的其中一位给 eax
004DEF8D    03C6            add eax,esi                                                        esi为上面所取机器码所在位置的2倍再加1
004DEF8F    40              inc eax                              eax自增1
004DEF90    83C0 CF         add eax,-0x31                                               eax-31
004DEF93    83E8 09         sub eax,0x9                          eax-9
004DEF96    72 08           jb short USBKille.004DEFA0                                进行判断 小于就跳
004DEF98    83C0 F9         add eax,-0x7                         eax-7                                         符合条件的话 就是 此时eax-7>0  
004DEF9B    83E8 1A         sub eax,0x1A                         eax-1A                                       符合条件的话就是 此时 eax-1A<0
004DEF9E    73 1E           jnb short USBKille.004DEFBE                               进行判断  不小于就跳  
004DEFA0    8D45 F0         lea eax,dword ptr ss:[ebp-0x10]
004DEFA3    8B55 FC         mov edx,dword ptr ss:[ebp-0x4]
004DEFA6    0FB6541A FF     movzx edx,byte ptr ds:[edx+ebx-0x1]        开始计算真正的注册码 取机器码中的一位(每次循环按顺序取一位)
004DEFAB    03D6            add edx,esi                                                            edx为这一次循环中所取的机器码其中的一位 esi为上面所取机器码所在位置的2倍再加1 
004DEFAD    42              inc edx                                                                      edx自增1  将edx此时的值转换成ascii码 就是对应的机器码位置计算出来的注册码 我们将每一次循环的值记下来就是真正的注册码了
004DEFAE    E8 E961F2FF     call USBKille.0040519C
004DEFB3    8B55 F0         mov edx,dword ptr ss:[ebp-0x10]
004DEFB6    8D45 F4         lea eax,dword ptr ss:[ebp-0xC]
004DEFB9    E8 BE62F2FF     call USBKille.0040527C
004DEFBE    43              inc ebx
004DEFBF    4F              dec edi
004DEFC0  ^ 75 A6           jnz short USBKille.004DEF68



jb 小于就跳
jnb 不小于就跳
检测的是CF标志位 CF标志位 对于无符号计算时 最高位进位或者借位时,则为1      

免费评分

参与人数 39威望 +1 吾爱币 +46 热心值 +39 收起 理由
fop2020 + 1 + 1 用心讨论,共获提升!
heavy_fire + 1 + 1 谢谢@Thanks!
maloneshaw + 1 + 1 谢谢@Thanks!
flexlm_crk + 1 + 1 谢谢@Thanks!
kindiaing + 1 + 1 鼓励转贴优秀软件安全工具和文档!
zjjxyz + 1 + 1 谢谢@Thanks!
归路碧迢迢 + 1 + 1 用心讨论,共获提升!
勤奋的刘小朵 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
海天一色001 + 1 + 1 我很赞同!
helloword121 + 1 + 1 谢谢@Thanks!
jeehom + 1 + 1 谢谢@Thanks!
守护神艾丽莎 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
尹天仇 + 1 + 1 已答复!
wenen + 1 + 1 我很赞同!
qingliang87 + 1 热心回复!
Conver + 1 + 1 我很赞同!
Eleven + 1 热心回复!
ahmeijian + 1 + 1 谢谢@Thanks!
qaz003 + 1 + 1 谢谢@Thanks!
小黑霸天 + 1 + 1 谢谢@Thanks!
鱼遇雨欲语 + 1 + 1 继续加油,很详细
局外人 + 1 + 1 不容易
GNUBD + 1 + 1 谢谢@Thanks!
610100 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
123456789we + 1 + 1 我很赞同!
不爱哭 + 1 + 1 用心讨论,共获提升!
chanzi1518 + 1 + 1 我很赞同!
ie765 + 1 + 1 用心讨论,共获提升!
liphily + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
a6610667 + 1 + 1 谢谢@Thanks!
oxxo119 + 1 我很赞同!
xiaofengzi + 1 + 1 热心回复!
葫芦小金刚 + 1 + 1 非常感谢 希望继续发布一些基础教程
121458868 + 1 + 1 用心讨论,共获提升!
Hmily + 1 + 10 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
pwp + 1 没币没费币了,精神上鼓励你
jori + 1 + 1 我很赞同!
陈北玄 + 1 + 1 支持
zhaotianrun + 2 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

pwp 发表于 2017-6-6 14:59
楼主厉害了,学汇编学了多久了呢?我也在学汇编了,不知什么时候才有你这技术

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Oldpit + 1 + 1 我也想。。

查看全部评分

 楼主| 夏洛魂 发表于 2017-6-6 20:49 来自手机
cqr2287 发表于 2017-6-6 19:51
挺好的。有几个我看不太明白的地方(故打算自己跟一下算法)
1. esi为上面所取机器码所在位置的2倍再加1  ...

比如机器码是ABCDEFG  他的注册码的每一位是根据 机器码的每一位取的  算注册码第一位的时候 取机器码中的A 然后判断是否符合条件 符合的话就计算注册码的第一位  那A是机器码的第一位,esi就是 2乘以1然后再加1
zhaotianrun 发表于 2017-6-6 14:16
 楼主| 夏洛魂 发表于 2017-6-6 14:22 来自手机
zhaotianrun 发表于 2017-6-6 14:16
能不能发一下软件,我也学习学习谢谢

百度搜索 u盘杀毒专家就有的
头像被屏蔽
筱闲 发表于 2017-6-6 15:00
提示: 作者被禁止或删除 内容自动屏蔽
qxyokok 发表于 2017-6-6 15:12
新手确实很受用,仔细研读了好半天。非常感谢楼主的分享
xiaojia735 发表于 2017-6-6 15:29
感觉用不上 不过还是支持下
xingmax1900 发表于 2017-6-6 15:36
学习一下,多谢教导。
Pythoner 发表于 2017-6-6 15:51
这个东西现在都收费啦?我记得很多年前我还经常用,那个时候xp时代,lpk.dll病毒很厉害的,别的都杀不了,只有这个小工具能杀!
pys 发表于 2017-6-6 16:22
好不错,!!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-24 12:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表