游戏men是什么意思属性MEN MOV JMP

求哪位大师指教_汇编吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:28,577贴子:
求哪位大师指教收藏
Ø 认真阅读“Reader.asm”源程序,理解程序每一条指令在程序中的作用;Ø 用→、←键在窗口内左右移动文本;Ø 用PgDn,PgUp键上下快速移动文本(每次移半帧);Ø 设计专用键放大、缩小窗口,改变窗口位置。扩展任务:Ø 对文本内的Tab字符(ASCII码09H)进行处理:遇到Tab键,下一个字符显示在下一个表站开始处(每个6个字符一个表站);Ø 设置状态行,显示当前文件名、文本位置(仿垂直滚动条)。 注意:(1) 分析原“Reader.asm”程序结构,给出每个模块说明,画出较大模块程序流程图;(2) 对你添加的功能做详细的说明,并附上流程图及程序清单。文本阅读器汇编语言源程序清单;
Assemble Program
“Reader.asm”;
Read a file from disk, display it’s contents on screen;
Move the content on screen by up/down arrow keys; ======================================================================== MYDAT SEGMENTMAXLEN DW 1000 ; 最大行数INDEX DW 1000 DUP(?) ; 行索引LENCT DW 0 ; 实际行数CURLINE DW 0 ; 当前页第一行行数CCOUNT DW ? ; 文件总字符数TOP DB 5 ; 窗口左上角行数LEFT DB 5 ; 窗口左上角列数WS DW 60 ; 窗口宽度HS DW 15 ; 窗口高度FG DB 17H ; 文字属性FGB DB 1FH ; 窗口边框属性MSG1 DB 'File:$' ; 输入文件名提示MSG2 DB 'File open error!$' ; 打开文件出错时提示MSG3 DB 'File read error!$' ; 读文件出错时提示FILENA DB 80,?,80 DUP(?) ; 输入文件名缓冲区;
定义功能键和相应的处理程序;
每个功能定义两个数据:扫描码,处理程序入口地址;
该数据由DOSUB子程序使用KEYSUB DW 48H, SUB1 , 50H, SUB2, 0MYDAT ENDS; ======================================================================== BUFFER SEGMENT
PARA DB 65535 DUP(?) ; 文件缓冲区,文件最大为64KBUFFER ENDS; ======================================================================== SSEG SEGMENT
‘STACK’ ; 堆栈段 DW 100 DUP(?)SSEG ENDS; ======================================================================== ; 宏定义 DISPINIT:
设置显示器显示方式DISPINIT
MACRO MOV AX,0003H ; 文本方式 25x80 INT 10HENDM;
------------------------------------------------------------------------; 宏定义 PROMPT:
显示字符串PROMPT MACRO
OUTMSG LEA DX, OUTMSG MOV AH, 09H ; INT 21H ;ENDM ;
----------------------------------------------------------------------; 宏定义KRYIN:
从键盘读入一个字符KEYIN MACRO MOV AH,0 ; 读键 INT 16H ; AH中为扫描码 ENDM; ======================================================================== ;
代码段开始CODE SEGMENT
ASSUME CS: CODE, DS: MYDAT, ES: BUFFER, SS: SSEGSTART: MOV AX, MYDAT ; 装载DS,ES MOV DS, AX MOV AX, BUFFER MOV ES, AX DISPINIT
显示方式初始化
CALL READFILE ;
读入文件 JC DONE
CALL CLIST ;
初始化索引行 CALL CLSCREEN ;
清屏 CALL CREWIN ;
创建窗口 CALL SHOWCUR ;
显示当前页NEXT: KEYIN
进入主程序: 读键盘 CALL COMMAND ;
命令分析与处理 JNC NEXT ;
非x键继续循环
福利不只是穿多穿少,还要有迷人的微笑!
CALL CLSCREEN ;
清屏 MOV AX, 4C00H INT 21H ;
---------------------------------------------------------------------; 子程序READFILE: 提示并读入文件名,将文件读入缓冲区 READFILE
PROC PROMPT MSG1 ; CALL SIN ; 读入文件名 MOV AX, 3D00H MOV DX, OFFSET FILENA+2 INT 21H ; 打开文件(读) JC GETERR1 ; 打开文件出错转GETERR1 PUSH DS PUSH ES POP DS ;
将DS指向文件缓冲区段 MOV BX, AX ;
BX=文件号 MOV AH, 3FH ;
读文件 MOV CX, 0FFFFH ;
读入最多64K-1 MOV DX, 0 ;
DS: DX指向文件缓冲区 INT 21H POP DS JC GETERR2 ;
读入文件出错转GETERR2 MOV CCOUNT, AX ;
实际读入字符数存入CCOUNT中 CLC JMP GETFILEXITGETERR1:
读入文件出错处理 KEYIN STC JMP GETFILEXIT ;
打开文件出错处理 KEYIN STCGETFILEXIT: RETREADFILE
---------------------------------------------------------------------;输入文件名子程序SIN PROC MOV AH, 0AH MOV DX, OFFSET FILENA INT 21H ; 输入文件名 XOR CH, CH MOV CL, FILENA+1 ; 取文件名长度 LEA BX, FILENA+2 ADD BX, CX ; 计算字符串结尾地址 MOV BYTE PTR [BX], 0 ; 在字符串尾部加0 RETSIN ENDP;
---------------------------------------------------------------------; 索引行初始化子程序CLIST PROC MOV CX, CCOUNT JCXZ CSTX ; 文件为空结束 MOV SI,0 ; 文件缓冲区字符指针 MOV DI,0 ; 索引行指针 MOV DX,0 ; 行数计数 MOV INDEX[DI], 0 INC DX ; 假设文件至少有一行CST1: CMP WORD PTR ES:[SI], 0A0DH ; 判断是否为回车换行符 JNZ CST2 ; 不是行结束,转CST2 INC DX ; 行数加一 ADD SI, 2 ; 跳过回车换行符 ADD DI, 2 ; 索引行指针加一 MOV INDEX[DI], SI ; 指向本行开始地址 CMP DX, MAXLEN JNC CST4 ; 是否超过最大行,超过转CST4,结束 JMP CST3 ;CST2: INC SI ; 文件缓冲区字符指针指向下一字符CST3: LOOP CST1 ;CST4: MOV LENCT, DX ; 保存行数到LENCT中CSTX: RETCLIST ENDP; ---------------------------------------------------------------------;清屏子程序CLSCREEN PROC MOV AX, 0600H ; 清屏 MOV CX, 0 MOV DH, 50 MOV DL, 79 MOV BH, 07H INT 10H RETCLSCREEN ENDP; --------------------------------------------------------------------;显示当前页子程序SHOWCUR
PROC MOV DH, 0 ; 窗口最顶行 MOV SI, CURLINE ; 取当前页第一行行数 MOV CX, HS ; 窗口的第一行和最后一行为边框, SUB CX, 2 ; 所以能够显示内容的高度为窗口高度减二SC1:
CALL SHOWLINE ; 显示一行
INC DH ; 窗口下一行 INC SI ; 文件下一行 MOV AX, LENCT ; CMP SI, AX ; 文件是否显示完 JNC SC2 ; 显示完则转SC2 LOOP SC1 JMP SC1XSC2: JCXZ SC1X ; 该页显示满则结束;该页没有显示满,则用空行填满该页SC3: PUSH CX PUSH DX CALL SHOWSPLINE ; 显示空行 POP DX POP CX INC DH LOOP SC3SC1X: RETSHOWCUR ENDP; --------------------------------------------------------------------;显示一行子程序;输入:SI=显示行行号;
DH=窗口中的行号
SHOWLINE PROC PUSH CX PUSH SI PUSH DX PUSH AX ADD DH, TOP ; INC DH ; 实际行数=窗口左上角行数+DI+1 MOV DL, LEFT ; INC DL ; 实际列数=窗口左上角列数+1 CALL VADD ;
MOV CX, WS ; 窗口的第一列和最后一列是边框, SUB CX, 2 ; 所以能够显示内容的宽度为窗口宽度减二 SHL SI, 1 ; 行索引为字类型,所以乘二 MOV SI, INDEX[SI] ; 取该行第一个字符在文件缓冲区的地址 PUSH DS MOV AX, 0B800H MOV DS, AX ; DS指向显示缓冲区段地址SL1: MOV AX, ES:[SI] CMP AX, 0A0DH JZ SL2 ; 如果是回车换行,则该行结束 MOV DS: [DI], AL ; 显示一个字符 ADD DI, 2 ; INC SI ; 取下一个字符 LOOP SL1 ; JCXZ SLX ; 该行正好显示完,则结束,否则用空格填满SL2: MOV BYTE PTR DS:[DI], ' ' ; 该行没有显示满,则用空格填满 ADD DI, 2 LOOP SL2SLX: POP DS POP AX POP DX POP SI POP CX RETSHOWLINE ENDP;
----------------------------------------------------------------------;显示空行子程序;输入:DI=窗口中的行号SHOWSPLINE PROC
; MOV AX, HS ; SUB AX, 2 ; CMP DH, AL ; 显示的空行是否超出最低行 JNC SSLX ; 如果是,则转SSLX ADD DH, TOP ; INC DH ; 实际行数=窗口左上角行数+DI+1 MOV DL, LEFT ; INC DL ; 实际列数=窗口左上角列数+1 CALL VADD ; MOV CX, WS ; 窗口的第一列和最后一列是边框, SUB CX, 2 ; 所以能够显示内容的宽度为窗口宽度减二 PUSH DS MOV AX, 0B800H MOV DS, AXSSL1: MOV BYTE PTR DS:[DI], ' ' ADD DI, 2 LOOP SSL1 POP DSSSLX: RETSHOWSPLINE ENDP;
---------------------------------------------------------------------;创建窗口子程序CREWIN PROC PUSH ES MOV AX, 0B800H ; 显示缓冲区地址为B800:0 MOV ES, AX ; MOV DH, TOP MOV DL, LEFT ; 窗口左上角行列数 MOV CX, HS ; 窗口高度(行数)CW1: PUSH DX ; CALL VADD ; 计算地址 PUSH CX ; MOV CX, WS ; 窗口宽度(列数) MOV AL, FG ; 取属性CW2: MOV BYTE PTR ES:[DI], ' ' ; 送空白字符 INC DI ; MOV BYTE PTR ES:[DI], AL ; 送属性 INC DI ; LOOP CW2 ; POP CX POP DX INC DH ; 行数加一 LOOP CW1 CALL DRAWB ; 画边框 POP ES RETCREWIN ENDP;
---------------------------------------------------------------;画边框子程序DRAWB PROC PUSH DX PUSH CX PUSH BX PUSH AX MOV BL, FGB ; 取边框属性 MOV DH, TOP MOV DL, LEFT ; 窗口左上角行列数 CALL VADD ; 计算地址
;画左上角角框 MOV BYTE PTR ES:[DI], 0C9H ; 角框╔ INC DI MOV BYTE PTR ES:[DI], BL INC DI ;画第一行边框 MOV CX, WS SUB CX,2 ; 因为去掉了左右角框,所以宽度减二DB1: MOV BYTE PTR ES:[DI], 0CDH ; 上下边框═ INC DI MOV BYTE PTR ES:[DI], BL INC DI LOOP DB1 ;画右上角角框 MOV BYTE PTR ES:[DI], 0BBH ; 角框╗ INC DI MOV BYTE PTR ES:[DI], BL ;画第二行到倒数二行左右边框 MOV DH, TOP MOV DL, LEFT INC DH ; 从第二行开始 MOV CX, HS ; 第一行和最后一行没有左右边框, SUB CX, 2 ; 所以高度减二DB2: PUSH DX ; CALL VADD ; 计算左边框地址
MOV BYTE PTR ES:[DI], 0BAH ; 左右边框║ INC DI MOV BYTE PTR ES:[DI], BL DEC DI MOV AX, WS ; DEC AX ; SHL AX, 1 ; ADD DI, AX ; 计算右边框地址 MOV BYTE PTR ES:[DI], 0BAH ; INC DI MOV BYTE PTR ES:[DI], BL POP DX INC DH ;下一行 LOOP DB2 ; ; 画左下角角框 MOV DH, TOP ; MOV DL, LEFT ; MOV AX, HS ; DEC AX ; ADD DH, AL ; 左下角行数=右上角行数+窗口高度-1 CALL VADD MOV BYTE PTR ES:[DI], 0C8H ; 角框╚ INC DI MOV BYTE PTR ES:[DI], BL INC DI ; 画最低行边框 MOV CX, WS ; SUB CX, 2 ; 因为去掉了左右角框,所以宽度减二DB3: MOV BYTE PTR ES:[DI], 0CDH ; 上下边框═ INC DI MOV BYTE PTR ES:[DI], BL INC DI LOOP DB3 ; 画右下角角框 MOV BYTE PTR ES:[DI], 0BCH ; 角框╝ INC DI MOV BYTE PTR ES:[DI], BL POP AX POP BX POP CX POP DX RETDRAWB ENDP;
--------------------------------------------------------------------;
计算窗口内某行列位置对应显存地址;
输入:DH=行 DL=列;
输出:DI为显存地址VADD PROC MOV AL, 80 ; MUL DH ; XOR DH, DH ; ADD AX, DX ; 行数×80+列数 SHL AX, 1 ; 乘2,因为每个字符占两个字节 MOV DI, AX RETVADD ENDP;
----------------------------------------------------------------------;命令分析子程序COMMAND
PROC CMP AH, 2DH ; 2DH为x键的扫描码 JNZ COM1 ; 不是x键,转COM1 STC
; 值x键标志 RETCOM1: CALL DOSUB ; 转命令散转子程序 CLC RETCOMMAND ENDP;
----------------------------------------------------------------;命令散转子程序DOSUB PROC MOV AL, AH MOV AH, 0 ; 将键扫描码放入AX中 MOV BX, OFFSET KEYSUB ; BX指向KEYSUBDOSUB1: CMP WORD PTR [BX], 0 JZ DOSUBX ; KEYSUB表查完,即没有找到转DOSUBX CMP AX, [BX] JZ DOSUB2 ; 找到扫描码转DOSUB2 ADD BX, 4 JMP DOSUB1 ;DOSUB2: ADD BX, 2 MOV BX, [BX] ; 取处理程序入口地址 JMP BX ; 转处理程序DOSUBX: RET; SUB1和SUB2均为功能键处理程序; 处理完后应使用JMP DOSSUBX结束; 上箭头键处理程序SUB1: CMP CURLINE, 0 JZ SUB1X ;已到第一行,结束 DEC CURLINE ;向上一行 CALL SHOWCUR ;显示当前页SUB1X: JMP DOSUBX;下箭头键处理程序SUB2: MOV AX, LENCT DEC AX DEC AX ;至少显示一行 CMP AX, CURLINE ;已到最后一行 JZ SUB2X INC CURLINE ;向下一行 CALL SHOWCUR ;显示当前页SUB2X: JMP DOSUBXDOSUB ENDP;
----------------------------------------------------------------------CODE ENDS;
=======================================================================END START
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或《三国志12》武将属性1万的修改方法
  这就是修改之后的数据了,是有效果的哦!!!!!!!!!!!!
  接下来是武将在各种设施中的效果图了。继续往下看
  这个是在市场中的效果图了,注意看 配属后 的数值,呵呵。。。。。 不正常哦!!!!!!!!!
  这是在农田中的效果,也是看配属后的数值!!!!!!!!!!!
  这是在兵营中的效果,也是看配属后的数值!!!!!!!!!!!
  修改方法我放在了后面,脚本存档太大了点,发不上来,想要修改的人就自己创个脚本,然后把我给的代码复制进去 再保存看看有没有效果吧。
  其实说到底也就是,通过修改& 宝物+属性& 的办法来突破属性上限的。只要找到了相关的& 宝物+属性& 的代码就能轻松修改了。
  只要是懂得& OD& 或者& CE 下断跟踪的玩家都能追踪到关键代码的。
  在这里分享给大家,其实修改方法也是挺简单的,不知道为什么做修改器的大神们没有把这个 突破武将属性上限 的修改加上去?????????
  不过这样修改之后,游戏乐趣大大减少了,我用了半天时间才找到了修改办法的。郁闷啦,我在修改游戏的路上还是个新手啊。
  我到网上想要找找 三国志12 和 11 的 突破武将属性上限 的修改器,结果一个都没有,郁闷,然后我就自己去修改三国志12了,结果还真让我修改成功了,蛮幸运的。
  至于三国志11嘛,这个游戏有反调试,真是让人郁闷了,我突破不了他的反调试保护。
  如果有人知道怎么破解得了三国志11的反调试保护,希望能够分享一下,我也想把三国志11的武将属性上限修改了。
  我现在已经把 三国志7 三国志8 三国志9 三国志12 的武将属性上限都给修改成功了。
  至于三国志10 那个游戏只要找到了属性数值就可以突破武将属性上限了,很简单,虽然保存过后就会还原成255,但是也的确是我玩过的三国志系列中最好突破武将属性上限的游戏了。。
  [ENABLE]
  alloc(newmem,2048)
  label(returnhere)
  label(originalcode)
  label(exit)
  newmem:
  cmp [eax+10C],4
  jne originalcode
  movsx ecx,byte ptr [eax+44]
  mov ecx,#9999
  and ebx,001C0000
  jmp 0059A73E
  originalcode:
  movsx ecx,byte ptr [eax+44]
  and ebx,001C0000
  jmp returnhere
  "San12PK.exe"+19A734:
  jmp newmem
  returnhere:
  [DISABLE]
  dealloc(newmem)
  "San12PK.exe"+19A734:
  movsx ecx,byte ptr [eax+44]
  and ebx,001C0000
  以上是统率的脚本。
  上面是我用 CE6.2 找到的关键代码,是武将统率属性的,至于后面的3个属性,都在这段代码的后面一些位置,往下拉找就能很快找到的。
  这个是我编写的脚本,因为这个修改时全武将统一修改的,所以要加一个人物判定的代码。有可能这个判断人物的代码没用,那就要自己去找特征值了。&
  cmp [eax+10C],4
  jne originalcode
  就是这一句了。想要修改,自己去下载 CE 然后跳转到 "San12PK.exe"+19A734 这个地址。应该就能找到这条代码了。
  在这里说一句,我的系统是 WIN7 64 的,所以其他系统可能在这个地址不是这条代码。那就要你自己去找了。
  [ENABLE]
  //code from here to '[DISABLE]' will be used to enable the cheat
  alloc(newmem,2048) //2kb should be enough
  label(returnhere)
  label(originalcode)
  label(exit)
  newmem:
  cmp [eax+10C],4
  jnz originalcode
  movsx ecx,byte ptr [eax+45]
  mov ecx,#9999
  push esi
  jmp 0059A83F
  originalcode:
  movsx ecx,byte ptr [eax+45]
  push esi
  jmp returnhere
  "San12PK.exe"+19A83A:
  jmp newmem
  returnhere:
  [DISABLE]
  //code from here till the end of the code will be used to disable the cheat
  dealloc(newmem)
  "San12PK.exe"+19A83A:
  movsx ecx,byte ptr [eax+45]
  push esi
  //Alt: db 0F BE 48 45 56
  以上是武力的脚本。
  [ENABLE]
  //code from here to '[DISABLE]' will be used to enable the cheat
  alloc(newmem,2048) //2kb should be enough
  label(returnhere)
  label(originalcode)
  label(exit)
  newmem:
  cmp [eax+10C],4
  jnz originalcode
  movsx ecx,byte ptr [eax+46]
  mov ecx,#9999
  push esi
  originalcode:
  movsx ecx,byte ptr [eax+46]
  push esi
  jmp returnhere
  "San12PK.exe"+19A8DD:
  jmp newmem
  returnhere:
  [DISABLE]
  //code from here till the end of the code will be used to disable the cheat
  dealloc(newmem)
  "San12PK.exe"+19A8DD:
  movsx ecx,byte ptr [eax+46]
  push esi
  //Alt: db 0F BE 48 46 56
  以上是智力的脚本。
  [ENABLE]
  //code from here to '[DISABLE]' will be used to enable the cheat
  alloc(newmem,2048) //2kb should be enough
  label(returnhere)
  label(originalcode)
  label(exit)
  newmem:
  cmp [eax+10C],4
  jnz originalcode
  movsx ecx,byte ptr [eax+47]
  mov ecx,#9999
  push esi
  originalcode:
  movsx ecx,byte ptr [eax+47]
  push esi
  jmp returnhere
  "San12PK.exe"+19A9ED:
  jmp newmem
  returnhere:
  [DISABLE]
  //code from here till the end of the code will be used to disable the cheat
  dealloc(newmem)
  "San12PK.exe"+19A9ED:
  movsx ecx,byte ptr [eax+47]
  push esi
  //Alt: db 0F BE 48 47 56
  以上是政治的脚本。
