cu629944 发表于 2011-3-30 20:38

过滤王自动输入身份证软件的追注册码的简单分析

本帖最后由 lkou 于 2011-5-8 21:06 编辑

【文章标题】: 过滤王自动输入身份证软件的追注册码
【文章作者】: cu629944
【作者邮箱】: 1015636182@qq.com
【软件名称】: 过滤王自动输入身份证
【下载地址】: (前天从吾爱论坛看到的!今天才有空看!)http://u.115.com/file/t67f0c831#
【加壳方式】: Nspack
【使用工具】: PEID, OD
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
我是菜鸟哦!做个爆破给大家看看!请大牛指正哦!

先用PEID查壳,是 nsPack ver.3.x-4.1 reg by North Star   -   Overlay ,有附加数据!脱壳和附加数据就不演示了!
脱壳和附加数据的处理网上一搜一大堆哦!

现在开始破解啦!

用OD载入,右键==》超级字符串参考==》查找ASCII码,在打开的窗口中看到 krnln.fnr和 krnln.fne两个函数库!所以
可以判定为易语言的程序!双击进入krnln.fne函数库!向下面拉,找到 0040150E|.FFD0          CALL EAX,看到
CALL EAX,在0040150E这里下断,F9运行,段在了这里,F7跟进,F8单步走,到达这里

100297A6    E8 04F5FFFF   CALL krnln.10028CAF,F7跟进去,向下面翻,找到JMP EAX,也就是10028CE3,F4运行
到这里,然后F8步过,然后邮件==》分析==》删除模块代码。好了,现在可以查找字符串了!“找到软件真正成功!可以
无限使用该软件!”这串字符串,双击进去!


00419699    58            POP EAX
0041969A    8945 F4         MOV DWORD PTR SS:,EAX
0041969D    6A FF         PUSH -1
0041969F    6A 08         PUSH 8
004196A1    68 54100116   PUSH 16011054
004196A6    68 4D100152   PUSH 5201104D
004196AB    E8 B40B0000   CALL 2.0041A264
004196B0    83C4 10         ADD ESP,10
004196B3    8945 F0         MOV DWORD PTR SS:,EAX
004196B6    8B45 F4         MOV EAX,DWORD PTR SS:
004196B9    50            PUSH EAX
004196BA    FF75 F0         PUSH DWORD PTR SS:
004196BD    E8 25C8FFFF   CALL 2.00415EE7
004196C2    83C4 08         ADD ESP,8
004196C5    83F8 00         CMP EAX,0
004196C8    B8 00000000   MOV EAX,0
004196CD    0F94C0          SETE AL
004196D0    8945 EC         MOV DWORD PTR SS:,EAX
004196D3    8B5D F0         MOV EBX,DWORD PTR SS:
004196D6    85DB            TEST EBX,EBX
004196D8    74 09         JE SHORT 2.004196E3
004196DA    53            PUSH EBX
004196DB    E8 6C0B0000   CALL 2.0041A24C
004196E0    83C4 04         ADD ESP,4
004196E3    837D EC 00      CMP DWORD PTR SS:,0
004196E7    0F84 49000000   JE 2.00419736
004196ED    6A 00         PUSH 0
004196EF    68 55944000   PUSH 2.00409455                        ; 本机已经认证成功!此注册只限于本机使用!
004196F4    6A FF         PUSH -1
004196F6    6A 08         PUSH 8
004196F8    68 4F100116   PUSH 1601104F
004196FD    68 4D100152   PUSH 5201104D
00419702    E8 510B0000   CALL 2.0041A258
00419707    83C4 18         ADD ESP,18
0041970A    6A 00         PUSH 0
0041970C    68 01934000   PUSH 2.00409301                        ; 软件认证成功!可无限时使用该软件!
00419711    6A FF         PUSH -1
00419713    6A 08         PUSH 8
00419715    68 72100116   PUSH 16011072
0041971A    68 4C000152   PUSH 5201004C
0041971F    E8 340B0000   CALL 2.0041A258
00419724    83C4 18         ADD ESP,18
00419727    B8 01000000   MOV EAX,1
0041972C    E9 49000000   JMP 2.0041977A
00419731    E9 44000000   JMP 2.0041977A
00419736    6A 00         PUSH 0
00419738    68 7E944000   PUSH 2.0040947E                        ; 本机认证失败!请检查注册码和认证硬件是否正确!
0041973D    6A FF         PUSH -1
0041973F    6A 08         PUSH 8
00419741    68 4F100116   PUSH 1601104F
00419746    68 4D100152   PUSH 5201104D
0041974B    E8 080B0000   CALL 2.0041A258
00419750    83C4 18         ADD ESP,18
00419753    6A 00         PUSH 0
00419755    68 29934000   PUSH 2.00409329                        ; 程序未注册,或者注册信息不正确!未注册用户每次只能使用20分钟,程序将自动退出!
0041975A    6A FF         PUSH -1
0041975C    6A 08         PUSH 8
0041975E    68 72100116   PUSH 16011072
00419763    68 4C000152   PUSH 5201004C
00419768    E8 EB0A0000   CALL 2.0041A258
0041976D    83C4 18         ADD ESP,18
00419770    B8 00000000   MOV EAX,0
00419775    E9 00000000   JMP 2.0041977A
0041977A    50            PUSH EAX
0041977B    8B5D FC         MOV EBX,DWORD PTR SS:
0041977E    85DB            TEST EBX,EBX
00419780    74 09         JE SHORT 2.0041978B
00419782    53            PUSH EBX
00419783    E8 C40A0000   CALL 2.0041A24C
00419788    83C4 04         ADD ESP,4
0041978B    8B5D F4         MOV EBX,DWORD PTR SS:
0041978E    85DB            TEST EBX,EBX
00419790    74 09         JE SHORT 2.0041979B
00419792    53            PUSH EBX
00419793    E8 B40A0000   CALL 2.0041A24C
00419798    83C4 04         ADD ESP,4
0041979B    58            POP EAX
0041979C    8BE5            MOV ESP,EBP
0041979E    5D            POP EBP
0041979F    C3            RETN


