《雅奇880》企业版V2011系统(0915) 加密狗破解版(含破解方法)
做这个破解是因为现在网上流传的雅奇MIS破解版本都是基于网络验证注册码方式的,在运行过程中会访问雅奇的网站进行注册验证(用个数据包侦听工具侦听80端口就可以看到),自己也做了个基于这样的破解,但如果雅奇网站的注册验证程序关闭,那程序在启动和运行时就会很慢,会弹出IE窗口来,这样就有了隐患,这样的破解程序我用起来不放心。。。还有一个原因是,雅奇MIS是我买的第一个国产正版软件,08年的时候雅奇的广告铺天盖地,于是花了800元左右买了套正版用用,邮寄过来一张正版证书、一张安装光盘和一只老版本的域天32位智能狗,09年下半年,雅奇出了大师版,打电话去问我的正版狗能不能用在大师版上,说要用大师版要再花880元买一套,跟他(一个娘娘腔半老头的声音)好说歹说还是要我花880元,想想买的第一个正版软件用了一年就这样,真是伤心,伤心死了,之后就忘记了这套软件,直到最近2012年,抽屉里翻翻翻出了那个雅奇正版域天32位的老版本狗,就上雅奇的网站去看了下,现在已经叫《雅奇880》企业版了,最新正式版2011(0915),马勒戈壁的,那句“优惠期的998元工本价优惠,将在近期结束,并恢复原价为“5998元”的鸟话还在,从08年到现在,不知道多少人被这句话骗了,日啊日啊日,于是开OD开IDA,无狗日,日完发现还是有网络数据包收发,不放心,随便插了个以前在域天公司买的新版的域天32位智能狗空狗开日,在IDA中打开域天32位智能锁开发SDK中Delphi部份(雅奇MIS是用Delphi写的)的my32.obj文件,看狗开发文档操作用户锁部份API函数,在IDA中找对应的狗函数,用特征汇编语句,在OD中雅奇MIS主程序空间里定位狗相关函数(用查找命令或命令序列的功能),具体见下面暴破点。实际是用到了狗的三个函数FindPort(找狗)函数CalEx函数(进行自定义算法)EdcByFile函数(根据授权号对加密文件进行注册,生成注册后的密文文件),大概是雅奇MIS对域天的狗运用的不好,直接暴掉就可以用了,这里我没有处理FindPort函数是因为这函数要找狗得到一个狗路径,而这狗路径实际是一个驱动器号,所以要有一个真实的域天32位智能锁(可以是任意大街上买的这种空狗)插着。现在雅奇公司把主要精力放在了WEB版上,企业版不会再有大的改进了,但我觉得WEB版不如用魔方网表,毕竟魔方网表是基于java的封装,而且发展了这么多年了。基于WEB的我看好魔方网表,但是魔方网表价格太贵了。
如果雅奇MIS再有2012正式版出来,我也不会再去破它了,因为这个MIS快速开发工具发展了这么多年,成熟度已经很高了,现在的2011(0915)正式版已够用。
关于如何去买域天32位智能锁,我建议直接找域天厂家买http://www.dgyzt.com/ 32位智能卡含税价¥39那种,买来插上就行,不用写狗不写狗的,空狗插上就行。
此文没有出处,如你转发,不用说明出处,随便转,但请保证此文的完整性,谢谢。
雅奇MIS官方网站下载帐号 用户名:大连密码:1234
下面是《雅奇880》企业版V2011系统(0915)中的代码暴破点
============================================第一处
006B05E8|> \8D45 D8 |lea eax, dword ptr
006B05EB|.50 |push eax
006B05EC|.8D45 D4 |lea eax, dword ptr
006B05EF|.50 |push eax
006B05F0|.8D45 D0 |lea eax, dword ptr
006B05F3|.50 |push eax
006B05F4|.8D45 CC |lea eax, dword ptr
006B05F7|.50 |push eax
006B05F8|.8D45 C8 |lea eax, dword ptr
006B05FB|.50 |push eax
006B05FC|.8D45 C4 |lea eax, dword ptr
006B05FF|.50 |push eax
006B0600|.8D45 B8 |lea eax, dword ptr
006B0603|.50 |push eax
006B0604|.8D45 B0 |lea eax, dword ptr
006B0607|.50 |push eax
006B0608|.8D45 A8 |lea eax, dword ptr
006B060B|.50 |push eax
006B060C|.8D45 A0 |lea eax, dword ptr
006B060F|.50 |push eax
006B0610|.8D45 98 |lea eax, dword ptr
006B0613|.50 |push eax
006B0614|.8D45 90 |lea eax, dword ptr
006B0617|.50 |push eax
006B0618|.8D45 88 |lea eax, dword ptr
006B061B|.50 |push eax
006B061C|.8D45 80 |lea eax, dword ptr
006B061F|.50 |push eax
006B0620|.8D85 4AFFFFFF |lea eax, dword ptr
006B0626|.50 |push eax
006B0627|.8D85 18FFFFFF |lea eax, dword ptr
006B062D|.50 |push eax
006B062E|.8D85 E6FEFFFF |lea eax, dword ptr
006B0634|.50 |push eax
006B0635|.8D85 B4FEFFFF |lea eax, dword ptr
006B063B|.50 |push eax
006B063C|.8D85 82FEFFFF |lea eax, dword ptr
006B0642|.50 |push eax
006B0643|.8D85 50FEFFFF |lea eax, dword ptr
006B0649|.50 |push eax
006B064A|.8D85 1EFEFFFF |lea eax, dword ptr
006B0650|.50 |push eax
006B0651|.8D85 ECFDFFFF |lea eax, dword ptr
006B0657|.50 |push eax
006B0658|.56 |push esi
006B0659|.68 204E0000 |push 4E20
006B065E|.8B45 E8 |mov eax, dword ptr
006B0661|.E8 2243D5FF |call 00404988
006B0666|.8D4D DC |lea ecx, dword ptr
006B0669|.8D55 E0 |lea edx, dword ptr
006B066C|.E8 27000100 |call 006C0698
006B0671|.85C0 |test eax, eax
006B0673|.0F85 AB000000 |jnz 006B0724
006B0679 C745 E0 7B000>mov dword ptr , 7B ;<----开始修改
006B0680 C745 DC 7B000>mov dword ptr , 7B
006B0687 C745 D8 7B000>mov dword ptr , 7B
006B068E C745 D4 7B000>mov dword ptr , 7B
006B0695 90 nop
006B0696 90 nop
006B0697 90 nop
006B0698 90 nop
006B0699 90 nop
006B069A 90 nop
006B069B 90 nop
006B069C 90 nop
006B069D 90 nop
006B069E 90 nop
006B069F 90 nop
006B06A0 90 nop
006B06A1|.8D85 B0FCFFFF |lea eax, dword ptr
006B06A7|.E8 18CFE7FF |call 0052D5C4
006B06AC|.8D85 B0FCFFFF |lea eax, dword ptr
006B06B2|.BA AC076B00 |mov edx, 006B07AC ;ASCII "\PP04.MOL"
006B06B7|.E8 1041D5FF |call 004047CC
006B06BC|.8B85 B0FCFFFF |mov eax, dword ptr
=====================================================================================第二处
006B0820|> /8BC6 /mov eax, esi
006B0822|. |BA 05010000 |mov edx, 105
006B0827|. |E8 289DD5FF |call 0040A554
006B082C|. |8BD6 |mov edx, esi
006B082E|. |8BC3 |mov eax, ebx
006B0830|. |E8 BFA90000 |call 006BB1F4 ;找狗
006B0835|. |85C0 |test eax, eax
006B0837|. |74 0E |je short 006B0847
006B0839|. |85DB |test ebx, ebx
006B083B|. |75 0A |jnz short 006B0847
006B083D|. |BB E3FBFFFF |mov ebx, -41D
006B0842|. |E9 CE000000 |jmp 006B0915
006B0847|> |85C0 |test eax, eax
006B0849|. |74 07 |je short 006B0852
006B084B|. |8BD8 |mov ebx, eax
006B084D|. |E9 C3000000 |jmp 006B0915
006B0852|> |8D45 F0 |lea eax, dword ptr
006B0855|. |50 |push eax
006B0856|. |8D45 EC |lea eax, dword ptr
006B0859|. |50 |push eax
006B085A|. |8D45 E8 |lea eax, dword ptr
006B085D|. |50 |push eax
006B085E|. |8D45 E4 |lea eax, dword ptr
006B0861|. |50 |push eax
006B0862|. |8D45 E0 |lea eax, dword ptr
006B0865|. |50 |push eax
006B0866|. |8D45 DC |lea eax, dword ptr
006B0869|. |50 |push eax
006B086A|. |8D45 D0 |lea eax, dword ptr
006B086D|. |50 |push eax
006B086E|. |8D45 C8 |lea eax, dword ptr
006B0871|. |50 |push eax
006B0872|. |8D45 C0 |lea eax, dword ptr
006B0875|. |50 |push eax
006B0876|. |8D45 B8 |lea eax, dword ptr
006B0879|. |50 |push eax
006B087A|. |8D45 B0 |lea eax, dword ptr
006B087D|. |50 |push eax
006B087E|. |8D45 A8 |lea eax, dword ptr
006B0881|. |50 |push eax
006B0882|. |8D45 A0 |lea eax, dword ptr
006B0885|. |50 |push eax
006B0886|. |8D45 98 |lea eax, dword ptr
006B0889|. |50 |push eax
006B088A|. |8D85 66FFFFFF |lea eax, dword ptr
006B0890|. |50 |push eax
006B0891|. |8D85 34FFFFFF |lea eax, dword ptr
006B0897|. |50 |push eax
006B0898|. |8D85 02FFFFFF |lea eax, dword ptr
006B089E|. |50 |push eax
006B089F|. |8D85 D0FEFFFF |lea eax, dword ptr
006B08A5|. |50 |push eax
006B08A6|. |8D85 9EFEFFFF |lea eax, dword ptr
006B08AC|. |50 |push eax
006B08AD|. |8D85 6CFEFFFF |lea eax, dword ptr
006B08B3|. |50 |push eax
006B08B4|. |8D85 3AFEFFFF |lea eax, dword ptr
006B08BA|. |50 |push eax
006B08BB|. |8D85 08FEFFFF |lea eax, dword ptr
006B08C1|. |50 |push eax
006B08C2|. |56 |push esi
006B08C3|. |68 204E0000 |push 4E20
006B08C8|. |8B45 FC |mov eax, dword ptr
006B08CB|. |E8 B840D5FF |call 00404988
006B08D0|. |8D4D F4 |lea ecx, dword ptr
006B08D3|. |8D55 F8 |lea edx, dword ptr
006B08D6|. |E8 BDFD0000 |call 006C0698
006B08DB|. |85C0 |test eax, eax
006B08DD|. |74 04 |je short 006B08E3
006B08DF|. |8BD8 |mov ebx, eax
006B08E1|. |EB 32 |jmp short 006B0915
006B08E3|> |85C0 |test eax, eax
006B08E5|. |75 1C |jnz short 006B0903
006B08E7 |C745 F8 7B000>mov dword ptr , 7B ;<----开始修改
006B08EE |C745 F4 7B000>mov dword ptr , 7B
006B08F5 |C745 F0 7B000>mov dword ptr , 7B
006B08FC |C745 EC 7B000>mov dword ptr , 7B
006B0903 |33DB xor ebx, ebx
006B0905 |EB 0E jmp short 006B0915
006B0907 |90 nop
006B0908 |90 nop
006B0909 |90 nop
006B090A|.^\0F85 10FFFFFF \jnz 006B0820
006B0910|.BB CBFFFFFF mov ebx, -35
006B0915|>33C0 xor eax, eax
006B0917|.5A pop edx
006B0918|.59 pop ecx
006B0919|.59 pop ecx
006B091A|.64:8910 mov dword ptr fs:, edx
006B091D|.68 3D096B00 push 006B093D
006B0922|>8D85 04FEFFFF lea eax, dword ptr
006B0928|.E8 073CD5FF call 00404534
006B092D|.8D45 FC lea eax, dword ptr
006B0930|.E8 FF3BD5FF call 00404534
006B0935\.C3 retn
===================================================================================第三处
006BC104 33C0 xor eax, eax ;狗函数YtReadEx,直接让eax为0后返回
006BC106 C3 retn
006BC107|.83C4 F0 add esp, -10
006BC10A|.894D F8 mov dword ptr , ecx
006BC10D|.66:8955 FC mov word ptr , dx
006BC111|.66:8945 FE mov word ptr , ax
006BC115|.0FBF45 FE movsx eax, word ptr
006BC119|.0FBF55 FC movsx edx, word ptr
006BC11D|.03C2 add eax, edx
006BC11F|.3D 00780000 cmp eax, 7800
006BC124|.7E 0A jle short 006BC130
006BC126|.B8 CFFFFFFF mov eax, -31
006BC12B|.E9 F6000000 jmp 006BC226
006BC130|>33D2 xor edx, edx
006BC132|.8955 F4 mov dword ptr , edx
006BC135|.EB 56 jmp short 006BC18D
006BC137|>8B4D 10 /mov ecx, dword ptr
006BC13A|.51 |push ecx
006BC13B|.8B45 F4 |mov eax, dword ptr
006BC13E|.8BD0 |mov edx, eax
=====================================================================================第四处
006BD4E8 55 push ebp ;狗函数EdcByFile
006BD4E9 8BEC mov ebp, esp
006BD4EB|.83C4 D8 add esp, -28
006BD4EE|.894D F4 mov dword ptr , ecx
006BD4F1|.8955 F8 mov dword ptr , edx
006BD4F4|.8945 FC mov dword ptr , eax
006BD4F7|.E8 64BFD4FF call <jmp.&KERNEL32.GetProcessHeap> ; [GetProcessHeap
006BD4FC|.8945 E0 mov dword ptr , eax
006BD4FF|.6A 00 push 0 ; /hTemplateFile = NULL
006BD501|.6A 00 push 0 ; |Attributes = 0
006BD503|.6A 03 push 3 ; |Mode = OPEN_EXISTING
006BD505|.6A 00 push 0 ; |pSecurity = NULL
006BD507|.6A 01 push 1 ; |ShareMode = FILE_SHARE_READ
006BD509|.68 00000080 push 80000000 ; |Access = GENERIC_READ
006BD50E|.8B45 F8 mov eax, dword ptr ; |
006BD511|.50 push eax ; |FileName
006BD512|.E8 01BDD4FF call <jmp.&KERNEL32.CreateFileA> ; \CreateFileA
006BD517|.8945 D8 mov dword ptr , eax
006BD51A|.837D D8 FF cmp dword ptr , -1
006BD51E|.75 2A jnz short 006BD54A
006BD520|.833D 2CCBD300>cmp dword ptr , 0
006BD527|.74 17 je short 006BD540
006BD529|.8B55 08 mov edx, dword ptr
006BD52C|.52 push edx
006BD52D|.8B4D F4 mov ecx, dword ptr
006BD530|.8B55 F8 mov edx, dword ptr
006BD533|.8B45 FC mov eax, dword ptr
006BD536|.E8 41010000 call 006BD67C
006BD53B|.E9 34010000 jmp 006BD674
006BD540|>B8 C1FFFFFF mov eax, -3F
006BD545|.E9 2A010000 jmp 006BD674
006BD54A|>6A 00 push 0 ; /pFileSizeHigh = NULL
006BD54C|.8B55 D8 mov edx, dword ptr ; |
006BD54F|.52 push edx ; |hFile
006BD550|.E8 73BED4FF call <jmp.&KERNEL32.GetFileSize> ; \GetFileSize
006BD555|.8945 DC mov dword ptr , eax
006BD558|.8B4D DC mov ecx, dword ptr
006BD55B|.41 inc ecx
006BD55C|.51 push ecx ; /HeapSize
006BD55D|.6A 00 push 0 ; |Flags = 0
006BD55F|.8B45 E0 mov eax, dword ptr ; |
006BD562|.50 push eax ; |hHeap
006BD563|.E8 E0BFD4FF call <jmp.&KERNEL32.HeapAlloc> ; \HeapAlloc
006BD568|.8945 EC mov dword ptr , eax
006BD56B|.8D55 F0 lea edx, dword ptr
006BD56E|.6A 00 push 0 ; /pOverlapped = NULL
006BD570|.52 push edx ; |pBytesRead
006BD571|.8B4D DC mov ecx, dword ptr ; |
006BD574|.51 push ecx ; |BytesToRead
006BD575|.8B45 EC mov eax, dword ptr ; |
006BD578|.50 push eax ; |Buffer
006BD579|.8B55 D8 mov edx, dword ptr ; |
006BD57C|.52 push edx ; |hFile
006BD57D|.E8 6EC0D4FF call <jmp.&KERNEL32.ReadFile> ; \ReadFile
006BD582|.85C0 test eax, eax
006BD584|.75 22 jnz short 006BD5A8
006BD586|.8B4D D8 mov ecx, dword ptr
006BD589|.51 push ecx ; /hObject
006BD58A|.E8 51BCD4FF call <jmp.&KERNEL32.CloseHandle> ; \CloseHandle
006BD58F|.8B45 EC mov eax, dword ptr
006BD592|.50 push eax ; /pMemory
006BD593|.6A 00 push 0 ; |Flags = 0
006BD595|.8B55 E0 mov edx, dword ptr ; |
006BD598|.52 push edx ; |hHeap
006BD599|.E8 B2BFD4FF call <jmp.&KERNEL32.HeapFree> ; \HeapFree
006BD59E|.B8 E0FFFFFF mov eax, -20
006BD5A3|.E9 CC000000 jmp 006BD674
006BD5A8|>8B55 D8 mov edx, dword ptr
006BD5AB|.52 push edx ; /hObject
006BD5AC|.E8 2FBCD4FF call <jmp.&KERNEL32.CloseHandle> ; \CloseHandle
006BD5B1|.8D4D EB lea ecx, dword ptr
006BD5B4|.51 push ecx
006BD5B5|.8B45 08 mov eax, dword ptr
006BD5B8|.50 push eax
006BD5B9|.8B4D DC mov ecx, dword ptr
006BD5BC|.8B55 EC mov edx, dword ptr
006BD5BF|.8B45 FC mov eax, dword ptr
006BD5C2|.E8 A1010000 call 006BD768
006BD5C7|.8945 E4 mov dword ptr , eax
006BD5CA|.837D E4 00 cmp dword ptr , 0
006BD5CE|.75 19 jnz short 006BD5E9
006BD5D0|.8B55 EC mov edx, dword ptr
006BD5D3|.52 push edx ; /pMemory
006BD5D4|.6A 00 push 0 ; |Flags = 0
006BD5D6|.8B4D E0 mov ecx, dword ptr ; |
006BD5D9|.51 push ecx ; |hHeap
006BD5DA|.E8 71BFD4FF call <jmp.&KERNEL32.HeapFree> ; \HeapFree
006BD5DF|.33C0 xor eax, eax
006BD5E1|.8A45 EB mov al, byte ptr
006BD5E4|.E9 8B000000 jmp 006BD674
006BD5E9|>6A 00 push 0 ; /hTemplateFile = NULL
006BD5EB|.6A 00 push 0 ; |Attributes = 0
006BD5ED|.6A 02 push 2 ; |Mode = CREATE_ALWAYS
006BD5EF|.6A 00 push 0 ; |pSecurity = NULL
006BD5F1|.6A 01 push 1 ; |ShareMode = FILE_SHARE_READ
006BD5F3|.68 00000040 push 40000000 ; |Access = GENERIC_WRITE
006BD5F8|.8B55 F4 mov edx, dword ptr ; |
006BD5FB|.52 push edx ; |FileName
006BD5FC|.E8 17BCD4FF call <jmp.&KERNEL32.CreateFileA> ; \CreateFileA
006BD601|.8945 D8 mov dword ptr , eax
006BD604|.837D D8 FF cmp dword ptr , -1
006BD608 EB 16 jmp short 006BD620 ;<----------这里改成jmp
006BD60A|.8B4D EC mov ecx, dword ptr
006BD60D|.51 push ecx ; /pMemory
006BD60E|.6A 00 push 0 ; |Flags = 0
006BD610|.8B45 E0 mov eax, dword ptr ; |
006BD613|.50 push eax ; |hHeap
006BD614|.E8 37BFD4FF call <jmp.&KERNEL32.HeapFree> ; \HeapFree
006BD619|.B8 C0FFFFFF mov eax, -40
006BD61E|.EB 54 jmp short 006BD674
006BD620|>6A 00 push 0 ; /pOverlapped = NULL
006BD622|.8D55 F0 lea edx, dword ptr ; |
006BD625|.52 push edx ; |pBytesWritten
006BD626|.8B4D DC mov ecx, dword ptr ; |
006BD629|.51 push ecx ; |nBytesToWrite
006BD62A|.8B45 EC mov eax, dword ptr ; |
006BD62D|.50 push eax ; |Buffer
006BD62E|.8B55 D8 mov edx, dword ptr ; |
006BD631|.52 push edx ; |hFile
006BD632|.E8 F1C0D4FF call <jmp.&KERNEL32.WriteFile> ; \WriteFile
006BD637|.85C0 test eax, eax
006BD639 EB 1F jmp short 006BD65A ;<-----------这里改成jmp
006BD63B|.8B4D D8 mov ecx, dword ptr
006BD63E|.51 push ecx ; /hObject
006BD63F|.E8 9CBBD4FF call <jmp.&KERNEL32.CloseHandle> ; \CloseHandle
006BD644|.8B45 EC mov eax, dword ptr
006BD647|.50 push eax ; /pMemory
006BD648|.6A 00 push 0 ; |Flags = 0
006BD64A|.8B55 E0 mov edx, dword ptr ; |
006BD64D|.52 push edx ; |hHeap
006BD64E|.E8 FDBED4FF call <jmp.&KERNEL32.HeapFree> ; \HeapFree
006BD653|.B8 D6FFFFFF mov eax, -2A
006BD658|.EB 1A jmp short 006BD674
006BD65A|>8B55 D8 mov edx, dword ptr
006BD65D|.52 push edx ; /hObject
006BD65E|.E8 7DBBD4FF call <jmp.&KERNEL32.CloseHandle> ; \CloseHandle
006BD663|.8B4D EC mov ecx, dword ptr
006BD666|.51 push ecx ; /pMemory
006BD667|.6A 00 push 0 ; |Flags = 0
006BD669|.8B45 E0 mov eax, dword ptr ; |
006BD66C|.50 push eax ; |hHeap
006BD66D|.E8 DEBED4FF call <jmp.&KERNEL32.HeapFree> ; \HeapFree
006BD672|.33C0 xor eax, eax
006BD674|>8BE5 mov esp, ebp
006BD676|.5D pop ebp
006BD677\.C2 0400 retn 4
=========================================================================第五处
006BF3F6|.8A4D DF mov cl, byte ptr
006BF3F9|.894D E0 mov dword ptr , ecx
006BF3FC|>8B55 E4 mov edx, dword ptr
006BF3FF|.8B45 E8 mov eax, dword ptr
006BF402|.E8 51B10000 call 006CA558
006BF407|.8B45 E0 mov eax, dword ptr
006BF40A|>8BE5 mov esp, ebp
006BF40C|.5D pop ebp
006BF40D\.C2 0800 retn 8
006BF410 33C0 xor eax, eax ;<--改的是这个函数的这里狗函数CallPub或CallEx函数
006BF412 C3 retn
006BF413|.81C4 DCFDFFFF add esp, -224
006BF419|.894D F4 mov dword ptr , ecx
006BF41C|.8955 F8 mov dword ptr , edx
006BF41F|.8945 FC mov dword ptr , eax
006BF422|.68 AC08D400 push 00D408AC ; /SemaphoreName = "my32"
006BF427|.6A 01 push 1 ; |MaximumCount = 1
006BF429|.6A 01 push 1 ; |InitialCount = 1
006BF42B|.6A 00 push 0 ; |pSecurity = NULL
006BF42D|.E8 0E9ED4FF call <jmp.&KERNEL32.CreateSemaphoreA> ; \CreateSemaphoreA
006BF432|.8945 F0 mov dword ptr , eax
006BF435|.E8 26A0D4FF call <jmp.&KERNEL32.GetProcessHeap> ; [GetProcessHeap
006BF43A|.8945 EC mov dword ptr , eax
006BF43D|.833D 2CCBD300>cmp dword ptr , 0
006BF444|.0F84 D3040000 je 006BF91D
006BF44A|.66:8B45 F8 mov ax, word ptr
006BF44E|.66:05 FD02 add ax, 2FD ;《可以在OD里找这句标志语句》
006BF452|.66:8945 EA mov word ptr , ax
006BF456|.0FBF55 EA movsx edx, word ptr
006BF45A|.52 push edx ; /HeapSize
006BF45B|.6A 00 push 0 ; |Flags = 0
006BF45D|.8B4D EC mov ecx, dword ptr ; |
006BF460|.51 push ecx ; |hHeap
006BF461|.E8 E2A0D4FF call <jmp.&KERNEL32.HeapAlloc> ; \HeapAlloc
006BF466|.8945 E4 mov dword ptr , eax
006BF469|.8D55 F8 lea edx, dword ptr
006BF46C|.8B45 E4 mov eax, dword ptr
006BF46F|.C600 0C mov byte ptr , 0C
006BF472|.6A 04 push 4
006BF474|.52 push edx
006BF475|.8B4D E4 mov ecx, dword ptr
006BF478|.41 inc ecx
006BF479|.51 push ecx
006BF47A|.E8 D10CFFFF call 006B0150
006BF47F|.83C4 0C add esp, 0C
006BF482|.6A 04 push 4
006BF484|.8B45 F4 mov eax, dword ptr
006BF487|.50 push eax
006BF488|.8B55 E4 mov edx, dword ptr
006BF48B|.83C2 05 add edx, 5
006BF48E|.52 push edx
006BF48F|.E8 BC0CFFFF call 006B0150
006BF494|.83C4 0C add esp, 0C
006BF497|.6A 04 push 4
006BF499|.8B4D 68 mov ecx, dword ptr
006BF49C|.51 push ecx
006BF49D|.8B45 E4 mov eax, dword ptr
006BF4A0|.83C0 09 add eax, 9
006BF4A3|.50 push eax
006BF4A4|.E8 A70CFFFF call 006B0150
006BF4A9|.83C4 0C add esp, 0C
006BF4AC|.6A 04 push 4
006BF4AE|.8B55 64 mov edx, dword ptr
006BF4B1|.52 push edx
006BF4B2|.8B4D E4 mov ecx, dword ptr
006BF4B5|.83C1 0D add ecx, 0D
006BF4B8|.51 push ecx
006BF4B9|.E8 920CFFFF call 006B0150
006BF4BE|.83C4 0C add esp, 0C
006BF4C1|.6A 04 push 4
006BF4C3|.8B45 60 mov eax, dword ptr
006BF4C6|.50 push eax
006BF4C7|.8B55 E4 mov edx, dword ptr
006BF4CA|.83C2 11 add edx, 11
006BF4CD|.52 push edx
006BF4CE|.E8 7D0CFFFF call 006B0150
006BF4D3|.83C4 0C add esp, 0C
006BF4D6|.6A 04 push 4
006BF4D8|.8B4D 5C mov ecx, dword ptr
006BF4DB|.51 push ecx
006BF4DC|.8B45 E4 mov eax, dword ptr
006BF4DF|.83C0 15 add eax, 15
006BF4E2|.50 push eax
006BF4E3|.E8 680CFFFF call 006B0150
006BF4E8|.83C4 0C add esp, 0C
006BF4EB|.6A 04 push 4
006BF4ED|.8B55 58 mov edx, dword ptr
006BF4F0|.52 push edx
006BF4F1|.8B4D E4 mov ecx, dword ptr
006BF4F4|.83C1 19 add ecx, 19
006BF4F7|.51 push ecx
006BF4F8|.E8 530CFFFF call 006B0150
006BF4FD|.83C4 0C add esp, 0C
006BF500|.6A 04 push 4
006BF502|.8B45 54 mov eax, dword ptr
==================完====================
以前玩过一两天 号称的是编程语言。官方大言不惭。 多谢楼主的原创破解教程。 应该会火.马上顶起.... 楼主太强大了,谢谢!!!! 多谢楼主的原创破解教程。
http://115.com/file/c24a3n6f#雅奇MIS880企业版全套.rar 支持一下。这东西是好东西啊 感谢T大分享.这款软件要是在前几年的话,肯定很火的. T大这个地址没共享啊