& 14:43:30
& 15:40:16
& 10:26:32
& 14:49:47
& 13:31:00
& 10:23:00
& 02:21:54
Copyright &
SINA Corporation, All Rights Reserved君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
跟我用汇编修改游戏【精选】
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口某游戏登陆器脱壳修复记录~! - 看雪安全论坛
该主题: "某游戏登陆器脱壳修复记录~!" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
本站声明:看雪论坛文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者信息及本声明!
『工具开发』队员
注册日期: Aug 2005
现金: 336 Kx
获感谢文章数:2获会员感谢数:8
某游戏登陆器脱壳修复记录~!
标 题: 某游戏登陆器脱壳修复记录~! 作 者: menting
时 间: ,19:02:32 链 接: /showthread.php?t=110555
有朋友让我帮他整一下,查壳发现是ASP,好一整欢喜,没想到跟了两步,发现我是那么的天真~!(联想到XX说过的,&很傻很天真~!&).
下面把脱壳和修复记录复制上上来,分享给大家,希望能给大家有点帮助.
//剛開始加載的時候是這個:
367C1000&&&$&&68&&&&push&&&&
367C1005&&&?&&E8&&&&call&&&&367C100B
367C100A&&&.&&C3&&&&&&&&&&&&retn
367C100B&&&?&&C3&&&&&&&&&&&&retn
367C100C&&&.&&7B&56&&&&&&&&&jpo&&&&&short&367C1064
367C100E&&&?&&FF48&C6&&&&&&&dec&&&&&dword&ptr&[eax-3A]
//F7跟到這裡
&&&&60&&&&&&&&&&&&&&pushad
&&&&E8&&&&&&call&&&&3732500A
&&-&E9&EB045D45&&&&&jmp&&&&&shell32.7C8F54F7
3732500C&&&&55&&&&&&&&&&&&&&push&&&&ebp
3732500D&&&&C3&&&&&&&&&&&&&&retn
//然後在代碼段地址下斷點:
//如果有心思可以F7一直跟,不算遠,我不到10分種就到下面,按F2&^_^
Memory&map,&条目&35
&地址=367C1000
&大小=000F.)
&属主=奇迹&&&&&367C0000
&包含=代码
&类型=Imag&
&初始访问=RWE
//F9就會到這裡,不要按F8,否則會飛了的.
&&&&0BC0&&&&&&&&&&&&or&&&&&&eax,&eax
&&&&74&1B&&&&&&&&&&&je&&&&&&short&
&&&&8BF8&&&&&&&&&&&&mov&&&&&edi,&eax
&&&&B9&0C000000&&&&&mov&&&&&ecx,&0C
3732550E&&&&F3:A4&&&&&&&&&&&rep&&&&&movs&byte&ptr&es:[edi],&byte&ptr&
&&&&EB&10&&&&&&&&&&&jmp&&&&&short&
//F7跟到下面
&&&&89A5&&&&mov&&&&&dword&ptr&[ebp+429],&esp
&&&&6A&40&&&&&&&&&&&push&&&&40
3732552A&&&&68&&&&&&push&&&&1000
3732552F&&&&FFB5&&&&push&&&&dword&ptr&[ebp+408]
&&&&6A&00&&&&&&&&&&&push&&&&0
&&&&FF95&F0030000&&&call&&&&dword&ptr&[ebp+3F0]
3732553D&&&&8985&CC010000&&&mov&&&&&dword&ptr&[ebp+1CC],&eax
&&&&8B9D&&&&mov&&&&&ebx,&dword&ptr&[ebp+400]
&&&&039D&0D040000&&&add&&&&&ebx,&dword&ptr&[ebp+40D]
3732554F&&&&50&&&&&&&&&&&&&&push&&&&eax
&&&&53&&&&&&&&&&&&&&push&&&&ebx
&&&&E8&&&&&&call&&&&3732565A
&&&&6A&40&&&&&&&&&&&push&&&&40
&&&&68&&&&&&push&&&&1000
3732555D&&&&FFB5&&&&push&&&&dword&ptr&[ebp+408]
&&&&6A&00&&&&&&&&&&&push&&&&0
&&&&FF95&F0030000&&&call&&&&dword&ptr&[ebp+3F0]
//再按上面的方法,在代碼段下斷點
//F9一下到這裡
00D026B7&&&&F3:A5&&&&&&&&&&&rep&&&&&movs&dword&ptr&es:[edi],&dword&p&
00D026B9&&&&89C1&&&&&&&&&&&&mov&&&&&ecx,&eax
00D026BB&&&&83E1&03&&&&&&&&&and&&&&&ecx,&3
00D026BE&&&&F3:A4&&&&&&&&&&&rep&&&&&movs&byte&ptr&es:[edi],&byte&ptr&
00D026C0&&&&5F&&&&&&&&&&&&&&pop&&&&&edi
00D026C1&&&&5E&&&&&&&&&&&&&&pop&&&&&esi
00D026C2&&&&C3&&&&&&&&&&&&&&retn
00D026C3&&&&8D740E&FC&&&&&&&lea&&&&&esi,&dword&ptr&[esi+ecx-4]
00D026C7&&&&8D7C0F&FC&&&&&&&lea&&&&&edi,&dword&ptr&[edi+ecx-4]
00D026CB&&&&C1F9&02&&&&&&&&&sar&&&&&ecx,&2
//&F7跟到下面
00D40686&&&&8B1424&&&&&&&&&&mov&&&&&edx,&dword&ptr&[esp]
00D40689&&&&B9&&&&&&mov&&&&&ecx,&8
00D4068E&&&&8BC3&&&&&&&&&&&&mov&&&&&eax,&ebx
00D40690&&&&8B28&&&&&&&&&&&&mov&&&&&ebp,&dword&ptr&[eax]
00D40692&&&&FF55&04&&&&&&&&&call&&&&dword&ptr&[ebp+4]
00D40695&&&&8BC3&&&&&&&&&&&&mov&&&&&eax,&ebx
00D40697&&&&8B10&&&&&&&&&&&&mov&&&&&edx,&dword&ptr&[eax]
00D40699&&&&FF52&08&&&&&&&&&call&&&&dword&ptr&[edx+8]
00D4069C&&&&8B03&&&&&&&&&&&&mov&&&&&eax,&dword&ptr&[ebx]
00D4069E&&&&FF50&10&&&&&&&&&call&&&&dword&ptr&[eax+10]
00D406A1&&&&50&&&&&&&&&&&&&&push&&&&eax
00D406A2&&&&8BC3&&&&&&&&&&&&mov&&&&&eax,&ebx
00D406A4&&&&8B10&&&&&&&&&&&&mov&&&&&edx,&dword&ptr&[eax]
00D406A6&&&&FF52&0C&&&&&&&&&call&&&&dword&ptr&[edx+C]
00D406A9&&&&8BC8&&&&&&&&&&&&mov&&&&&ecx,&eax
00D406AB&&&&8BD7&&&&&&&&&&&&mov&&&&&edx,&edi
00D406AD&&&&83EA&08&&&&&&&&&sub&&&&&edx,&8
00D406B0&&&&8B4424&04&&&&&&&mov&&&&&eax,&dword&ptr&[esp+4]
00D406B4&&&&83C0&08&&&&&&&&&add&&&&&eax,&8
00D406B7&&&&E8&6CBFFCFF&&&&&call&&&&00D0C628
00D406BC&&&&83C6&0C&&&&&&&&&add&&&&&esi,&0C
00D406BF&&&&837E&04&00&&&&&&cmp&&&&&dword&ptr&[esi+4],&0
00D406C3&&^&77&98&&&&&&&&&&&ja&&&&&&short&00D4065D
00D406C5&&&&8BC3&&&&&&&&&&&&mov&&&&&eax,&ebx&&;這裡F4
00D406C7&&&&E8&EC25FCFF&&&&&call&&&&00D02CB8
00D406CC&&&&5A&&&&&&&&&&&&&&pop&&&&&edx
00D406CD&&&&5D&&&&&&&&&&&&&&pop&&&&&ebp
00D406CE&&&&5F&&&&&&&&&&&&&&pop&&&&&edi
00D406CF&&&&5E&&&&&&&&&&&&&&pop&&&&&esi
00D406D0&&&&5B&&&&&&&&&&&&&&pop&&&&&ebx
00D406D1&&&&C3&&&&&&&&&&&&&&retn
//F7跟到下面:
00D40A80&&&&55&&&&&&&&&&&&&&push&&&&ebp
00D40A81&&&&8BEC&&&&&&&&&&&&mov&&&&&ebp,&esp
00D40A83&&&&83C4&EC&&&&&&&&&add&&&&&esp,&-14
00D40A86&&&&53&&&&&&&&&&&&&&push&&&&ebx
00D40A87&&&&56&&&&&&&&&&&&&&push&&&&esi
00D40A88&&&&57&&&&&&&&&&&&&&push&&&&edi
00D40A89&&&&A1&CC64D400&&&&&mov&&&&&eax,&dword&ptr&[D464CC]
00D40A8E&&&&C600&E2&&&&&&&&&mov&&&&&byte&ptr&[eax],&0E2
00D40A91&&&&A1&&&&&&mov&&&&&eax,&dword&ptr&[D46530]
00D40A96&&&&8B00&&&&&&&&&&&&mov&&&&&eax,&dword&ptr&[eax]
00D40A98&&&&8B40&08&&&&&&&&&mov&&&&&eax,&dword&ptr&[eax+8]
00D40A9B&&&&8945&F4&&&&&&&&&mov&&&&&dword&ptr&[ebp-C],&eax
00D40A9E&&&&A1&&&&&&mov&&&&&eax,&dword&ptr&[D46530]
//往下看到這裡
//(這段是解密代碼用的,沒仔細看了,現在去看看,就會發現代碼段已經解密,IAT依然沒解密)
00D40B33&&&&8B45&FC&&&&&&&&&mov&&&&&eax,&dword&ptr&[ebp-4]
00D40B36&&&&E8&3958FCFF&&&&&call&&&&00D06374
00D40B3B&&&&8B53&04&&&&&&&&&mov&&&&&edx,&dword&ptr&[ebx+4]
00D40B3E&&&&8BC6&&&&&&&&&&&&mov&&&&&eax,&esi
00D40B40&&&&E8&6B1AFCFF&&&&&call&&&&00D025B0
00D40B45&&&&83C3&0C&&&&&&&&&add&&&&&ebx,&0C
00D40B48&&&&8B43&04&&&&&&&&&mov&&&&&eax,&dword&ptr&[ebx+4]
00D40B4B&&&&85C0&&&&&&&&&&&&test&&&&eax,&eax
00D40B4D&&^&77&88&&&&&&&&&&&ja&&&&&&short&00D40AD7
00D40B4F&&&&837D&F4&00&&&&&&cmp&&&&&dword&ptr&[ebp-C],&0&&;在這裡F4
00D40B53&&&&74&08&&&&&&&&&&&je&&&&&&short&00D40B5D
00D40B55&&&&8B45&F4&&&&&&&&&mov&&&&&eax,&dword&ptr&[ebp-C]
00D40B58&&&&8B55&F0&&&&&&&&&mov&&&&&edx,&dword&ptr&[ebp-10]
00D40B5B&&&&8910&&&&&&&&&&&&mov&&&&&dword&ptr&[eax],&edx
00D40B5D&&&&5F&&&&&&&&&&&&&&pop&&&&&edi
00D40B5E&&&&5E&&&&&&&&&&&&&&pop&&&&&esi
00D40B5F&&&&5B&&&&&&&&&&&&&&pop&&&&&ebx
00D40B60&&&&8BE5&&&&&&&&&&&&mov&&&&&esp,&ebp
00D40B62&&&&5D&&&&&&&&&&&&&&pop&&&&&ebp
00D40B63&&&&C3&&&&&&&&&&&&&&retn
//F8繼續,這裡之後IAT表解密:
00D40DA8&&&&68&E00FD400&&&&&push&&&&0D40FE0&&&&&&&&&&&&&&&&&&&&&&&&&&;&ASCII&&85&
00D40DAD&&&&E8&7A56FDFF&&&&&call&&&&00D1642C
00D40DB2&&&&A1&&&&&&mov&&&&&eax,&dword&ptr&[D46424]
00D40DB7&&&&8B00&&&&&&&&&&&&mov&&&&&eax,&dword&ptr&[eax]
00D40DB9&&&&E8&9E54FFFF&&&&&call&&&&00D3625C
00D40DBE&&&&84C0&&&&&&&&&&&&test&&&&al,&al
00D40DC0&&&&75&0A&&&&&&&&&&&jnz&&&&&short&00D40DCC
//F8一直到這裡:
00D41B08&&&&68&A6E47DF1&&&&&push&&&&F17DE4A6
00D41B0D&&&&68&E0020000&&&&&push&&&&2E0
00D41B12&&&&68&&&&&&push&&&&16060
00D41B17&&&&68&&&&&&push&&&&1514
00D41B1C&&&&68&F0050400&&&&&push&&&&405F0
00D41B21&&&&68&&&&&&push&&&&59000
00D41B26&&&&FF35&D474D400&&&push&&&&dword&ptr&[D474D4]
00D41B2C&&&&E8&&&&&&call&&&&00D41B32&&;F7跟進去看看
//&一整忙乎後會到下面
//&耐心點這裡要好一整才到下面
00D413CE&&&&A1&E45CD500&&&&&mov&&&&&eax,&dword&ptr&[D55CE4]
00D413D3&&&&&&&&&&&mov&&&&&dword&ptr&[esp+4],&eax
00D413D7&&&&897C24&10&&&&&&&mov&&&&&dword&ptr&[esp+10],&edi
00D413DB&&&&A1&&&&&&mov&&&&&eax,&dword&ptr&[D46444]
00D413E0&&&&8B00&&&&&&&&&&&&mov&&&&&eax,&dword&ptr&[eax]
00D413E2&&&&E8&D118FCFF&&&&&call&&&&00D02CB8
00D413E7&&&&A1&B45CD500&&&&&mov&&&&&eax,&dword&ptr&[D55CB4]
00D413EC&&&&E8&C718FCFF&&&&&call&&&&00D02CB8
00D413F1&&&&A1&CC64D400&&&&&mov&&&&&eax,&dword&ptr&[D464CC]
00D413F6&&&&C600&E3&&&&&&&&&mov&&&&&byte&ptr&[eax],&0E3
00D413F9&&&&8BD4&&&&&&&&&&&&mov&&&&&edx,&esp
00D413FB&&&&A1&F05CD500&&&&&mov&&&&&eax,&dword&ptr&[D55CF0]
00D41400&&&&E8&2FC0FFFF&&&&&call&&&&00D3D434
00D41405&&&&E8&9E39FFFF&&&&&call&&&&00D34DA8
00D4140A&&&&E8&51F1FFFF&&&&&call&&&&00D40560&&;這裡就跳進OEP
00D4140F&&&&83C4&24&&&&&&&&&add&&&&&esp,&24
00D41412&&&&5F&&&&&&&&&&&&&&pop&&&&&edi
00D41413&&&&5E&&&&&&&&&&&&&&pop&&&&&esi
00D41414&&&&5B&&&&&&&&&&&&&&pop&&&&&ebx
00D41415&&&&C3&&&&&&&&&&&&&&retn
//F7跟進來後的樣子:
00D40560&&&&23F7&&&&&&&&&&&&and&&&&&esi,&edi&&&&&&&&&&&&&&&&&&&&&&&&&;&奇迹.367C0000
00D40562&&&&&&&&&&&xor&&&&&esi,&dword&ptr&[esp+8]
00D40566&&&&C1CE&6D&&&&&&&&&ror&&&&&esi,&6D
00D40569&&&&68&&&&&&push&&&&0
00D4056E&&&&EB&02&&&&&&&&&&&jmp&&&&&short&00D40572
00D40570&&&&CD20&2BF65E0B&&&vxdjump&B5EF62B
00D40576&&&&F6&&&&&&&&&&&&&&???&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&未知命令
00D40577&&&&0F85&DD000000&&&jnz&&&&&00D4065A
//跟了一翻後發現在這裡了:
01E40000&&&&68&C7F54A50&&&&&push&&&&504AF5C7
01E40005&&&&B9&6327F71F&&&&&mov&&&&&ecx,&1FF72763
01E4000A&&&&59&&&&&&&&&&&&&&pop&&&&&ecx
01E4000B&&&&E8&&&&&&call&&&&01E40024
01E40010&&&&8CD5&&&&&&&&&&&&mov&&&&&bp,&ss
01E40012&&&&EA&DB&jmp&&&&&far&24B7:B65178DB
01E40048&&&&FF3403&&&&&&&&&&push&&&&dword&ptr&[ebx+eax]
01E4004B&&&&5A&&&&&&&&&&&&&&pop&&&&&edx
01E4004C&&&&81C2&2EE48208&&&add&&&&&edx,&882E42E
01E40052&&&&66:BE&4D07&&&&&&mov&&&&&si,&74D
01E40056&&&&81F2&CF5BD52A&&&xor&&&&&edx,&2AD55BCF
01E4005C&&&&8BF0&&&&&&&&&&&&mov&&&&&esi,&eax
01E4005E&&&&81F2&5C59EB4F&&&xor&&&&&edx,&4FEB595C
01E40064&&&&BF&68067B2F&&&&&mov&&&&&edi,&2F7B0668
01E40069&&&&52&&&&&&&&&&&&&&push&&&&edx
01E4006A&&&&66:81D9&B2AF&&&&sbb&&&&&cx,&0AFB2
01E4006F&&&&8F0418&&&&&&&&&&pop&&&&&dword&ptr&[eax+ebx]
01E40072&&&&0FBFF6&&&&&&&&&&movsx&&&esi,&si
01E40075&&&&81F7&F1252920&&&xor&&&&&edi,&
01E4007B&&&&83EB&02&&&&&&&&&sub&&&&&ebx,&2
01E4007E&&&&BE&F3EA2544&&&&&mov&&&&&esi,&4425EAF3
01E40083&&&&4B&&&&&&&&&&&&&&dec&&&&&ebx
01E40084&&&&4B&&&&&&&&&&&&&&dec&&&&&ebx
01E40085&&&&66:81EE&DCEA&&&&sub&&&&&si,&0EADC
01E4008A&&&&81FB&D4FFFFFF&&&cmp&&&&&ebx,&-2C
01E40090&&&&0F85&0B000000&&&jnz&&&&&01E400A1
01E40096&&&&E9&1F000000&&&&&jmp&&&&&01E400BA&&&&;這裡F4
01E4009B&&&&8647&74&&&&&&&&&xchg&&&&byte&ptr&[edi+74],&al
01E4009E&&&&9D&&&&&&&&&&&&&&popfd
01E4009F&&&&12E3&&&&&&&&&&&&adc&&&&&ah,&bl
01E400A1&&^&E9&A2FFFFFF&&&&&jmp&&&&&01E40048
//&計算出OEP,最後JMP跳過去,^_^終於跟到OEP了,飛向光明之顛了.
01E400BA&&&&BB&2AA24A00&&&&&mov&&&&&ebx,&4AA22A
01E400BF&&&&335C24&08&&&&&&&xor&&&&&ebx,&dword&ptr&[esp+8]
01E400C3&&&&5B&&&&&&&&&&&&&&pop&&&&&ebx
01E400C4&&&&8D4435&0E&&&&&&&lea&&&&&eax,&dword&ptr&[ebp+esi+E]
01E400C8&&&&8D4428&F2&&&&&&&lea&&&&&eax,&dword&ptr&[eax+ebp-E]
01E400CC&&&&2BC5&&&&&&&&&&&&sub&&&&&eax,&ebp
01E400CE&&&&58&&&&&&&&&&&&&&pop&&&&&eax
01E400CF&&&&8DE5E&lea&&&&&eax,&dword&ptr&[eax+ebp+5E5E349B&
01E400D6&&&&2BC5&&&&&&&&&&&&sub&&&&&eax,&ebp
01E400D8&&&&03C3&&&&&&&&&&&&add&&&&&eax,&ebx
01E400DA&&&&5C&&&&&&&&&&&&&&pop&&&&&esp
01E400DB&&-&FFE0&&&&&&&&&&&&jmp&&&&&eax&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&奇迹.368B1204
01E400DD&&&&C3&&&&&&&&&&&&&&retn
//現在應該可以DUMP了.
//再用ImportRec修復後,發現啟動出錯,仔細跟來看,到底是麼原因:
//發現入口是有亂碼的
368B1204&&&.&&55&&&&&&&&&&&&push&&&&ebp
368B1205&&&.&&8BEC&&&&&&&&&&mov&&&&&ebp,&esp
368B1207&&&.&&83C4&F0&&&&&&&add&&&&&esp,&-10
368B120A&&&.&&53&&&&&&&&&&&&push&&&&ebx
368B120B&&&.&&B8&340C8B36&&&mov&&&&&eax,&368B0C34
368B1210&&&.&&E8&875AF1FF&&&call&&&&367C6C9C
368B1215&&&.-&E9&823DA700&&&jmp&&&&&37324F9C&&;這裡跟進去
368B121A&&&&&&2F&&&&&&&&&&&&das
368B121B&&&&&&96&&&&&&&&&&&&xchg&&&&eax,&esi
368B121C&&&&&&D5&EA&&&&&&&&&aad&&&&&0EA
368B121E&&&&&&5B&&&&&&&&&&&&pop&&&&&ebx
368B121F&&&&&&3B9E&9E8BBDD4&cmp&&&&&ebx,&dword&ptr&[esi+D4BD8B9E]
368B1225&&&&&&1321&&&&&&&&&&adc&&&&&esp,&dword&ptr&[ecx]
368B1227&&&&^&7F&EA&&&&&&&&&jg&&&&&&short&368B1213
368B1229&&&&&&3D&EBECE829&&&cmp&&&&&eax,&29E8ECEB
368B122E&&&&&&52&&&&&&&&&&&&push&&&&edx
368B122F&&&&&&B2&A7&&&&&&&&&mov&&&&&dl,&0A7
368B1231&&&&&&847C1E&CB&&&&&test&&&&byte&ptr&[esi+ebx-35],&bh
//最厭惡這樣的殼了,偷代碼了,啟動不了很正常.
//打從破過一次SF花了很多時間和精力後,凡是碰到這樣的殼,一般都會放棄.
37324F9C&&&&68&9F4A3237&&&&&push&&&&37324A9F
37324FA1&&^&E9&3E07FDFF&&&&&jmp&&&&&372F56E4&&;這樣的方式讓想起了VMP,TMD.
37324FA6&&&&0000&&&&&&&&&&&&add&&&&&byte&ptr&[eax],&al
37324FA8&&&&0000&&&&&&&&&&&&add&&&&&byte&ptr&[eax],&al
//是不是我記憶有問題,發現越來越像VMP了,&T_T
372F56E4&&&&60&&&&&&&&&&&&&&pushad
372F56E5&&&&9C&&&&&&&&&&&&&&pushfd
372F56E6&&&&FC&&&&&&&&&&&&&&cld
372F56E7&&&&E8&&&&&&call&&&&372F56EC
372F56EC&&&&5F&&&&&&&&&&&&&&pop&&&&&edi
372F56ED&&&&81EF&EC562F37&&&sub&&&&&edi,&372F56EC
372F56F3&&&&8BC7&&&&&&&&&&&&mov&&&&&eax,&edi
372F56F5&&&&81C7&00542F37&&&add&&&&&edi,&372F5400
372F56FB&&&&3B47&2C&&&&&&&&&cmp&&&&&eax,&dword&ptr&[edi+2C]
372F56FE&&&&75&02&&&&&&&&&&&jnz&&&&&short&372F5702
372F5700&&&&EB&36&&&&&&&&&&&jmp&&&&&short&372F5738
//記錄一下
372F8208&&&&872C24&&&&&&&&&&xchg&&&&dword&ptr&[esp],&ebp
372F820B&&&&8B2424&&&&&&&&&&mov&&&&&esp,&dword&ptr&[esp]
372F820E&&&&68&CB3C0000&&&&&push&&&&3CCB
372F8213&&&&891C24&&&&&&&&&&mov&&&&&dword&ptr&[esp],&ebx
372F8216&&&&B3&76&&&&&&&&&&&mov&&&&&bl,&76
372F8218&&&&C0E3&05&&&&&&&&&shl&&&&&bl,&5
372F821B&&&&80C3&37&&&&&&&&&add&&&&&bl,&37
372F821E&&^&0F8E&53E1FFFF&&&jle&&&&&372F6377
//發現了幾次跳轉
372F6379&&&&FEC3&&&&&&&&&&&&inc&&&&&bl
372F637B&&&&0F8F&&&&jg&&&&&&372F7AA4
372F6381&&&&80E3&7D&&&&&&&&&and&&&&&bl,&7D
372F6384&&&&0F86&AD550000&&&jbe&&&&&372FB937
372F638A&&&&50&&&&&&&&&&&&&&push&&&&eax
372F638B&&&&E9&4E450000&&&&&jmp&&&&&372FA8DE
//經過一翻跟後實在沒有耐心了
//煩了,用點快捷的辦法,開始不是PUSHFD&PUSHAD嘛,這個都是成對出現的,我們找
//POPAD&POPFD
372FA948&&&&BB&&&&&&mov&&&&&ebx,&30&&;F4在這裡碰碰運氣,果真斷下了^_^
372FA94D&&&&01D3&&&&&&&&&&&&add&&&&&ebx,&edx
372FA94F&&&&C703&&&&mov&&&&&dword&ptr&[ebx],&0
372FA955&&&&5B&&&&&&&&&&&&&&pop&&&&&ebx
372FA956&&&&61&&&&&&&&&&&&&&popad&&&&;在這裡找到了
372FA957&&^&E9&7BDBFFFF&&&&&jmp&&&&&372F84D7
//跳轉後來到這裡
372F84D7&&&&9D&&&&&&&&&&&&&&popfd&&;找到,果真
372F84D8&&^&E9&0CDAFFFF&&&&&jmp&&&&&372F5EE9
372F84DD&&&&80EB&DD&&&&&&&&&sub&&&&&bl,&0DD
372F84E0&&^&E9&24DEFFFF&&&&&jmp&&&&&372F6309
//跳轉後返回了,具體幹嘛了,我也不知道,實在沒心思看了
372F5EE9&&&&C3&&&&&&&&&&&&&&retn&&;返回了
372F5EEA&&&&E9&B1430000&&&&&jmp&&&&&372FA2A0
//返回後調用這個函數?
367C7024&&&$-&FF25&08648C36&jmp&&&&&dword&ptr&[&&kernel32.GetLastErr&;&&ntdll.RtlGetLastWin32Error
//看來並沒有結束,這樣的是最讓我厭惡的了.
37324A6D&&&&68&CE4B3237&&&&&push&&&&37324BCE
37324A72&&^&E9&6D0CFDFF&&&&&jmp&&&&&372F56E4
//看好上面的RETN,就不至於跟丟了.
//不知道是麼函數體被加密了.
//返回後到入口處~!
368B1281&&&&&&A1&CC978B36&&&mov&&&&&eax,&dword&ptr&[368B97CC]
368B1286&&&&&&8B00&&&&&&&&&&mov&&&&&eax,&dword&ptr&[eax]
368B1288&&&&&&E8&1706F7FF&&&call&&&&
//錯誤我們在這裡找到了
&&&&&&8B53&08&&&&&&&mov&&&&&edx,&dword&ptr&[ebx+8]
&&&&&&8BC5&&&&&&&&&&mov&&&&&eax,&ebp
368189AB&&&&&&E8&C005FBFF&&&call&&&&367C8F70
&&&&&&85C0&&&&&&&&&&test&&&&eax,&eax
//正好是這個地方,我們跟進去看看,希望不要太BT
367C8F70&&&$-&E9&8B7068CB&&&jmp&&&&&01E50000
367C8F75&&&&&&98&&&&&&&&&&&&db&&&&&&98
367C8F76&&&&&&5E&&&&&&&&&&&&db&&&&&&5E&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&&CHAR&'^'
367C8F77&&&&&&04&&&&&&&&&&&&db&&&&&&04
367C8F78&&&&&&10&&&&&&&&&&&&db&&&&&&10
367C8F79&&&&&&16&&&&&&&&&&&&db&&&&&&16
//@_@,不會吧,讓我要把代碼從這亂碼中撿出來???
01E50000&&&&F2:&&&&&&&&&&&&&prefix&repne:
01E50001&&&&EB&01&&&&&&&&&&&jmp&&&&&short&01E50004
01E50003&&&&F2:&&&&&&&&&&&&&prefix&repne:
01E50004&&&&56&&&&&&&&&&&&&&push&&&&esi
01E50005&&&&57&&&&&&&&&&&&&&push&&&&edi
01E50006&&&&53&&&&&&&&&&&&&&push&&&&ebx
01E50007&&&&BE&168E4100&&&&&mov&&&&&esi,&418E16
01E5000C&&&&65:EB&01&&&&&&&&jmp&&&&&short&01E50010
01E5000F&&&&9A&C1E66681&DEF&call&&&&far&FEDE:
01E50016&&&&8BC7&&&&&&&&&&&&mov&&&&&eax,&edi
01E50018&&&&EC&&&&&&&&&&&&&&in&&&&&&al,&dx
01E50019&&&&8DB41D&88BB4200&lea&&&&&esi,&dword&ptr&[ebp+ebx+42BB88]
01E50020&&&&F2:&&&&&&&&&&&&&prefix&repne:
//我們把可疑的代碼全部羅略出來看看
01E50004&&&&56&&&&&&&&&&&&&&push&&&&esi
01E50005&&&&57&&&&&&&&&&&&&&push&&&&edi
01E50006&&&&53&&&&&&&&&&&&&&push&&&&ebx
01E50007&&&&BE&168E4100&&&&&mov&&&&&esi,&418E16
01E50010&&&&C1E6&66&&&&&&&&&shl&&&&&esi,&66
01E50013&&&&81DE&FE8BC7EC&&&sbb&&&&&esi,&ECC78BFE
01E50019&&&&8DB41D&88BB4200&lea&&&&&esi,&dword&ptr&[ebp+ebx+42BB88]
01E50024&&&&2BF3&&&&&&&&&&&&sub&&&&&esi,&ebx
01E50026&&&&8D7408&2B&&&&&&&lea&&&&&esi,&dword&ptr&[eax+ecx+2B]
01E5002A&&&&2BF1&&&&&&&&&&&&sub&&&&&esi,&ecx
01E50034&&&&8D740E&D5&&&&&&&lea&&&&&esi,&dword&ptr&[esi+ecx-2B]
01E50038&&&&2BF1&&&&&&&&&&&&sub&&&&&esi,&ecx
01E5003A&&&&037C24&38&&&&&&&add&&&&&edi,&dword&ptr&[esp+38]
01E5003E&&&&C1DF&CB&&&&&&&&&rcr&&&&&edi,&0CB
01E50045&&&&BF&524A4900&&&&&mov&&&&&edi,&494A52
01E5004A&&&&83EF&25&&&&&&&&&sub&&&&&edi,&25
01E50052&&&&0BFD&&&&&&&&&&&&or&&&&&&edi,&ebp
01E50058&&&&8D7C0A&4A&&&&&&&lea&&&&&edi,&dword&ptr&[edx+ecx+4A]
01E5005C&&&&2BF9&&&&&&&&&&&&sub&&&&&edi,&ecx
01E50063&&&&8D7C1F&B6&&&&&&&lea&&&&&edi,&dword&ptr&[edi+ebx-4A]
01E50067&&&&2BFB&&&&&&&&&&&&sub&&&&&edi,&ebx
01E50069&&&&09C0&&&&&&&&&&&&or&&&&&&eax,&eax
01E5006B&&&&74&03&&&&&&&&&&&je&&&&&&short&01E50070
01E5006D&&&&8B40&FC&&&&&&&&&mov&&&&&eax,&dword&ptr&[eax-4]
01E50070&&&&09D2&&&&&&&&&&&&or&&&&&&edx,&edx
01E50072&&&&74&03&&&&&&&&&&&je&&&&&&short&01E50077
01E50074&&&&8B52&FC&&&&&&&&&mov&&&&&edx,&dword&ptr&[edx-4]
01E5007B&&&&8D4C11&FF&&&&&&&lea&&&&&ecx,&dword&ptr&[ecx+edx-1]
01E5007F&&&&2BCA&&&&&&&&&&&&sub&&&&&ecx,&edx
01E5008A&&&&33CF&&&&&&&&&&&&xor&&&&&ecx,&edi
01E5008C&&&&8D48&1B&&&&&&&&&lea&&&&&ecx,&dword&ptr&[eax+1B]
01E5008F&&&&83E9&1B&&&&&&&&&sub&&&&&ecx,&1B
01E50092&&&&39D1&&&&&&&&&&&&cmp&&&&&ecx,&edx
01E50094&&&&76&02&&&&&&&&&&&jbe&&&&&short&01E50098
01E50096&&&&89D1&&&&&&&&&&&&mov&&&&&ecx,&edx
01E50098&&&&39C9&&&&&&&&&&&&cmp&&&&&ecx,&ecx
01E5009A&&&&F3:A6&&&&&&&&&&&repe&&&&cmps&byte&ptr&es:[edi],&byte&ptr&
01E5009C&&&&74&2A&&&&&&&&&&&je&&&&&&short&01E500C8
01E5009E&&&&8A5E&FF&&&&&&&&&mov&&&&&bl,&byte&ptr&[esi-1]
01E500A1&&&&80FB&61&&&&&&&&&cmp&&&&&bl,&61
01E500A4&&&&72&08&&&&&&&&&&&jb&&&&&&short&01E500AE
01E500A6&&&&80FB&7A&&&&&&&&&cmp&&&&&bl,&7A
01E500A9&&&&77&03&&&&&&&&&&&ja&&&&&&short&01E500AE
01E500AB&&&&80EB&20&&&&&&&&&sub&&&&&bl,&20
01E500AE&&&&8A7F&FF&&&&&&&&&mov&&&&&bh,&byte&ptr&[edi-1]
01E500B1&&&&80FF&61&&&&&&&&&cmp&&&&&bh,&61
01E500B4&&&&72&08&&&&&&&&&&&jb&&&&&&short&01E500BE
01E500B6&&&&80FF&7A&&&&&&&&&cmp&&&&&bh,&7A
01E500B9&&&&77&03&&&&&&&&&&&ja&&&&&&short&01E500BE
01E500BB&&&&80EF&20&&&&&&&&&sub&&&&&bh,&20
01E500BE&&&&38FB&&&&&&&&&&&&cmp&&&&&bl,&bh
01E500C0&&^&74&D8&&&&&&&&&&&je&&&&&&short&01E5009A
01E500C2&&&&0FB6C3&&&&&&&&&&movzx&&&eax,&bl
01E500C5&&&&0FB6D7&&&&&&&&&&movzx&&&edx,&bh
01E500C8&&&&29D0&&&&&&&&&&&&sub&&&&&eax,&edx
01E500CA&&&&5B&&&&&&&&&&&&&&pop&&&&&ebx
01E500CB&&&&5F&&&&&&&&&&&&&&pop&&&&&edi
01E500CC&&&&5E&&&&&&&&&&&&&&pop&&&&&esi
01E500CD&&&&C3&&&&&&&&&&&&&&retn
//上面一段的二進制代碼
56&57&53&BE&16&8E&41&00&C1&E6&66&81&DE&FE&8B&C7&EC&8D&B4&1D&88&BB&42&00&2B&F3&8D&74&08&2B&2B&F1
8D&74&0E&D5&2B&F1&03&7C&24&38&C1&DF&CB&BF&52&4A&49&00&83&EF&25&0B&FD&8D&7C&0A&4A&2B&F9&8D&7C&1F
B6&2B&FB&09&C0&74&03&8B&40&FC&09&D2&74&03&8B&52&FC&8D&4C&11&FF&2B&CA&33&CF&8D&48&1B&83&E9&1B&39
D1&76&02&89&D1&39&C9&F3&A6&74&2A&8A&5E&FF&80&FB&61&72&08&80&FB&7A&77&03&80&EB&20&8A&7F&FF&80&FF
61&72&08&80&FF&7A&77&03&80&EF&20&38&FB&74&D8&0F&B6&C3&0F&B6&D7&29&D0&5B&5F&5E&C3&C3
//我加了個區段,把代碼給補了進去~!運行正確^_^,有點慣例的做法,不過,最好的辦法就是
//找函數原始位置,補進去,這樣就不用再加區段了,但是這樣方便操作點.
367C8F70&&&&-&E9&8B10BD00&&&jmp&&&&&&&;新加區段的地址
367C8F75&&&&&&98&&&&&&&&&&&&db&&&&&&98
367C8F76&&&&&&5E&&&&&&&&&&&&db&&&&&&5E&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&&CHAR&'^'
367C8F77&&&&&&04&&&&&&&&&&&&db&&&&&&04
367C8F78&&&&&&10&&&&&&&&&&&&db&&&&&&10
Memory&map,&条目&62
&大小=536.)
&属主=dumped_&&367C0000
&区段=.mgAdd
&类型=Imag&
&初始访问=RWE
//實際還有好多沒補,到是現在運行起來了^_^.
&先就这样了,以后碰到了,慢慢补,这个不一定能把全部偷走的代码一次补全,慢慢来~~!Yeah~~!
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-&By&Menting&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*转载请注明来自看雪论坛@
注册日期: Jan 2008
现金: 2065 Kx
获感谢文章数:36获会员感谢数:63
, 23:29:33
美眉妳来了?
注册日期: Oct 2008
现金: 242 Kx
获感谢文章数:1获会员感谢数:1
, 12:16:35
看不懂,纯支持。莫非此游戏乃奇迹!
注册日期: Apr 2009
现金: 75 Kx
获感谢文章数:0获会员感谢数:0
, 15:10:50
MM&aspr的&vm&修复&确实很不错码&挺你一下
注册日期: Mar 2008
现金: 230 Kx
获感谢文章数:0获会员感谢数:0
, 10:59:29
楼主厉害,学习一下了
注册日期: Sep 2009
现金: 72 Kx
获感谢文章数:0获会员感谢数:0
, 18:56:46
大家写教程,怎么都是F4&&F7&&&运行到那里,怎么怎么!
注册日期: Sep 2008
现金: 328 Kx
获感谢文章数:2获会员感谢数:3
, 19:36:52
补区段不行?????????&不是更快么&不用跟代码了
该主题: "某游戏登陆器脱壳修复记录~!" 因在一定的时间里没有任何回复而自动关闭。如果您还对该主题感兴趣或者想参与对此主题的讨论,请您重新发表一篇相关的新主题。
您不可以发表主题
您不可以回复帖子
您不可以上传附件
您不可以编辑自己的帖子
论坛论坛启用
用户控制面板
会员在线状态
『看雪众测/众包』
初学者园地
『求助问答』
『经典问答』
『资料导航』
『Android 安全』
『Android 开发』
『iOS安全』
『软件调试逆向』
『密码学』
『编程技术』
『C32Asm』
『MDebug』
『安全工具开发』
『加壳与脱壳』
『CrackMe&ReverseMe』
『资源下载』
『WEB安全』
『漏洞分析』
『外文翻译』
『招聘专区』
『职业生涯』
『15PB培训』
『麦洛克菲培训』
『茶余饭后』
『安全资讯』
『论坛活动』
6)PEDIY Crackme竞赛2009
7)看雪十周年专版
8)腾讯公司2010软件安全竞赛
9)2011 Exploit Me竞赛
『图书项目版』
《加密与解密(第三版)》
《C++反汇编与逆向分析技术揭秘》
《Android软件安全与逆向分析》
『论坛版务』
所有时间均为北京时间, 现在的时间是 .
&&& 看雪学院()
| 提供带宽资源
|&微信公众帐号:
& 手机客户端:

我要回帖

更多关于 men是什么属性 的文章

 

随机推荐