能力值:
( LV2,RANK:10 )
76 楼
支持,动态用什么调??
能力值:
( LV4,RANK:50 )
77 楼
最初由 dotnetcrk 发布 不错的思路。 不过有个问题,搂主说“Xenocode Fox可以直接告诉你函数的入口在BODY中的地址”,问题是Xenocode Fox不允许反编译自己,所以这个Body address=0x00111D88是怎么知道的? 很想知道的说。
请仔细看文章,用0x00111D88地址查找是后话,文中只是描述时提到了Xenocode Fox的用法顺便举例一下。
其实是要用16进制特征码“26 17 2A 16 2A”在Hexworkshop中查找Xenocode Fox的函数的入口的。
特征码“26 17 2A 16 2A”是在Reflector中查找FOX.EXE的函数入口点后分析出来的。
BTW:我这里从xen0c0de.c0m下载时300Kb/s,
能力值:
( LV2,RANK:10 )
78 楼
.net太容易破解了,没兴趣
能力值:
( LV2,RANK:10 )
79 楼
我新来的 学艺中~ 多谢
能力值:
( LV2,RANK:10 )
80 楼
谢谢,学习了!
能力值:
( LV2,RANK:10 )
81 楼
正需要呢,谢谢
能力值:
( LV2,RANK:10 )
82 楼
支持,顶,学习
能力值:
( LV2,RANK:10 )
83 楼
好文,学习中!!!
能力值:
( LV2,RANK:10 )
84 楼
顶,好文!!!
能力值:
( LV2,RANK:10 )
85 楼
学习+期待。。。。。。。。。
能力值:
( LV2,RANK:10 )
86 楼
楼主和高手们:
L_0006: callvirt instance bool [EriLock]EriLock.frm_license::licenseCheck([System.Windows.Forms]System.Windows.Forms.Form)
L_000b: brtrue.s L_0019------------------------------------是验证密码正确转到L_0019,因密码不知道,如何改?
L_000d: ldstr "The license of the program is not valid. Press OK to exit."
L_0012: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
L_0017: pop
L_0018: ret
L_0019: ldstr "App start"
L_001e: call void [mscorlib]System.Console::WriteLine(string)
L_0023: newobj instance void com.ericsson.mcom.main.MainForm::.ctor()
---------------------------------------
不出现错误信息,把哪些改为nop?
能力值:
( LV2,RANK:10 )
87 楼
没人浏览???
能力值:
( LV9,RANK:170 )
88 楼
L_000b: brtrue.s L_0019------------------------------------是验证密码正确转到L_0019,因密码不知道,如何改?
L_000d: ldstr "The license of the program is not valid. Press OK to exit."
L_0012: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
L_0017: pop
L_0018: ret
把上面的代码全NOP掉试试
能力值:
( LV2,RANK:10 )
89 楼
楼主,还有一个问题
// Method Body Address: 0x000331AC
// Code Size: 87 byte(s)
.maxstack 3
.locals init (
com.-----------------------------------入口是331AC
L_000d是72,这样这位置就是3321E
那几个命令行都用hexworkshop找到改为90?是L000d,L0012,L0017,L0018四个地方(就是72 28 26 2A)改为90?还是3321E--哪里都改为90?
看了你的文章,没有太明白.改完之后是不是直接保存后就可以了?
要是方便我们qq上说:qq123465689
能力值:
( LV2,RANK:10 )
90 楼
nop掉4处后保存文件后,不能运行软件.xenocode fox检查发现L0019之后没有了,
只是到L0018就结束,为啥阿?
能力值:
( LV2,RANK:10 )
91 楼
楼主帮忙啊!
能力值:
( LV2,RANK:10 )
92 楼
楼主不在吗?
能力值:
( LV2,RANK:10 )
93 楼
楼主
.method public hidebysig static void Main(string[] args) cil managed
{
.custom instance void [mscorlib]System.STAThreadAttribute::.ctor()
.entrypoint
// Method Body Address: 0x000331AC
// Code Size: 87 byte(s)
.maxstack 3
.locals init (
com.ericsson.mcom.main.MainForm form1)
L_0000: call [EriLock]EriLock.frm_license com.ericsson.mcom.MainClass::createFrmLicense()
L_0005: ldnull
L_0006: callvirt instance bool [EriLock]EriLock.frm_license::licenseCheck([System.Windows.Forms]System.Windows.Forms.Form)
L_000b: brtrue.s L_0019
L_000d: ldstr "The license of the program is not valid. Press OK to exit."
L_0012: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string)
L_0017: pop
L_0018: ret
L_0019: ldstr "App start"
L_001e: call void [mscorlib]System.Console::WriteLine(string)
L_0023: newobj instance void com.ericsson.mcom.main.MainForm::.ctor()
L_0028: stloc.0
L_0029: ldloc.0
L_002a: call void com.ericsson.mcom.mapinfo.MapInfoW::Init([System.Windows.Forms]System.Windows.Forms.Form)
L_002f: call void com.ericsson.mcom.main.ActionFactory::UpdateActions()
L_0034: call void com.ericsson.mcom.main.ActionFactory::DefaultAction()
L_0039: ldloc.0
L_003a: callvirt instance void com.ericsson.mcom.main.MainForm::UpdateMenuVisibility()
L_003f: ldnull
L_0040: ldftn void com.ericsson.mcom.MainClass::shutdown(object, [mscorlib]System.EventArgs)
L_0046: newobj instance void [mscorlib]System.EventHandler::.ctor(object, native int)
L_004b: call void [System.Windows.Forms]System.Windows.Forms.Application::add_ApplicationExit([mscorlib]System.EventHandler)
L_0050: ldloc.0
L_0051: call void [System.Windows.Forms]System.Windows.Forms.Application::Run([System.Windows.Forms]System.Windows.Forms.Form)
L_0056: ret
}
用hew workshop打开软件,找到Reflector停顿处,查找331ac位置(是13),与L_0000: call [EriLock]EriLock.frm_license 位置是coad 0x28不同,为何?
还有就是这个软件我把_000b: brtrue.s L_0019至 L_0018: ret 5个命令改为nop(hew是不是设置90?),保存后软件不能正常运行.
能力值:
( LV9,RANK:170 )
94 楼
NOP 是16进制的00,而不是90,你自己弄错了。
要显示正确的代码,要变为IL格式。
代码偏移0x000331AC应该是没什么错误的,也许是你操作的问题。
能力值:
( LV2,RANK:10 )
95 楼
不是很明白,要学学才行。
能力值:
( LV2,RANK:10 )
96 楼
谢谢楼主,我再试一下
能力值:
( LV2,RANK:10 )
97 楼
楼主你好,我找到了位置,nop掉了5处,运行软件出现"遇到问题需要关闭.我们对此引起的不便表示抱歉.如果您正处于进程当中,信息有可能丢失.有2个选项-调试和关闭"的告警方框,是不是nop不对啊?
再有,il后的位置与hex看到的位置存在滞后5位,这又是为什麽?
能力值:
( LV2,RANK:10 )
98 楼
是滞后13位,楼主,可以的话,我把软件传给你,你试一下如何?我的权限不能上传
能力值:
( LV2,RANK:10 )
99 楼
改为nop后,不能运行.xenocode fox 2006再开软件,在nop掉处多了几行指令了,为何?
能力值:
( LV2,RANK:10 )
100 楼
继续顶....