|
[原创]新版winhex18.2中文集成修改+爆破
分析了一下winhex处理hex查找是,发现一个奇怪的asm代码 004E10E1 |> /33C0 /xor eax, eax 004E10E3 |. |8AC3 |mov al, bl 004E10E5 |. |03C5 |add eax, ebp 004E10E7 |. |8A8407 CB0800>|mov al, byte ptr [edi+eax+0x8CB] 004E10EE |. |8B15 A00C5B00 |mov edx, dword ptr [0x5B0CA0] ; WinHex.005A8154 004E10F4 |. |25 FF000000 |and eax, 0xFF 004E10F9 |. |0FA302 |bt dword ptr [edx], eax ; 将[edx]的第eax位复制到CF 004E10FC |. |72 13 |jb short 004E1111 ; 但是里面[edx]的数值为0 004E10FE |. |8B0424 |mov eax, dword ptr [esp] ; eax=30-39或41-46就不会到这里 004E1101 |. |66:B9 0A03 |mov cx, 0x30A 004E1105 |. |B2 01 |mov dl, 0x1 004E1107 |. |E8 D4C8FFFF |call 004DD9E0 004E110C |. |E9 1E040000 |jmp 004E152F 004E1111 |> |45 |inc ebp 004E1112 |. |4E |dec esi 004E1113 |.^\75 CC \jnz short 004E10E1 |
|
[原创]新版winhex18.2中文集成修改+爆破
那就共享出来嘛,独乐乐不如众乐乐。 |
|
[原创]新版winhex18.2中文集成修改+爆破
我想可以修复一下查找hex的空格问题,这个自动去掉也不是很难,过几天看看。 |
|
[原创]Hook Lib for ddk
确实是很不错的代码,很有思路。 |
|
[原创]用OD查找植物大战僵尸基址[超详细图文教程]
这个52miji有详解 |
|
[原创]新版winhex18.2中文集成修改+爆破
00436068 |> \A1 900A5B00 mov eax, dword ptr [0x5B0A90] ; 案例 2 --> 分支 00435F35 0043606D |. 8038 00 cmp byte ptr [eax], 0x0 00436070 |. 75 2F jnz short 004360A1 00436072 |. 6A 02 push 0x2 ; /TimerID = 0x2 00436074 |. A1 0C0C5B00 mov eax, dword ptr [0x5B0C0C] ; | 00436079 |. 8B00 mov eax, dword ptr [eax] ; | 0043607B |. 50 push eax ; |hWnd 0043607C |. E8 B705FDFF call <jmp.&user32.KillTimer> ; \KillTimer 00436081 |. E8 DEEDFFFF call 00434E64 00436086 |. 6A 00 push 0x0 ; /Timerproc = NULL 00436088 |. 68 40771B00 push 0x1B7740 ; |Timeout = 1800000. ms 0043608D |. 6A 02 push 0x2 ; |TimerID = 0x2 0043608F |. A1 0C0C5B00 mov eax, dword ptr [0x5B0C0C] ; | 00436094 |. 8B00 mov eax, dword ptr [eax] ; | 00436096 |. 50 push eax ; |hWnd 00436097 |. E8 4C07FDFF call <jmp.&user32.SetTimer> ; \SetTimer 0043609C |. E9 73010000 jmp 00436214 004360A1 |> 6A 02 push 0x2 ; /TimerID = 0x2 上面代码没30分钟检测一次,会报未注册,再等一会看看。发现winhex的程序员好无聊。 |
|
[讨论]VB读写内存问题
不要误人子弟!你这样声明是写入代码不成功的,需要如下声明: Private Declare Function WriteProcessMemory _ Lib "kernel32" (ByVal hProcess As Long, _ ByVal lpBaseAddress As Any, _ lpBuffer As Any, _ ByVal nSize As Long, _ lpNumberOfBytesWritten As Long) As Long 因为byval传入的是地址! |
|
[原创]新版winhex18.2中文集成修改+爆破
你将那个配置文件.cfg删除看看。 |
|
[原创]新版winhex18.2中文集成修改+爆破
win7一切正常,如果发现异常,请用user.txt试试。 |
|
[原创]新版winhex18.2中文集成修改+爆破
启动中心异常是什么意思,不是很明白,偶尔会显示未注册倒是真的,但不影响使用。 还是没有发现有其它的什么问题。 很奇怪,回家试过很久也没有弹出未注册的对话框。 |
|
[原创]新版winhex18.2中文集成修改+爆破
我想你的系统应该是x64,而这个winhex是32位 所以提示,但我怀疑是汉化有误。 |
|
[原创]新版winhex18.2中文集成修改+爆破
法政版好像都是不能编辑的,所以不知道限制在哪里,这样就不好打补丁。 |
|
[原创]递归抠汇编代码插件(grcasm)bin+sourcecode
确实很不错的插件 |
|
[原创]新版winhex18.2中文集成修改+爆破
意思是解决退出问题就可以吧,我要找找,不知道放在哪里了,之前有保存的。 |
|
[原创]新版winhex18.2中文集成修改+爆破
原来飘云阁早就有分析,居然跟我的很相象,只不过他们是研究算法,我是直接打补丁。 以下是飘云阁会员lhmxn的分析: 开始时候的存储位置: 0022E4B4 2F 2F 20 57 69 6E 48 65 78 20 6C 69 63 65 6E 73 // WinHex licens 0022E4C4 65 20 66 69 6C 65 0D 0A 0D 0A 4E 61 6D 65 3A 20 e file....Name: 0022E4D4 22 4C 68 6D 78 6E 22 0D 0A 41 64 64 72 31 3A 20 "Lhmxn"..Addr1: 0022E4E4 22 6C 68 6D 78 6E 40 71 71 2E 63 6F 6D 22 0D 0A "lhmxn@qq.com".. 0022E4F4 41 64 64 72 32 3A 20 22 50 59 47 22 0D 0A 4B 65 Addr2: "PYG"..Ke 0022E504 79 31 3A 20 22 32 41 38 32 30 46 30 38 35 41 44 y1: "2A820F085AD 0022E514 44 35 37 32 34 44 45 35 34 43 42 33 31 32 41 39 D5724DE54CB312A9 0022E524 33 42 35 43 39 22 0D 0A 4B 65 79 32 3A 20 22 36 3B5C9"..Key2: "6 0022E534 32 38 32 36 31 32 30 34 32 46 34 32 43 31 41 33 282612042F42C1A3 0022E544 44 37 45 39 36 44 37 44 33 46 46 39 33 30 32 22 D7E96D7D3FF9302" 0022E554 0D 0A 43 68 6B 73 6D 3A 20 22 46 42 22 0A 00 00 ..Chksm: "FB"... 005BD960+EB=005BDA4B,也就是说把username,addr1,addr2,key1,key2的值全部加起来 15FB Chksm:FB 0054ED41 |> /B8 60D95B00 /MOV EAX, WinHex.005BD960 ; ASCII "Lhmxn" 0054ED46 |. |03C7 |ADD EAX, EDI 0054ED48 |. |0FB600 |MOVZX EAX, BYTE PTR DS:[EAX] 0054ED4B |. |03F0 |ADD ESI, EAX ; 用户名ASC累加,累加结果ESI 0054ED4D |. |47 |INC EDI 0054ED4E |. |81FF EB000000 |CMP EDI, 0EB 0054ED54 |.^\75 EB \JNZ SHORT WinHex.0054ED41 005BD960 4C 68 6D 78 6E 00 00 00 00 00 00 00 00 00 00 00 Lhmxn........... 005BD970 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BD980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BD990 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BD9A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BD9B0 00 6C 68 6D 78 6E 40 71 71 2E 63 6F 6D 00 00 00 .lhmxn@qq.com... 005BD9C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BD9D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BD9E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 50 59 ..............PY 005BD9F0 47 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 G............... 005BDA00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BDA10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 005BDA20 00 00 00 00 00 00 00 00 00 00 00 2A 82 0F 08 5A ...........*?Z 005BDA30 DD 57 24 DE 54 CB 31 2A 93 B5 C9 62 82 61 20 42 軼$轙?*摰蒪俛 B 005BDA40 F4 2C 1A 3D 7E 96 D7 D3 FF 93 02 00 ?�32=~栕??..... 0054EF7D |. E8 0E8BEBFF CALL WinHex.00407A90 ; 字符串复制 0054EF82 |. 807D 08 00 CMP BYTE PTR SS:[EBP+8], 0 0054EF86 |. 0F85 71010000 JNZ WinHex.0054F0FD 最后把licensecode 保存到 005B96E4 4E 61 6D 65 3A 20 22 4C 68 6D 78 6E 22 0D 0A 41 Name: "Lhmxn"..A 005B96F4 64 64 72 31 3A 20 22 6C 68 6D 78 6E 40 71 71 2E ddr1: "lhmxn@qq. 005B9704 63 6F 6D 22 0D 0A 41 64 64 72 32 3A 20 22 50 59 com"..Addr2: "PY 005B9714 47 22 0D 0A 4B 65 79 31 3A 20 22 32 41 38 32 30 G"..Key1: "2A820 005B9724 46 30 38 35 41 44 44 35 37 32 34 44 45 35 34 43 F085ADD5724DE54C 005B9734 42 33 31 32 41 39 33 42 35 43 39 22 0D 0A 4B 65 B312A93B5C9"..Ke 005B9744 79 32 3A 20 22 36 32 38 32 36 31 32 30 34 32 46 y2: "6282612042F 005B9754 34 32 43 31 41 33 44 37 45 39 36 44 37 44 33 46 42C1A3D7E96D7D3F 005B9764 46 39 33 30 32 22 0D 0A 43 68 6B 73 6D 3A 20 22 F9302"..Chksm: " 005B9774 46 42 22 FB" F9运行后修改大于200M的文件时 老师说下面的代码时改变内存的属性 00531CC5 |. 6A 1C PUSH 1C ; /BufSize = 1C (28.) 00531CC7 |. 8D4424 10 LEA EAX, DWORD PTR SS:[ESP+10] ; | 00531CCB |. 50 PUSH EAX ; |Buffer 00531CCC |. A1 30445900 MOV EAX, DWORD PTR DS:[594430] ; | 00531CD1 |. 50 PUSH EAX ; |Address => WinHex.005318C8 00531CD2 |. E8 7D43EDFF CALL <JMP.&kernel32.VirtualQuery> ; \VirtualQuery 00531CD7 |. 54 PUSH ESP ; /pOldProtect 00531CD8 |. 6A 40 PUSH 40 ; |NewProtect = PAGE_EXECUTE_READWRITE 00531CDA |. 68 00200000 PUSH 2000 ; |Size = 2000 (8192.) 00531CDF |. 8B4424 18 MOV EAX, DWORD PTR SS:[ESP+18] ; | 00531CE3 |. 50 PUSH EAX ; |Address 00531CE4 |. E8 5B43EDFF CALL <JMP.&kernel32.VirtualProtect> ; \VirtualProtect 往下看 这是在做SMC,用自己的KEY解码一组数据,然后再把数据写回去。 00531D8D |. 50 PUSH EAX ; /pBytesWritten 00531D8E |. 0FB7F7 MOVZX ESI, DI ; | 00531D91 |. 56 PUSH ESI ; |BytesToWrite 00531D92 |. 8D4424 50 LEA EAX, DWORD PTR SS:[ESP+50] ; | 00531D96 |. 50 PUSH EAX ; |Buffer 00531D97 |. A1 30445900 MOV EAX, DWORD PTR DS:[594430] ; | 00531D9C |. 50 PUSH EAX ; |Address => 5318C8 00531D9D |. E8 4A3FEDFF CALL <JMP.&kernel32.GetCurrentProcess>; |[GetCurrentProcess;获取自己的进程 00531DA2 |. 50 PUSH EAX ; |hProcess 00531DA3 |. E8 DC42EDFF CALL <JMP.&kernel32.WriteProcessMemor>; \WriteProcessMemory F8从EIP(00531801)处往下跟 00531CA8 /$ 53 PUSH EBX ;一个调用本地调用来自 00531E47 00531CA9 |. 56 PUSH ESI enter跟随 00531E3E |. 803D F42D5A00>CMP BYTE PTR DS:[5A2DF4], 0 ;这是一个全局变量 00531E45 |. 75 05 JNZ SHORT WinHex.00531E4C ;检测是否处理过了 00531E47 |. E8 5CFEFFFF CALL WinHex.00531CA8 00531DF2 |. 8A06 MOV AL, BYTE PTR DS:[ESI] 00531DF4 |. 3A05 38445900 CMP AL, BYTE PTR DS:[594438] 00531DFA |. 75 1D JNZ SHORT WinHex.00531E19 00531DFC |. C605 F42D5A00>MOV BYTE PTR DS:[5A2DF4], 1 ;如果写成功了就赋值为1,也就是说SMC只需要一次就OK 00531D59 |. 8BC6 MOV EAX, ESI ;此处拿到了那个串,就要去解了 00531D5B |. E8 14DA0500 CALL WinHex.0058F774 下面的数据是要解码的东西 用我的KEY没有解码成功 0022E154 89 61 55 F5 1C 8F 04 35 55 68 7D 3C FE 44 03 D4 塧U??5Uh}<﨑 0022E164 62 51 83 B6 AC D7 32 8E 38 12 5C EB E2 7F 38 BC bQ兌2?\脞8 0022E174 08 95 F9 C9 CC E3 E1 83 2B 3B 1F FD E0 63 58 AF 曺商汜?;cX 解码成功的数据 0022E154 57 48 58 45 78 74 57 6E 64 00 00 00 55 8B EC 83 WHXExtWnd...U嬱 0022E164 C4 D8 53 56 57 89 4D F4 89 55 F8 66 89 45 FE C6 呢SVW塎魤U鴉塃 0022E174 45 DF 00 80 7D 08 01 75 07 BE F8 00 00 00 EB 05 E? 把解码出来的正常代码粘贴到5318C8,然后把 00531E45 |. 75 05 JNZ SHORT WinHex.00531E4C 改为 JMP 531E4C即可。 |
|
[原创]StudyPE x64 / x86 1.07 beta 1 版
win10不能运行! |
|
[原创]新版winhex18.2中文集成修改+爆破
那个限制是不能取消的,因为它的查找算法不是很先进,用到了一个bt函数,太长的字符串可能会导致溢出或查询出错。 |
|
[原创]新版winhex18.2中文集成修改+爆破
共享一个来看看,话说这个软件该怎么用,好像不可以编辑,只能查看吗? |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值