来到0041970C 这里,向上面找找到段首004194DA,下F2断点


004194DA    55            PUSH EBP
004194DB    8BEC            MOV EBP,ESP
004194DD    81EC 18000000   SUB ESP,18
004194E3    C745 FC 0000000>MOV DWORD PTR SS:,0
004194EA    C745 F8 0000000>MOV DWORD PTR SS:,0
004194F1    C745 F4 0000000>MOV DWORD PTR SS:,0
004194F8    6A FF         PUSH -1
004194FA    6A 13         PUSH 13
004194FC    68 50100116   PUSH 16011050
00419501    68 4D100152   PUSH 5201104D
00419506    E8 590D0000   CALL 2.0041A264
0041950B    83C4 10         ADD ESP,10
0041950E    68 01030080   PUSH 80000301
00419513    6A 00         PUSH 0
00419515    50            PUSH EAX
00419516    68 0E000100   PUSH 1000E
0041951B    68 50100116   PUSH 16011050
00419520    68 4D100152   PUSH 5201104D
00419525    68 02000000   PUSH 2
0041952A    BB BC030000   MOV EBX,3BC
0041952F    E8 2A0D0000   CALL 2.0041A25E
00419534    83C4 1C         ADD ESP,1C
00419537    8945 EC         MOV DWORD PTR SS:,EAX
0041953A    68 04000080   PUSH 80000004
0041953F    6A 00         PUSH 0
00419541    8B45 EC         MOV EAX,DWORD PTR SS:
00419544    85C0            TEST EAX,EAX
00419546    75 05         JNZ SHORT 2.0041954D
00419548    B8 EB914000   MOV EAX,2.004091EB
0041954D    50            PUSH EAX
0041954E    68 01000000   PUSH 1
00419553    BB 68010000   MOV EBX,168
00419558    E8 010D0000   CALL 2.0041A25E
0041955D    83C4 10         ADD ESP,10
00419560    8945 E8         MOV DWORD PTR SS:,EAX
00419563    8B5D EC         MOV EBX,DWORD PTR SS:
00419566    85DB            TEST EBX,EBX
00419568    74 09         JE SHORT 2.00419573
0041956A    53            PUSH EBX
0041956B    E8 DC0C0000   CALL 2.0041A24C
00419570    83C4 04         ADD ESP,4
00419573    8B45 E8         MOV EAX,DWORD PTR SS:
00419576    50            PUSH EAX
00419577    8B5D FC         MOV EBX,DWORD PTR SS:
0041957A    85DB            TEST EBX,EBX
0041957C    74 09         JE SHORT 2.00419587
0041957E    53            PUSH EBX
0041957F    E8 C80C0000   CALL 2.0041A24C
00419584    83C4 04         ADD ESP,4
00419587    58            POP EAX
00419588    8945 FC         MOV DWORD PTR SS:,EAX
0041958B    68 EB914000   PUSH 2.004091EB
00419590    FF75 FC         PUSH DWORD PTR SS:
00419593    E8 4FC9FFFF   CALL 2.00415EE7
00419598    83C4 08         ADD ESP,8
0041959B    83F8 00         CMP EAX,0
0041959E    0F85 1F000000   JNZ 2.004195C3
004195A4    B8 A1934000   MOV EAX,2.004093A1                     ; 54ds
004195A9    50            PUSH EAX
004195AA    8B5D FC         MOV EBX,DWORD PTR SS:
004195AD    85DB            TEST EBX,EBX
004195AF    74 09         JE SHORT 2.004195BA
004195B1    53            PUSH EBX
004195B2    E8 950C0000   CALL 2.0041A24C
004195B7    83C4 04         ADD ESP,4
004195BA    58            POP EAX
004195BB    8945 FC         MOV DWORD PTR SS:,EAX
004195BE    E9 00000000   JMP 2.004195C3
004195C3    33C9            XOR ECX,ECX
004195C5    8D45 F8         LEA EAX,DWORD PTR SS:
004195C8    8BD8            MOV EBX,EAX
004195CA    41            INC ECX
004195CB    51            PUSH ECX
004195CC    53            PUSH EBX
004195CD    890B            MOV DWORD PTR DS:,ECX
004195CF    83F9 04         CMP ECX,4
004195D2    0F8F 91000000   JG 2.00419669
004195D8    68 A6934000   PUSH 2.004093A6                        ; zwbktx
004195DD    FF75 FC         PUSH DWORD PTR SS:
004195E0    68 AD934000   PUSH 2.004093AD                        ; tacdqc
004195E5    B9 03000000   MOV ECX,3
004195EA    E8 2AD7FFFF   CALL 2.00416D19
004195EF    83C4 0C         ADD ESP,0C
004195F2    8945 F0         MOV DWORD PTR SS:,EAX
004195F5    68 04000080   PUSH 80000004
004195FA    6A 00         PUSH 0
004195FC    8B45 F0         MOV EAX,DWORD PTR SS:
004195FF    85C0            TEST EAX,EAX
00419601    75 05         JNZ SHORT 2.00419608
00419603    B8 EB914000   MOV EAX,2.004091EB
00419608    50            PUSH EAX
00419609    68 01000000   PUSH 1
0041960E    BB 98010000   MOV EBX,198
00419613    E8 460C0000   CALL 2.0041A25E
00419618    83C4 10         ADD ESP,10
0041961B    8945 EC         MOV DWORD PTR SS:,EAX
0041961E    8B5D F0         MOV EBX,DWORD PTR SS:
00419621    85DB            TEST EBX,EBX
00419623    74 09         JE SHORT 2.0041962E
00419625    53            PUSH EBX
00419626    E8 210C0000   CALL 2.0041A24C
0041962B    83C4 04         ADD ESP,4
0041962E    8D45 EC         LEA EAX,DWORD PTR SS:
00419631    50            PUSH EAX
00419632    E8 4BECFFFF   CALL 2.00418282
00419637    8945 E8         MOV DWORD PTR SS:,EAX
0041963A    8B5D EC         MOV EBX,DWORD PTR SS:
0041963D    85DB            TEST EBX,EBX
0041963F    74 09         JE SHORT 2.0041964A
00419641    53            PUSH EBX
00419642    E8 050C0000   CALL 2.0041A24C
00419647    83C4 04         ADD ESP,4
0041964A    8B45 E8         MOV EAX,DWORD PTR SS:
0041964D    50            PUSH EAX
0041964E    8B5D FC         MOV EBX,DWORD PTR SS:
00419651    85DB            TEST EBX,EBX
00419653    74 09         JE SHORT 2.0041965E
00419655    53            PUSH EBX
00419656    E8 F10B0000   CALL 2.0041A24C
0041965B    83C4 04         ADD ESP,4
0041965E    58            POP EAX
0041965F    8945 FC         MOV DWORD PTR SS:,EAX
00419662    5B            POP EBX
00419663    59            POP ECX
00419664^ E9 61FFFFFF   JMP 2.004195CA
00419669    83C4 08         ADD ESP,8
0041966C    8B45 FC         MOV EAX,DWORD PTR SS:
0041966F    85C0            TEST EAX,EAX
00419671    74 15         JE SHORT 2.00419688
00419673    50            PUSH EAX
00419674    8BD8            MOV EBX,EAX
00419676    E8 33D6FFFF   CALL 2.00416CAE
0041967B    40            INC EAX
0041967C    50            PUSH EAX
0041967D    E8 D00B0000   CALL 2.0041A252
00419682    59            POP ECX
00419683    5E            POP ESI
00419684    8BF8            MOV EDI,EAX
00419686    F3:A4         REP MOVS BYTE PTR ES:,BYTE PTR DS:[>
00419688    50            PUSH EAX
00419689    8B5D F4         MOV EBX,DWORD PTR SS:
0041968C    85DB            TEST EBX,EBX
0041968E    74 09         JE SHORT 2.00419699
00419690    53            PUSH EBX
00419691    E8 B60B0000   CALL 2.0041A24C
00419696    83C4 04         ADD ESP,4
00419699    58            POP EAX
0041969A    8945 F4         MOV DWORD PTR SS:,EAX
0041969D    6A FF         PUSH -1
0041969F    6A 08         PUSH 8
004196A1    68 54100116   PUSH 16011054
004196A6    68 4D100152   PUSH 5201104D
004196AB    E8 B40B0000   CALL 2.0041A264
004196B0    83C4 10         ADD ESP,10
004196B3    8945 F0         MOV DWORD PTR SS:,EAX
004196B6    8B45 F4         MOV EAX,DWORD PTR SS:
004196B9    50            PUSH EAX
004196BA    FF75 F0         PUSH DWORD PTR SS:
004196BD    E8 25C8FFFF   CALL 2.00415EE7
004196C2    83C4 08         ADD ESP,8
004196C5    83F8 00         CMP EAX,0
004196C8    B8 00000000   MOV EAX,0
004196CD    0F94C0          SETE AL
004196D0    8945 EC         MOV DWORD PTR SS:,EAX
004196D3    8B5D F0         MOV EBX,DWORD PTR SS:
004196D6    85DB            TEST EBX,EBX
004196D8    74 09         JE SHORT 2.004196E3
004196DA    53            PUSH EBX
004196DB    E8 6C0B0000   CALL 2.0041A24C
004196E0    83C4 04         ADD ESP,4
004196E3    837D EC 00      CMP DWORD PTR SS:,0
004196E7    0F84 49000000   JE 2.00419736
004196ED    6A 00         PUSH 0
004196EF    68 55944000   PUSH 2.00409455                        ; 本机已经认证成功!此注册只限于本机使用!
004196F4    6A FF         PUSH -1
004196F6    6A 08         PUSH 8
004196F8    68 4F100116   PUSH 1601104F
004196FD    68 4D100152   PUSH 5201104D
00419702    E8 510B0000   CALL 2.0041A258
00419707    83C4 18         ADD ESP,18
0041970A    6A 00         PUSH 0
0041970C    68 01934000   PUSH 2.00409301                        ; 软件认证成功!可无限时使用该软件!
00419711    6A FF         PUSH -1
00419713    6A 08         PUSH 8
00419715    68 72100116   PUSH 16011072
0041971A    68 4C000152   PUSH 5201004C
0041971F    E8 340B0000   CALL 2.0041A258
00419724    83C4 18         ADD ESP,18
00419727    B8 01000000   MOV EAX,1
0041972C    E9 49000000   JMP 2.0041977A
00419731    E9 44000000   JMP 2.0041977A
00419736    6A 00         PUSH 0
00419738    68 7E944000   PUSH 2.0040947E                        ; 本机认证失败!请检查注册码和认证硬件是否正确!
0041973D    6A FF         PUSH -1
0041973F    6A 08         PUSH 8
00419741    68 4F100116   PUSH 1601104F
00419746    68 4D100152   PUSH 5201104D
0041974B    E8 080B0000   CALL 2.0041A258
00419750    83C4 18         ADD ESP,18
00419753    6A 00         PUSH 0
00419755    68 29934000   PUSH 2.00409329                        ; 程序未注册,或者注册信息不正确!未注册用户每次只能使用20分钟,程序将自动退出!
0041975A    6A FF         PUSH -1
0041975C    6A 08         PUSH 8
0041975E    68 72100116   PUSH 16011072

点击运行,然后点系统菜单==》软件注册,输入假的注册码“asdfasdfasdf”段下来啦,断在004194DA,F8单步跟踪,注意堆栈和寄存器窗口。

到这里 0041952F    E8 2A0D0000   CALL 2.0041A25E 在寄存器窗口的EAX上出现了我们的机器码 WD-WMAV2M722775
继续跟踪,到达这里004195CC,向下看看,发现有循环,也就是说从004195CC开始,开始算注册码当到00419669的时候,
我们的注册码就全部在堆栈窗口出现了,我们先暂时复制下来,
0012F6C4   00144680ASCII "VEFDRFFDVkVGRFJGRkRWa1ZHUkZKR1JrUldhMVpIVWtaS1IxSnJVbGROUmtZd1ZtcEJlRkZzV25GVGF6VlBaV3RzTlZSdWNHcE5WbVJ6V2tWT1ZFMVdTbHBYYkdSRFV6RlNXVnBYUWt0VVdBPT1aV0JLVFg="
先假定它是我们的注册码!继续向下跟踪,当到004196BD的时候,我们的假注册码和真的注册码同时在寄存器窗口出现了!
我们继续向下跟踪

004196D6    85DB            TEST EBX,EBX

这里开始对比了,EBX如果为0就跳到注册失败!

004196D8   /74 09         JE SHORT 2.004196E3
004196DA   |53            PUSH EBX
004196DB   |E8 6C0B0000   CALL 2.0041A24C
004196E0   |83C4 04         ADD ESP,4
004196E3   \837D EC 00      CMP DWORD PTR SS:,0
004196E7    0F84 49000000   JE 2.00419736
004196ED    6A 00         PUSH 0
004196EF    68 55944000   PUSH 2.00409455                        ; 本机已经认证成功!此注册只限于本机使用!
004196F4    6A FF         PUSH -1
004196F6    6A 08         PUSH 8
004196F8    68 4F100116   PUSH 1601104F
004196FD    68 4D100152   PUSH 5201104D
00419702    E8 510B0000   CALL 2.0041A258
00419707    83C4 18         ADD ESP,18
0041970A    6A 00         PUSH 0
0041970C    68 01934000   PUSH 2.00409301                        ; 软件认证成功!可无限时使用该软件!
00419711    6A FF         PUSH -1
00419713    6A 08         PUSH 8
00419715    68 72100116   PUSH 16011072
0041971A    68 4C000152   PUSH 5201004C
0041971F    E8 340B0000   CALL 2.0041A258
00419724    83C4 18         ADD ESP,18
00419727    B8 01000000   MOV EAX,1
0041972C    E9 49000000   JMP 2.0041977A
00419731    E9 44000000   JMP 2.0041977A
00419736    6A 00         PUSH 0
00419738    68 7E944000   PUSH 2.0040947E                        ; 本机认证失败!请检查注册码和认证硬件是否正确!
0041973D    6A FF         PUSH -1
0041973F    6A 08         PUSH 8
00419741    68 4F100116   PUSH 1601104F
00419746    68 4D100152   PUSH 5201104D
0041974B    E8 080B0000   CALL 2.0041A258
00419750    83C4 18         ADD ESP,18
00419753    6A 00         PUSH 0
00419755    68 29934000   PUSH 2.00409329                        ; 程序未注册,或者注册信息不正确!未注册用户每次只能使用20分钟,程序将自动退出!
0041975A    6A FF         PUSH -1

好了,跟到这里我们可以关掉OD,去试试我们刚才得到的注册码是否正确,大家也可以尝试爆破一下哈!


试了一下,是真的注册码!我们可以可无限时使用该软件了!


--------------------------------------------------------------------------------
【经验总结】
一个简单的软件,没啥可说的!

--------------------------------------------------------------------------------
【版权声明】: 本文原创于cu629944, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2011年03月30日 下午 08:37:22

287166966 发表于 2011-3-30 20:46

呵呵!!谢谢支持!

ak2500 发表于 2011-3-30 20:40

很详细呵呵支持一下再看

lmj43993839 发表于 2011-3-30 20:54

很强大   详细    学习了

哀而不伤 发表于 2011-3-30 21:40

好教程 学习了~~

落雪飞花 发表于 2011-3-30 21:42

很不错!不过我想向楼主请教几个问题!
在打开的窗口中看到 krnln.fnr和 krnln.fne两个函数库!所以
可以判定为易语言的程序!双击进入krnln.fne函数库!为何要选这个函数库?

向下面拉,找到 0040150E|.FFD0          CALL EAX,看到为何要找到这个call前面还有一个EAX!为何在那里下断!CALL EAX,在0040150E这里下断,F9运行,段在了这里,F7跟进,F8单步走,到达这里

100297A6    E8 04F5FFFF   CALL krnln.10028CAF,F7跟进去,向下面翻,找到JMP EAX,也就是10028CE3,为什么在这里跟进后 分析却能找到代码? F4运行
到这里,然后F8步过,然后邮件==》分析==》删除模块代码。

joan 发表于 2011-3-30 22:08

都是高手。。。。

家园春正浓 发表于 2011-3-30 23:26

很详细   谢楼主的分享   呵呵呵

cu629944 发表于 2011-3-31 12:51

回复 落雪飞花 的帖子

krnln.fnr和krnln.fne是易语言的支持库,所以要双击这两个支持库中的任意一个就可以了!而且!只有来到易语言的支持库中才能搜索到有用的字符串,这也是易语言对程序的一种保护吧!
所以我们要顺利的到达支持库中,就需要在0040150E跟进去,至于下断和F4运行是我为了节约时间而已!你也可以慢慢单步跟踪!当到了易语言的支持库中,就自然而然的找到了我们需要的代码了!

落雪飞花 发表于 2011-3-31 13:54

回复 cu629944 的帖子

虽然还没明白!不过还是谢谢了
页: [1] 2 3 4
查看完整版本: 过滤王自动输入身份证软件的追注册码的简单分析