From quite some time already I got interested in the art of electronics and more specifically into hardware reverse engineering.
Since I’m mostly interested in the device’s firmware, I have to deal with EEPROM or Flash chips.
MiniPro turned out to be my weapon of choice for reading or programming memory chips.
However, sometimes the device I’m playing with, uses a chip that MiniPro doesn’t yet have in its database.
Unfortunately, MiniPro doesn’t use «user friendly» database for the supported chips and I’m left with no other option, than wait for the authors to _eventually_ add it into the database, or, alternatively, reverse engineer the database, and add whatever I want by myself.
The author choose a DLL file as a database — InfoIC.dll
Removing the DLL from the program folder leads to error message and program crash.
Something I should mention is that the program is really, really badly coded. There are a lot of places with obvious buffer overflows, and crashing the program instead of safely terminating it when the crucial DLL is not found, is the most obvious sign, about its code quality.
Whatever, lets dug into InfoIC.dll itself:
A hand full of export functions. Seems easy enough.
??0CInfoIC@@QAE@XZ, ??4CInfoIC@@QAEAAV0@ABV0@@Z and ?nInfoIC@@3HA are junk exports, so I’ll ignore them.
From the executable side, the important functions are initialized here:
Assembly.text:004424E2 push offset aInfoic_dll ; "infoIC.dll"
.text:004424E7 call ds:LoadLibraryA
.text:004424ED cmp eax, ebp
.text:004424EF mov hInstance, eax
.text:004424F4 jz loc_44259B
.text:004424FA mov edi, ds:GetProcAddress
.text:00442500 push offset aGeticstru ; "GetIcStru"
.text:00442505 push eax
.text:00442506 call edi ; GetProcAddress
.text:00442508 mov ecx, hInstance
.text:0044250E push offset aGeticmfc ; "GetIcMFC"
.text:00442513 push ecx
.text:00442514 mov _GetIcStru, eax
.text:00442519 call edi ; GetProcAddress
.text:0044251B mov edx, hInstance
.text:00442521 push offset aGeticlist ; "GetIcList"
.text:00442526 push edx
.text:00442527 mov _GetIcMFC, eax
.text:0044252C call edi ; GetProcAddress
.text:0044252E mov _GetIcList, eax
.text:00442533 mov eax, hInstance
.text:00442538 push offset aGetmfcstru ; "GetMfcStru"
.text:0044253D push eax
.text:0044253E call edi ; GetProcAddress
.text:00442540 mov ecx, hInstance
.text:00442546 push offset aGetdllinfo ; "GetDllInfo"
.text:0044254B push ecx
.text:0044254C mov _GetMfcStru, eax
.text:00442551 call edi ; GetProcAddress
.text:00442553 mov ecx, _GetIcStru
.text:00442559 mov _GetDllInfo, eax
.text:0044255E cmp ecx, ebp
.text:00442560 jz short loc_44257E
.text:00442562 cmp _GetIcMFC, ebp
.text:00442568 jz short loc_44257E
.text:0044256A cmp _GetIcList, ebp
.text:00442570 jz short loc_44257E
.text:00442572 cmp _GetMfcStru, ebp
.text:00442578 jz short loc_44257E
.text:0044257A cmp eax, ebp
.text:0044257C jnz short loc_442593
.text:0044257E loc_44257E:
.text:0044257E mov edx, hInstance
.text:00442584 push edx
.text:00442585 call ds:FreeLibrary
.text:0044258B mov hInstance, ebp
.text:00442591 jmp short loc_44259B
.text:00442593 loc_442593:
.text:00442593 cmp hInstance, ebp
.text:00442599 jnz short loc_4425A7
.text:0044259B loc_44259B:
.text:0044259B push ebp
.text:0044259C push ebp
.text:0044259D push offset aIcListDllFileE ; "IC List Dll file error!"
.text:004425A2 call sub_488284
So, it seems like this the only check that verifies if InfoIC.dll lib is valid or not.
I’ve compiled a DLL, containing the exports GetDllInfo, GetIcList, GetIcMFC, GetIcStru and GetMfcStru and made all of them as voids, with no arguments.
C#include <windows.h>
#define DLL_EXPORT __declspec(dllexport)
void DLL_EXPORT GetIcStru() { }
void DLL_EXPORT GetIcMFC() { }
void DLL_EXPORT GetIcList() { }
void DLL_EXPORT GetMfcStru() { }
void DLL_EXPORT GetDllInfo() { }
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
switch (fdwReason) {
case DLL_PROCESS_ATTACH: break;
case DLL_PROCESS_DETACH: break;
case DLL_THREAD_ATTACH: break;
case DLL_THREAD_DETACH: break;
}
return TRUE;
}
Now the program no longer shows the warning message, but it crashed again.
The next thing I did, was to load MiniPro.exe in OllyDbg with its original InfoIC.dll, and set a breakpoint:
Assembly.text:004424E2 push offset aInfoic_dll ; "infoIC.dll"
.text:004424E7 call ds:LoadLibraryA ; here
.text:004424ED cmp eax, ebp
.text:004424EF mov hInstance, eax
.text:004424F4 jz loc_44259B
...
When the library is loaded, set breakpoints on the entry points of the exports and write down the execution order.
At execution, only GetMfcStru got called, so I’ve start the reverse engineering here:
Assembly.text:10001020 public GetMfcStru
.text:10001020 GetMfcStru proc near
.text:10001020
.text:10001020 arg_0 = dword ptr 4
.text:10001020 arg_4 = dword ptr 8
.text:10001020
.text:10001020 mov eax, [esp+arg_0] ; Manufacturer ID
.text:10001024 push esi
.text:10001025 push edi
.text:10001026 mov edi, [esp+8+arg_4] ; memcpy : destination address
.text:1000102A lea ecx, [eax+eax*8] ; / calculate offset
.text:1000102D lea edx, [eax+ecx*2] ;
.text:10001030 mov ecx, 13h ; memcpy : number of DWORDs to copy
.text:10001035 xor eax, eax ; return 0
.text:10001037 lea esi, unk_101691E0[edx*4] ; memcpy : source address
.text:1000103E rep movsd ; memcpy
.text:10001040 pop edi
.text:10001041 pop esi
.text:10001042 retn
.text:10001042 GetMfcStru endp
The program obviously accept two arguments — arg_0 and arg_4. The rest is simply a memcpy() implementation, copying a piece of data from address of the DLL to a buffer provided as arg_4 based on a offset provided by arg_0.
Knowing the size of the copied buffer (0x13 DWORDs), I’ve took some data from unk_101691E0:
InfoIC.dllOffset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 001691E0 00 00 00 00 65 00 00 00 41 43 45 00 00 00 00 00 ....e...ACE..... 001691F0 00 00 00 00 00 00 00 00 00 00 00 00 41 43 45 20 ............ACE 00169200 54 65 63 68 6E 6F 6C 6F 67 79 00 00 00 00 00 00 Technology...... 00169210 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00169220 00 00 00 00 B0 47 04 10 47 00 00 00 ....�G..G...
It looks like some pretty simple structure, and after some research back and forward through main executable and DLL, I was able to obtain a valid structure:
Ctypedef struct MfcStru {
DWORD mfc_id; // ID of the Manufacturer
DWORD mfc_logo; // Manufacturer logo ID. Logos are hardcoded as BMP resources into the DLL
char mfc_name_short[20]; // Short manufacturer name (eg. "ATMEL", "ALI", etc.)
char mfc_name_full[40]; // Full manufacturer name (eg. "Atmel Corporation", "Acer Laboratories Inc", etc.)
byte* mfc_ic_struc; // Pointer to the ICs structures buffer
DWORD mfc_ic_count; // Number of ICs for this manufacturer
} MfcStru;
Having this information, I’ve updated my DLL like so:
Cvoid DLL_EXPORT GetMfcStru(DWORD id, byte *result) {
MfcStru Mfc = {0, 0, "TEST (short)", "TEST (long)", NULL, 0};
memcpy(result, &Mfc, sizeof(MfcStru));
}
Executing it as-is, again crashed the program here:
Assembly00461DC9 |. 8D4424 00 LEA EAX,DWORD PTR SS:[ESP] ; ESP is holding the result
00461DCD |. 56 PUSH ESI
00461DCE |. 57 PUSH EDI
00461DCF |. 50 PUSH EAX ; result
00461DD0 |. 51 PUSH ECX ; id
00461DD1 |. FF15 B0CB5200 CALL DWORD PTR DS:[52CBB0] ; call to GetMfcStru
00461DD7 |. A1 18C75200 MOV EAX,DWORD PTR DS:[52C718] ; EAX = 0, as iterator for MfcStru.mfc_ic_struc
00461DDC |. 83C4 08 ADD ESP,8
00461DDF |. 8D0440 LEA EAX,DWORD PTR DS:[EAX+EAX*2]
00461DE2 |. 8D14C0 LEA EDX,DWORD PTR DS:[EAX+EAX*8]
00461DE5 |. 8B4424 4C MOV EAX,DWORD PTR SS:[ESP+4C] ; points to MfcStru.mfc_ic_struc
00461DE9 |. 8A0C90 MOV CL,BYTE PTR DS:[EAX+EDX*4] ; crash occurs here
I can easily calculate the size of MfcStru.mfc_ic_struc structure like so:
if, EAX = 1 (eg. second entry, since the first is positioned at 0)
1+1*2 = 3;
3+3*8 = 27;
Because those are DWORDs, 27*4 gives me 108 or 0x06C as final size in bytes for MfcStru.mfc_ic_struc entry.
The starting address is basically MfcStru.mfc_ic_struc value 0x100447B0, minus the DLL image size 0x10000000, or simply 0x000447B0:
InfoIC.dllOffset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 000447B0 01 00 00 00 00 00 00 00 01 00 00 00 41 43 45 32 ............ACE2 000447C0 34 43 30 32 41 00 00 00 00 00 00 00 00 00 00 00 4C02A........... 000447D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 000447E0 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 ................ 000447F0 00 00 00 00 00 00 80 00 08 00 00 00 08 00 00 00 ......�......... 00044800 10 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .'.............. 00044810 00 00 00 00 00 00 00 08 80 00 00 00 ........�...
So, what I did next was to put those bytes in a buffer, assign it to MfcStru.mfc_ic_struc and set the MfcStru.mfc_ic_count to 1, as if there’s only one entry in the IC database.
Cbyte ic_struc[] = "x01x00x00x00x00x00x00x00x01x00x00x00x41x43x45x32"
"x34x43x30x32x41x00x00x00x00x00x00x00x00x00x00x00"
"x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00"
"x00x00x00x00x00x00x00x00x00x01x00x00x00x00x00x00"
"x00x00x00x00x00x00x80x00x08x00x00x00x08x00x00x00"
"x10x27x00x00x00x00x00x00x00x00x00x00x00x00x00x00"
"x00x00x00x00x00x00x00x08x80x00x00x00";
void DLL_EXPORT GetMfcStru(DWORD id, byte *result) {
MfcStru Mfc = {0, 0, "TEST (short)", "TEST (long)", ic_struc, 1};
memcpy(result, &Mfc, sizeof(MfcStru));
}
Alright, the program no longer crashes on execution.
However, clicking on the button for Device select, still crashes it.
Same way as before, I’ve set breakpoints to the export functions entry points, clicked the button and it turned out, now GetIcMFC is executed.
Stepping over it, crashes the program, so I took a look what happens inside the original InfoIC.dll:
Assembly.text:10001090 public GetIcMFC
.text:10001090 GetIcMFC proc near
.text:10001090
;...
.text:10001090 arg_0 = dword ptr 4
.text:10001090 arg_4 = dword ptr 8
.text:10001090 arg_8 = dword ptr 0Ch
.text:10001090
.text:10001090 sub esp, 7Ch
.text:10001093 push ebx
.text:10001094 push ebp
.text:10001095 push edi
.text:10001096 mov edi, [esp+88h+arg_0]
.text:1000109D or ecx, 0FFFFFFFFh
.text:100010A0 xor eax, eax
.text:100010A2 xor ebp, ebp
.text:100010A4 xor edx, edx
.text:100010A6 repne scasb
.text:100010A8 not ecx
.text:100010AA dec ecx
.text:100010AB xor ebx, ebx
.text:100010AD mov eax, ecx
.text:100010AF mov ecx, ds:dword_1016BA40
.text:100010B5 cmp ecx, ebp
.text:100010B7 mov [esp+88h+var_7C], edx
.text:100010BB mov [esp+88h+var_70], eax
.text:100010BF mov [esp+88h+var_6C], ebx
.text:100010C3 jle loc_1000131F
;...
.text:10001313 mov eax, [esp+8Ch+var_7C] ; return value (case 1)
.text:10001317 pop esi
.text:10001318 pop edi
.text:10001319 pop ebp
.text:1000131A pop ebx
.text:1000131B add esp, 7Ch
.text:1000131E retn
.text:1000131F loc_1000131F:
.text:1000131F pop edi
.text:10001320 pop ebp
.text:10001321 mov eax, edx ; return value (case 2)
.text:10001323 pop ebx
.text:10001324 add esp, 7Ch
.text:10001327 retn
.text:10001327 GetIcMFC endp
I was interested in the arguments passed and the eventual returned value only.
Obviously there are three arguments arg_0, arg_4 and arg_8 and a DWORD return value.
Some executions later, I’ve found that arg_0 and arg_4 are memory buffers, while arg_8 is a DWORD/int value.
That’s enough information to tweak my implementation of GetIcMFC:
CDWORD DLL_EXPORT GetIcMFC(byte *arg_0, byte *arg_4, DWORD arg_8) {
return 0;
}
The program no longer crashes when I click the device select button, but the device select window doesn’t contain anything either:
Before digging deep into GetIcMFC and actually reverse engineer it, I’ve once again set breakpoints at the exports EPs, to get the complete exports call order.
After GetIcMFC, GetIcList and GetDllInfo were executed.
To obtain arguments and return values, I’ve proceed the same way like I did so far with GetIcMFC and the result was this:
C// Four arguments, and DWORD return value
DWORD DLL_EXPORT GetIcList(byte *arg_0, byte *arg_4, DWORD arg_8, DWORD arg_C) {
return 0;
}
// Two arguments, and DWORD return value
DWORD DLL_EXPORT GetDllInfo(byte *arg_0, byte *arg_4) {
return 0;
}
GetDllInfo looks short and simple, so I started with it:
C.text:100014E0 public GetDllInfo
.text:100014E0 GetDllInfo proc near
.text:100014E0 mov eax, [esp+arg_0]
.text:100014E4 mov edx, [esp+arg_4]
.text:100014E8 mov dword ptr [eax], 64h ; arg1
.text:100014EE mov ecx, ds:dword_1016BA40
.text:100014F4 mov [edx], ecx ; arg2
.text:100014F6 mov edx, ds:dword_1016BA40
.text:100014FC xor eax, eax ; zero EAX
.text:100014FE test edx, edx
.text:10001500 jle short locret_10001513
.text:10001502 push esi
.text:10001503 mov ecx, offset dword_10169228
.text:10001508 loc_10001508:
.text:10001508 mov esi, [ecx]
.text:1000150A add ecx, 4Ch
.text:1000150D add eax, esi
.text:1000150F dec edx
.text:10001510 jnz short loc_10001508
.text:10001512 pop esi
.text:10001513 locret_10001513:
.text:10001513 retn
.text:10001513 GetDllInfo endp
Both arguments are used as «out» parameters, and are set to 0x64 for arg_0 and pointer to dword_1016BA40 for arg_4.
That dword_1016BA40 is pointing to a constant value of 0x88, and after some research in the InfoIC’s guts I found out 0x88 is the total number of IC Manufacturers in the whole database.
Nice.
dword_10169228 is pointing to the MfcStru.mfc_ic_count value of the first Manufacturer, that pointer is increased by 0x4C and there’s an obvious loop between 10001508 and 10001513.
With a little more research it turned out that GetDllInfo iterates through the Manufacturers list and adds up their mfc_ic_count parameters.
The result is then returned and it’s used for the static «IC Total:» counter.
I have only one hardcoded Manufacturer with one IC, so I can set arg_4 to 1 (as one Manufacturer) and return 1 (as one IC) for now:
CDWORD DLL_EXPORT GetDllInfo(DWORD *arg_0, DWORD *arg_4) {
*arg_0 = 0x64;
*arg_4 = 0x01;
return 1;
}
The device select window now shows there’s one IC in the database. Good.
Next I took a look at GetIcMFC‘s guts. The function code is way to bulky to just paste it here.
After a hour or so in debugging, I was finally able to figure it out completely.
The function takes three arguments that at the end, I called «search«, «IDlist» and «type«.
search is the first argument, that holds the search word typed by the user inside the Device search field;
IDlist is used as return buffer, where the IDs of the Manufacturers, which ICs contains the user typed search word are stored;
type is the type of the IC, taken from the radio boxes — «ALL«, «ROM/FLASH/NVRAM«, «MCU/MPU«, «PLD/GAL/CPLD«, «SRAM/DRAM» or «Logic IC«
Basically, the idea of the function is to obtain a list of Manufacturers IDs (IDlist) as DWORD values in the buffer accepted as second argument.
If there’s a «type» chosen by the user, the manufacturers got filtered by that, and only manufacturers having IC’s of the chosen type are added to the list.
Same goes for the «search» argument, so only Manufacturers who’s ICs contain the search phrase are added to the list.
The return value is the numbers of the obtained manufacturers in the IDlist.
For now I will just return 1, as i have only one Manufacturer in my test list:
CDWORD DLL_EXPORT GetIcMFC(char *search, byte *IDlist, DWORD type) {
return 1;
}
The GetIcList function comes next and it’s quite similar to GetIcMFC.
It takes four parameters — search, IDlist, id and type.
The most significant difference is that, it has an «id» argument, that specifies which Manufacturer is about to get searched.
IDlist now holds the IDs of the ICs, that are again filtered by a «search» phrase and/or «type«.
The return value is the number of ICs in the IDlist.
Again, I will just return 1.
CDWORD DLL_EXPORT GetIcList(char *search, byte *IDlist, DWORD id, DWORD type) {
return 1;
}
I’m getting closer.
The last export function was GetIcStru.
I wasn’t able to find any call to this function in the main executable.
However the function itself is simple:
Assembly.text:10001050 GetIcStru proc near
.text:10001050
.text:10001050 arg_0 = dword ptr 4
.text:10001050 arg_4 = dword ptr 8
.text:10001050 arg_8 = dword ptr 0Ch
.text:10001050
.text:10001050 mov eax, [esp+arg_0] ; Manufacturer ID
.text:10001054 push esi
.text:10001055 push edi
.text:10001056 lea ecx, [eax+eax*8]
.text:10001059 lea edx, [eax+ecx*2] ; Manufacturer offset
.text:1000105C mov eax, [esp+8+arg_4] ; MfcStru.mfc_ic_struc
.text:10001060 test eax, eax
.text:10001062 mov esi, ds:off_10169224[edx*4] ; Manufacturer data
.text:10001069 jle short loc_10001074
.text:1000106B lea eax, [eax+eax*2]
.text:1000106E lea eax, [eax+eax*8] ; IC offset
.text:10001071 lea esi, [esi+eax*4] ; IC data
.text:10001074 loc_10001074:
.text:10001074 mov edi, [esp+8+arg_8]
.text:10001078 mov ecx, 1Bh
.text:1000107D rep movsd
.text:1000107F pop edi
.text:10001080 xor eax, eax ; Always return 0
.text:10001082 pop esi
.text:10001083 retn
.text:10001083 GetIcStru endp
That’s basically all the information I need, to do something useful from here. So I did.
Instead of using hardcoded database, I’ve made my own implementation of InfoIC.dll, that uses external and easy to edit XML file.
Though I didn’t reverse engineered the whole IC Structure format, I was able to push it to the point where you can easily change some of the IC information.
This is still work in progress, but you can download the attached DLL source, XML database and notes about the database format.
DOWNLOAD COMPLETE SOURCE, BUILDS AND XML
| Автор |
|
|||
|---|---|---|---|---|
|
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
||||
Сообщения: 133 |
Цитата: кто встречал
|
|||
|
|
|
|||
|
dimmich |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 7 |
Не имею данного программатора. Но имею некоторый опыт по USB шнурам. На моей практике было много случаев, когда подобная проблема с нечётким обменом информацией была именно из-за USB шнура. Предполагаю: может в новой прошивке сменили скорость обмена данными с компом, или алгоритм передачи пакетов, и теперь инфа нечётко проходит. В некоторых случаях помогало одеть ферритовый фильтр (кольцо) на шнур. Ну и конечно взять более короткий и/или толстый шнур должно помочь. |
|
|
|
|
dimar |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 48 |
Спасибо всем за ответ решил вопрос установив wizardpro и прога обновила драйвер после этого заработал прогер с wizardpro а далее и с minipro и это на оба компа |
|
|
|
|
sevmaster |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 0 |
На днях пришел с Китая tl 866A . не мог понять почему не работает. Оказалось что два контакта в программаторе в КЗ. Кз устранил и все заработало. |
|
|
|
|
IOD |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 4480 |
Пришли с Китая SST39SF040 5шт, через переходник ни одна не зашилась. К одной подпаял к ногам проводки и напрямую в ZIF-панель завел, зашилась на ура. |
|
|
|
|
TL866 |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 3 |
sevmaster писал(а): На днях пришел с Китая tl 866A . не мог понять почему не работает. А китайцам не писал на компенсацию за такие недостатки товара ??? А то они свой товар не хотят проверять перед отправкой ,совсем обнаглели ! И упаковывают тоже как попало ………. |
|
|
|
|
Ruzal |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 32 |
Всем привет, помогите, не могу на MiniPro TL866CS (переделаный в версию A) зашить микросхему фотмата plcc32, уже кучу микросхем перепробовал, переходники менял, пишет внешней кз, как быть?
|
|
|
|
|
lom10 |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 16 |
А какую конкретно микросхему и какие переходники используете? |
|
|
|
|
Барзанукаев Ислам |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 231 |
при попытке прошить биос выдает, кабель менял, программатор тоже |
|
|
|
|
Eskariot |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 131 |
во вкладке config флаг QE поставьте перед прошивкой |
|
|
|
|
igils |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 10984 |
Барзанукаев Ислам: и какой вывод можно сделать? Правильно — дохлая флешка. Последний раз редактировалось igils 12 сен 2017, 12:52, всего редактировалось 1 раз. |
|
|
|
|
Барзанукаев Ислам |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 231 |
Eskariot писал(а): во вкладке config флаг QE поставьте перед прошивкой есть, разницы нет igils писал(а): дохлая флешка если даже флешка читается |
|
|
|
|
merkulss |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 158 |
Панельку промой ифлешку, или запаяй. |
|
|
|
|
vzrivpaket |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 1443 |
Барзанукаев Ислам писал(а): если даже флешка читается Не показатель,даже если контакт нормалек.Смотрим на скрин,ошибки,верификацию не пройдет,микруха битая… з.ы.Касаемо самого программатора…Все еще актуален имхо,в качестве основного уже не то а в качестве вспомогательного самое оно… Относительно цены,функционала и т.д. равных нет… |
|
|
|
|
EvgeniyNuAfanasievi4 |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 19 |
vzrivpaket писал(а): Барзанукаев Ислам писал(а): если даже флешка читается Не показатель,даже если контакт нормалек.Смотрим на скрин,ошибки,верификацию не пройдет,микруха битая… з.ы.Касаемо самого программатора…Все еще актуален имхо,в качестве основного уже не то а в качестве вспомогательного самое оно… Относительно цены,функционала и т.д. равных нет… а какой же тогда основной и что им такое шить? Матрицы?
|
|
|
|
|
merkulss |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 158 |
Нанды, мульты,jtag…модно бесконечно перечислять что умеют крутые программаторы |
|
|
|
|
tyzman |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 164 |
Доброго всем дня. |
|
|
|
|
scrofula |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 133 |
tyzman писал(а): Доброго всем дня. Банальный непропай. Визуальным осмотр делали хоть? откройте присмотритесь
|
|
|
|
|
zalmatt |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 60 |
Dwit писал(а): дык, только половину Мне так показалось, что начиная с 32 MB программа, а может и прошивка минипро, потребует серьёзной модификации кода, т.к это уже 4-байтная адресация… Дойдут ли руки у китайца?… Sent from my LG-H815 using Tapatalk |
|
|
|
|
Dwit |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 300 |
zalmatt писал(а): Мне так показалось, что начиная с 32 MB программа, а может и прошивка минипро, потребует серьёзной модификации кода, т.к это уже 4-байтная адресация… Дойдут ли руки у китайца?.. Я им письма катал, 0 реакции, постал справился без проблем. |
|
|
|
|
airpower |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 158 |
В свое время Postal тоже очень помог , когда нужно было прошить 25Q128 до сих пор им пользуюсь , не очень быстрый , но со своими задачами справляется |
|
|
|
|
segment |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 10 |
А как русификатор правильно поставить на V 6.60 ? Просто запустить MiniPro_6.6_Rus.exe взятый с 11-ой страницы ? Чёт у меня при этом пишет — Ошибка файла InfoIC.dll . Говорят от версии V 6.50 подходит русик один в один… .у кого есть-поделитесь. |
|
|
|
|
sanchelo81 |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 250 |
Мужики подскажите может кто делал, как прошить nand flash tsop48 s29gl032n90tfi04 без кроватки микросхема в списке есть а вот как ее пристроить к нему переходника у меня нет, может какие варианты есть ??? |
|
|
|
|
merkulss |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 158 |
Это не нанд, это nor. Без фирменного переходника никак. |
|
|
|
|
Maxim Skridonenko |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 958 |
разве 866 поддерживает их ?
|
|
|
|
|
merkulss |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 158 |
Есть. Но вся суть в переходнике. |
|
|
|
|
Maxim Skridonenko |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 958 |
хотелось бы на него глянуть
|
|
|
|
|
merkulss |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 158 |
|
|
|
|
|
Maxim Skridonenko |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 958 |
этот переходник — не проблема
|
|
|
|
|
Oblom |
Заголовок сообщения: Re: Программатор MiniPro TL866CS (A)
|
|
Сообщения: 168 |
sanchelo81 писал(а): Мужики подскажите может кто делал, как прошить nand flash tsop48 s29gl032n90tfi04 без кроватки микросхема в списке есть а вот как ее пристроить к нему переходника у меня нет, может какие варианты есть ??? На кроватке стоят сдвиговые регистры. И один дешёвый «секъюритити» чип. |
|
|
|
В статье мы опишем все возможные способы, как исправить ошибки DLL Windows 7, 10. Исправление msvcp140 dll, msvcp110 dll, kernelbase dll, comctl32 и других.
DLL – это файлы системных библиотек в Windows. Формально они являются исполняемыми, но запустить их по отдельности не получится. Библиотеки используются другими программами для выполнения стандартных функций сохранения, удаления, печати.
К примеру, когда в одной из программ вы запускаете опцию печати, приложение автоматически подгружает отвечающий за эту функцию файл DLL. Иногда в процессе работы программы появляются системные сообщения о том, что произошла неполадка в работе файла библиотеки. После этого приложение завершает свою работу или вы не можете выполнить определенную функцию. Далее рассмотрим все возможные способы, как исправить ошибки DLL Windows 7, 10. Схема действий одинакова для всех версий ОС.
Причины ошибок в работе библиотек DLL Windows
Так как каждая библиотека отвечает за конкретную функцию, причина ошибки зависит от того, какой файл DLL не отвечает. Наиболее частая неполадка происходит с Windows.dll – это главная системная библиотека, отвечающая за запуск всех приложений и самой операционной системы.
Существуют следующие типы ошибок DLL:
- «Файл не найден». Возможно, вы удалили нужную библиотеку, переименовали или переместили её в другое место на жестком диске;
- «Файл отсутствует». Такое сообщение появляется в том случае, если система не может найти нужный объект на диске и часто причиной такой ошибки является работа вредоносного ПО, которое заменило программный код в библиотеке;
- «Нарушение прав доступа к файлу». С этим типом неполадки пользователи сталкиваются при попытке включения игры. Вместо запуска работ ПО система выдает сообщение о невозможности получения доступа к библиотеке. К примеру, «ошибка msvcr100 DLL»;
- «DLL не удалось зарегистрировать» — это означает, что произошла фатальная ошибка при установке приложения. Устранить неполадку поможет повторная инсталляция игры.
Большинство ошибок DLL в Windows появляется из-за установки пиратской версии ОС. Как правило, в модифицированных сборках используются вредоносные библиотеки, с которыми не могут взаимодействовать другие приложения. Если вы используете неофициальную версию Виндовс, советуем скачать на сайте Microsoft.com оригинальную копию образа ОС и установить её на свой компьютер.
Другие причины появления проблем с файлами DLL:
- Случайное удаление файла. Часто при попытке очистить жесткий диск Windows от ненужных файлов пользователи по незнанию удаляют файлы библиотек. Также, деинсталлировать файл может другая программа (вредоносное ПО или утилита для автоматической очистки диска);
- Отказ оборудования. Если для установки или запуска игры вы используете оптический диск и дисковод, при некачественном материале одного из компонентов может появиться фатальная ошибка, которая повреждает файл запуска с расширением DLL;
- В системе не установлены последние обновления. Разработчики из Майкрософт всегда рекомендуют устанавливать новейшие апдейты ОС. Это позволяет избавиться от проблем не только с библиотеками, но и с ошибками, которые они провоцируют. Также, обновления защищают систему. Она становиться менее подвержена действию вирусов;
- Проблемы с драйверами. Когда для конкретной программы или внешнего устройства, которое она использует, не установлены последние версии драйверов, пользователь сталкивается со всевозможными ошибками ОС. Одной из таких проблем может стать ошибка msvcp120 – система не может открыть приложение из-за фатальной ошибки совместимости;
- Несовместимость технических требований игры и характеристик компьютера. В таком случае, нужно выбрать другую более старую версию приложения и переустановить его или же обновить используемую сборку ОС.
Способ 1 — Ошибочное удаление файла DLL
Если после открытия приложения ничего не происходит, а через несколько секунд появляется сообщение «ошибка msvcr100 DLL» или «ошибка msvcp120 DLL», это означает, что на компьютере нет нужной библиотеки. Возможно, она не была установлена вместе с ОС или файл был удален другой программой.
Системное окно с ошибкой выглядит следующим образом:
Если вы столкнулись с такой проблемой, для начала рекомендуем открыть папку жесткого диска С и в графе поиска вписать название нужного DLL. Часто библиотека просто перемещена в другую папку. Исправить проблему поможет её помещение в директорию CWindowsSystem32 (для 32-х разрядный версий ОС) или в CWindowsSysWoW64 (для 64-х разрядных сборок).
В случае, если на диске «С» вы не нашли нужный файл, на сайте Майкрософт нужно скачать апдейт для программного пакета Visual C++ 2013. Эта утилита настраивает взаимодействие всех системных файлов и исправляет существующие ошибки.
Для скачивания пакета перейдите по ссылке https://support.microsoft.com/ru-ru/help/3179560/update-for-visual-c-2013-and-visual-c-redistributable-package, в таблице выберите свою страну и язык, а затем кликните на ссылке для скачивания.
После инсталляции обновления перезагрузите компьютер и попробуйте повторно запустить программу. Если этот вариант решение не помог, переходите к следующему методу.
Способ как исправить ошибки DLL – Регистрация библиотеки вручную
Бывают случаи, когда нужна библиотека есть на компьютере пользователя и находится в правильной папке, но программа все равно её «не видит». После установки пакета обновления Visual C++, как правило, тоже ничего не происходит. Как быть в этом случае?
Исправить такую ошибку DLL в Windows 10 и Windows 7 поможет регистрация библиотеки на сервере Майкрософт. Скорее всего, на вашем компьютере установлена корректная версия DLL, но из-за проблем со связью копии ОС и сервером разработчика возникают подобного рода проблемы.
Пользователь может самостоятельно запустить работу службы регистрации и менее чем за 1 минуту добавить существующую библиотеку в список «пригодных» для использования файлов.
Следуйте инструкции:
- Одновременно нажмите на клавиши Win+R для открытия окна «Выполнить»;
- Теперь в текстовом поле введите «CMD» и подтвердите действие;
- В результате, откроется окно командной строки, с помощью которого и будет проводиться регистрация библиотеки. В новой строке введите указанную на рисунке ниже команду. Изменяйте название библиотеке в зависимости от того, какое её имя указано в ошибка запуска приложения.
Важно! Для выполнения регистрации вы должны быть авторизованы в учетной записи администратора системы и компьютер необходимо подключить к интернету.
Способ 3 — Запуск среды восстановления
Еще один способ быстрого исправления всех ошибок системы – это использование утилиты восстановления. Запустить нужное окно можно с помощью среды Виндовс. Откройте окно параметров нажатием клавиш Win-I.
Затем откройте вкладку «Обновление и безопасность»«Восстановление». В правой части окна промотайте страничку вниз и в разделе «Особые варианты загрузки» кликните на «Перезагрузить сейчас».
Заметьте! В этом же окне вы можете сбросить настройки ОС к заводским параметрам. Если вы хотите полностью восстановить систему и готовы к удалению все программ и файлов, выбирайте этот пункт. С его помощью есть больше шансов навсегда избавиться от ошибок, которые связан с системными библиотеками.
После выбора особых вариантов загрузки и повторного запуска компьютера вы увидите не рабочий стол системы, а специальное окно Troubleshooting (решение неполадок). Кликните на указанную ниже плитку, чтобы запустить автоматическое сканирование и исправление:
После повторной перезагрузки ОС система ошибки будут исправлены. Пользовательские файлы удалены не будут.
Владельцам Windows 7 недоступна возможность автоматического исправления в режиме перезагрузки, но можно запустить встроенную утилиту диагностики. Для этого зайдите в окно панели управления и в строке поиска введите «Средство проверки». Кликните на первый результат поисковой выдачи.
Следуйте инструкции в окне встроенного помощника для выявления проблем и их исправления:
Способ 4 — Установка отсутствующих DLL и обновление программ
Ранее м уже рассмотрели варианты восстановления ошибочных библиотек. Однако, если в Windows XP, 7, 10 возникла ошибка Kernel32 DLL, рекомендуется переустановить файл вручную. Рассмотрим, как исправить такого рода неполадку.
На веб-сайте разработчика пользователи могут только загрузить пакет программ для комплексного восстановления системных файлов. Если же ваша ОС работает нормально, а проблемы возникли только с одной библиотекой, рекомендуется найти в сети и скачать на компьютер нужный файл вручную.
В интернете есть масса сайтов, предлагающих скачать копии DLL, с проблемами которых пользователи сталкиваются чаще всего. Важно помнить, что не следует ничего скачивать из подозрительных ресурсов, а перед помещением файла в системную папку его нужно обязательно просканировать встроенным брандмауэром и еще одним усыновленным в системе антивирусом. Это поможет избавиться от дальнейших неполадок, если библиотека окажется вирусной.
Среди надежных ресурсов для скачивания системных DLL можно выделить:
- DLL.ru;
- Dll-files.ru;
- Download-dll.ru.
Пользователю необходимо ввести имя недостающей библиотеки и начать её скачивание. Далее поместите полученный файл в системную папку System32 или SysWOW64, в зависимости от разрядности установленной копии ОС. При следующем открытии программы ошибка исчезнет.
Также, рекомендуем обновить программу, с которой возникли неполадки. Часто даже после многократной замены файла библиотеки не удается избавиться от ошибок запуска или работы программы. Это говорит о ом, что в системе установлена несовместимая версия игры или прикладного приложения.
Способ 5 — Переустановка приложения
Еще один способ решения – это простая переустановка программы. Возможно, после возникновения проблем с DLL утилита не «видит» нового файла библиотеки, потому необходимо деинсталлировать программу.
Удаляйте приложения только через окно Панель управления — Установка и удаление программ. После деинсталляции советуем также поискать на диске «С» папки с названием игры, которые могли быть не удалены. Затем перезагрузите компьютер, установите ПО ее раз и попробуйте запустить его. Новая библиотека должна распознаться без проблем.
Способ 6 — Обновление драйверного ПО
Обновление драйверного ПО позволяет устранить ошибки несовместимости установленных программ, аппаратного оборудования и операционной системы. Рассмотрим, как исправить ошибку HAL DLL в Windows 7, 10, ведь именно этот тип неполадки появляется из-за несовместимости компонентов.
Необходимо установить последние обновления для всех компонентов ОС. Зайдите в Диспетчер задач Виндовс. В седьмой версии это можно сделать с помощью окна панели управления, в десятой версии нужно воспользоваться окном поиска по системе.
В окне Диспетчера кликните правой кнопкой мышки на названии компьютера, а затем выберите поле «Обновить конфигурацию». Для установки новых версий драйверов на компьютере должно быть установлено соединение с интернетом.
Способ 7 — Удаление вирусов
Просканируйте систему встроенным Защитником или другим установленным антивирусом. Если в результате сканирования обнаружится, что вирус — это и есть ошибочная библиотека, удалите её с компьютера и загрузите пакет обновления Visual C++ на сайте Майкрософт.
Теперь вы знаете, как быстро исправить ошибки DLL в Windows 10 и Windows 7. Если у вас остались вопросы по восстановлению DLL, оставляйте их в комментариях.
Ошибка dll возникает в результате отсутствия или повреждения файла с расширением .dll. В этом нет ничего страшного. Если коротко и не вдаваясь в лишние подробности, dll — это динамически подключаемая библиотека.
И как показывает практика, некоторые программы требуют установки тех dll, которые не входят в стандартную библиотеку Windows. А теперь хотел бы привести наглядный пример, связанный с ошибкой dll.
Когда я попытался открыть полезную программу HTML Color2000, то в результате получил такое сообщение:
Как видим из скриншота, у меня отсутствовал файл MSVBVM50.DLL. После второй и третьей переустановки программы (как нам советует этот помощник) проблема оставалась не разрешенной.
После этого я нашел сайт специально для скачивания разных .dll расширений.
Официальный сайт: http://www.dll-files.com
Использовать сайт очень просто и главное — бесплатно. Это тоже самое, что и библиотека, только для нужной цели.
Как искать ошибку DLL онлайн
Пункт 1. Находим нужный файл. Поиск по базе файлов dll либо в алфавитном порядке:
или можем воспользоваться поиском. При этом вводим имя проблемного файла и жмем на кнопку search. Поиск довольно-таки умен и может сразу предложить нам правильный вариант:
Если все ок, перед нами появляется запрашиваемый файл. А в самом низу имеются 2 кнопочки:
Пункт 2. Загружаем файл. Мы жмем на Download zip-file потому, что этот процесс займет меньше времени и усилий с нашей стороны. Проверено на личном опыте.
Пункт 3. Помещаем файл в нужное место. Мы должны зайти в свой системный диск. Скорее всего это Диск С. Далее находим папку Windows и папку system32. Затем после того, как мы распаковали наш архив с файлом dll, можно перемещать его к остальным библиотечным файлам:
Все готово! Пользуемся плодами своего труда. Теперь можно повторно открыть нашу программу, у которой была эта ошибка и она откроется.
Далее речь пойдет о расширенных возможностях сайта. Вы видели из скриншота, что имеется также программа с названием MSVBVM50.DLL FIXER. Что это за программа и почему она есть?
DLL-FILES.COM FIXER (полное название программы) — это платная программа, которая стоит всего 29,95$. Вариантов оплаты много, кроме платежной системы Webmoney, здесь есть Visa, MasterCard, PayPal и другие платежные системы. Вот кстати скрин:
Преимущества платной версии таковы:
- Исправление всех проблем DLL файл за один раз.
- Сканирование по расписанию и ремонт вашего реестра Windows.
- Защита приложений и ПК от сбоев системы.
- Ускорение компьютера и операционной системы.
- Остановка нежелательной системы оповещения.
В целом эта программа исправляет ошибку, связанную с отсутствием файлов dll. Когда я ее запустил, она через короткое время поздравила меня с тем, что нужный MSVBVM50.DLL файл установлен. Делает она это БЕСПЛАТНО! Но вот другие возможности программы — это уже за дополнительные 30$ без 5-ти центов.
Ошибка реестра: насколько это серьезно
У меня было обнаружено всего 170 ошибок. В основном это ошибки COM и ActiveX. Как говорит программа, эти ошибки так или иначе, связанны с этими понятиями. Я поискал в Интернете и нашел следующее:
ActiveX — это разработка известной компании Microsoft, предназначение которого через Интернет распространять различное ПО. Программы, которые созданы благодаря технологии ActiveX, они могут быть встроены в обычные веб-страницы и выполнять разнообразные функции.
Как исправить ошибку dll
Как мы видим, эти ошибки могут снижать производительность ПК. Поэтому принял решение поискать какое-нибудь альтернативное решение для чистки и исправления ошибок реестра.
Существует масса программ по этой тематике. Но я в данном случае ориентировался на легкость программы и ее бесплатность. Выбор пал на бесплатную программу по названием Registry Life.
Как исправить ошибки в реестре
Реестр нашего компьютера должен быть в хорошем состоянии, чтобы работоспособность оставалась на высоком уровне. Кроме того, засоренный реестр вызывает всевозможные ошибки и торможение системы в целом.
Итак, для лечения реестра будем использовать программу Registry Life.
Скачать программу можно здесь: http://www.softportal.com/software-13793-registry-life.html
Вот скрин программы Registry Life:
1. Чистка реестра
Для того, чтобы исправить проблемы реестра, нужно нажать кнопку «Запустить чистку реестра» и «Далее».
У меня было найдено 88 проблем, связанных с реестром. Программа Registry Life написала следующее:
Найдены проблемы в реестре. Проверка завершена. Ниже показаны разделы реестра, содержащие ошибки. Чтобы увидеть неверные записи в каком-либо из разделов реестра, дважды кликните по нему.
- 88 проблем найдено в разделах реестра;
- Ассоциации типов файлов: 10 проблем;
- Общие библиотеки: 12 проблем;
- Пользовательские настройки программ: 54 проблемы;
- Наборы управляющих параметров: 12 проблем;
- Показать неверные записи (для опытных пользователей).
Мы жмем на кнопку исправить. И все готово!
2. Оптимизация реестра
Этот инструмент физически оптимизирует файлы, в которых записан системный реестр. Эта процедура позволяет повысить производительность системы. В ходе ее выполнения файлы реестра будут дефрагментированы и сжаты. Программа проанализирует системный реестр и выполнит его оптимизацию.
Внимание! Необходимо закрыть все другие работающие приложения и отключить антивирусные программы перед началом оптимизации. А сразу после оптимизации потребуется перезагрузка системы.
Мы просто жмем на кнопочку «Выполнить оптимизацию реестра» и перезагружаем наш Windows. Все готово!
Заключение
Можно использовать различные инструменты для устранения ошибок, связанных с dll файлами. Я считаю этот вариант наиболее оптимальным. Но это лишь мое мнение. Главное — не паниковать. Система выдает нам какую-то ошибку, мы смотрим что там написано, вводим в поиск, устанавливаем.
Если все плохо — чистим и оптимизируем реестр. Вам я желаю успехов в этом деле. Если что не понятно, спрашивайте. Чем сможем, поможем.
Понравился пост? Нажми любую кнопку:
Windows 10 Pro released in July 2015 Windows Vista Enterprise Windows Vista Business Windows Vista Home Basic Windows Vista Home Premium Windows Vista Ultimate Microsoft Windows XP Home Edition Microsoft Windows XP Professional Microsoft Windows XP Tablet PC Edition Windows 7 Enterprise Windows 7 Home Basic Windows 7 Home Premium Windows 7 Professional Windows 7 Ultimate Windows 8 Windows 8 Enterprise Windows 8 Pro Windows 8.1 Windows 8.1 Enterprise Windows 8.1 Pro Еще…Меньше
Если вы получили сообщение об ошибке, описания которого нет в этой статье, можно найти его подробное объяснение, рекомендуемые действия и список дополнительных ресурсов поддержки на странице ошибок и событий TechNet.
Аннотация
Regsvr32 — это служебная программа командной строки для регистрации и отмены регистрации элементов управления OLE, например ActiveX и библиотеки DLL в реестре Windows. Средство Regsvr32.exe установлено в папке %systemroot%System32 в ОС Windows XP и более поздних версиях Windows.
Примечание. В 64-разрядных версиях Windows есть две версии файла Regsv32.exe:
-
64-разрядная версия — %systemroot%System32regsvr32.exe;
-
32-разрядная версия — %systemroot%SysWoW64regsvr32.exe.
Синтаксис команды Regsvr32
Программа RegSvr32.exe имеет следующие параметры командной строки.
Regsvr32 [/u] [/n] [/i[:строка_команд]] DLL-файл
/u — отменяет регистрацию сервера
/i — вызывает DllInstall, передавая ей в параметре необязательную строку_команд; при использовании с ключом /u вызывает DllUnInstall.
/n — не вызывает DllRegisterServer; это может использоваться с ключом /i
/s – «тихий» режим; окна сообщений не отображаются
Типичные решения ошибок Regsvr32
При появлении ошибки Regsvr32 попробуйте устранить ее одним из следующих способов.
-
Способ 1. Повторный запуск команды Regsvr32 в командной строке с повышенными привилегиямиЧтобы открыть командную строку с повышенными привилегиями, выполните указанные ниже действия.
Windows 8.1 и Windows 8Проведите пальцем от правого края экрана к центру и коснитесь кнопки Поиск. Либо, если вы используете мышь, переместите указатель в правый нижний угол экрана и щелкните кнопку Поиск. Введите запрос Командная строка в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Windows 7 и Windows VistaНажмите кнопку Пуск, введите запрос Командная строка или cmd в поле Поиск, щелкните правой кнопкой мыши элемент Командная строка, а затем выберите команду Запуск от имени администратора. Если система запросит пароль администратора или подтверждение, введите пароль или нажмите кнопку Разрешить.
Windows XPВойдите в систему в качестве администратора или с другой учетной записью с правами администратора и откройте окно «Командная строка».
-
Способ 2. Использование 32-разрядной версии Regsvr32 для регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС WindowsЕсли при регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС Windows появляется ошибка, выполните следующие действия.
-
Откройте командную строку с повышенными привилегиями.
-
Если 32-разрядная библиотека DLL находится в папке %systemroot%System32, переместите ее в папку %systemroot%SysWoW64.
-
Выполните следующую команду:
%systemroot%SysWoW64regsvr32 <full path of the DLL>
-
Сообщения об ошибках Regsvr32
В приведенной ниже таблице содержатся сообщения об ошибках RegSvr32 и возможные причины их возникновения.
|
Сообщение об ошибке |
Причина |
|---|---|
|
Недопустимый параметр командной строки «»%1″». Проверьте использование команды и повторите попытку. |
Введено недопустимое сочетание параметров командной строки для вызова средства regsvr32.exe. |
|
Эта команда допустима только в том случае, если открыт проект элемента OLE Activex в Microsoft Visual Studio. |
Средство Regsvr32.exe вызвано программой Visual Studio, но в командной строке не указано ни одного модуля. |
|
Чтобы зарегистрировать модуль, нужно задать имя двоичного файла. |
Средство Regsvr32.exe вызвано без указания модулей в командной строке. |
|
Не удалось выполнить команду OleInitialize. Недостаточно свободной оперативной памяти на этом компьютере. Закройте все открытые программы и повторите попытку. |
Средство Regsvr32 должно инициализировать библиотеку COM, прежде чем вызывать ее функции, и отменить инициализацию при завершении работы. Это сообщение об ошибке выводится, если попытка инициализации или ее отмены не были успешными. |
|
Не удалось загрузить модуль «%1».nn Проверьте, что двоичный файл хранится на указанном пути или запустите отладку, чтобы диагностировать проблемы с этим двоичным файлом или зависимыми DLL-файлами.nn%2. |
При загрузке указанного в командной строке модуля произошла ошибка. Текст ошибки выводится как часть сообщения. |
|
Модуль «%1″ загружен, но точка входа %2 не найдена.nnПроверьте, что » %1″ является правильным файлом DLL или OCX и повторите попытку. |
Средству Regsvr32.exe не удалось найти необходимую точку входа модуля, указанного в командной строке. Это может произойти при неправильном экспорте точек входа из модуля или если модуль не является DLL- либо OCX-файлом. |
|
Модуль » %1″ загружен, но не удалось выполнить вызов %2, код ошибки: %3.nnДля получения дополнительных сведений об этой ошибке выполните поиск в Интернете, указав код ошибки как аргумент поиска. |
При вызове средством regsvr32.exe точки входа модуля, указанного в командной строке, произошла ошибка. Код ошибки выводится как часть сообщения. |
|
Возможно, модуль «%1» несовместим с версией Windows, работающей на этом компьютере. Проверьте, совместим ли этот модуль с x86 (32-разрядной) или x64 (64-разрядной) версией regsvr32.exe. |
Эта ошибка может произойти, если средство regsvr32.exe запущено на 32-разрядном (x86) компьютере, а в командной строке указан 64-разрядный модуль. |
В приведенной ниже таблице содержатся сообщения об ошибках RegSvr32 и возможные причины их возникновения.
|
Сообщение об ошибке |
Причина |
|
|---|---|---|
|
Нераспознанный флаг: /неверный_флаг |
Введено недопустимое сочетание флагов и ключей. |
|
|
Не указано имя DLL. |
Не введено имя DLL-файла. |
|
|
Имя_DLL было загружено, но найти точку входа для DllRegisterServer или DllUnregisterServer не удалось. |
Файл с указанным именем DLL не является DLL- или OCX-файлом. Например, это сообщение об ошибке будет отображено, если введена команда regsvr32 wjview.exe. |
|
|
Имя_DLL не является исполняемым файлом, и ни одного модуля поддержки для этого типа файлов не зарегистрировано. |
Файл с указанным именем DLL не является исполняемым файлом EXE, DLL или OCX. Например, это сообщение об ошибке будет отображено, если введена команда regsvr32 autoexec.bat. |
|
|
Имя_DLL не поддерживает автоматическую регистрацию, либо в памяти находится поврежденная версия. |
Например, при вводе команды «regsvr32 icwdial.dll» будет возвращено это сообщение об ошибке, так как файл Icwdial.dll не регистрируется автоматически. При подозрении на наличие в памяти поврежденной версии файла с указанным именем DLL перезагрузите компьютер или повторно извлеките исходную версию файла. |
|
|
Ошибка функции OleInitialize (или OleUninitialize) |
Средство Regsvr32 должно инициализировать библиотеку COM, прежде чем вызывать ее функции, и отменить инициализацию при завершении работы. Эти сообщения об ошибке возникают, если попытка инициализации библиотеки COM или ее отмены не были успешными. Например, файл Ole32.dll поврежден или является неправильной версией. |
|
|
Сбой при загрузке библиотеки («Имя_DLL»). GetlastError возвращает ошибку 0x00000485 |
Winerror.h, 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND). Это означает, что «Не найден один из файлов библиотек, необходимых для выполнения данного приложения». Например, при вводе команды regsvr32 missing.dll будет возвращено это сообщение об ошибке, если файл Missing.dll не найден. |
|
|
Сбой при загрузке библиотеки («Имя_DLL»). GetLastError возвращает ошибку 0x00000002 |
Winerror.h, 0x00000002 = 2 (ERROR_FILE_NOT_FOUND). Это означает «Не удается найти указанный файл». Т. е. не найден соответствующий DLL-файл. Например, при вводе команды regsvr32 icwdial.dll будет возвращено это сообщение об ошибке, если файл Tapi32.dll не найден. |
|
|
Сбой при загрузке библиотеки (dskmaint.dll). GetLastError возвращает ошибку 0x000001f |
Winerror.h, 0x000001f = 31 (ERROR_GEN_FAILURE). Это означает «Присоединенное к системе устройство не работает». Это происходит при попытке регистрации файла Win16.dll. Например, это сообщение об ошибке будет отображено, если введена команда regsvr32 dskmaint.dll. |
|
|
Сбой при загрузке DllRegisterServer (или DllUnregisterServer) в Имя_DLL. Возвращенный код: строка |
В файле Winerror.h найдите строку, указанную в сообщении. |
Нужна дополнительная помощь?
В этой статье мы разберем что такое DLL-файлы и возможные причины ошибок при их выполнении в Windows 7, 8, 10/
DLL – это файлы, которые принадлежат системным библиотекам, и формально считаются исполняемыми. Однако запустить самостоятельно их невозможно. Они используются для выполнения стандартных задач операционной системы, таких как запуск программ, удаление, сохранение, печать и прочее.
Разберем на примере: Вам нужно распечатать документ Word. Вы выбираете функцию «Печать», и для выполнения этой операции из системной библиотеки выгружается соответствующий файл DLL, который управляет функциями печати. Но в процессе выполнения могут возникнуть ошибки разного рода (причины их появления будут описаны далее) из-за чего программа прекращает работу и не дает завершить процесс до конца.
Причины ошибок в работе библиотек
Каждый отдельный DLL отвечает за выполнение конкретной функции, и источник проблемы зависит от того, с каким именно файлом возникли неполадки. Как показывает практика, наиболее распространённые ошибки касаются файла Windows.dll – главной системной библиотеки. Он отвечает за запуск всех установленных приложений и операционной системы в целом.
В зависимости от сообщения, которое свидетельствует о завершении работы функции, можно судить о причинах возникновения ошибки:
- «Файл не найден» — означает, что нужная библиотека была удалена (случайно или вредоносным ПО) или была перемещена в другую директорию.
- «Файл отсутствует» свидетельствует о том, что системе не удалось найти необходимый файл в нужной папке. Часто за такой ошибкой стоят вирусы, заменяющие исходные коды библиотек.
- «Нарушение прав доступа к файлу» — сообщение, знакомое большинству геймеров, так как чаще всего оно появляется после неудачной попытки запустить игру. В таком случае вместо выполнения заданной операции, ОС тщетно пытается «выгрузить» необходимый DLL из библиотеки, однако не получает в нее доступа.
- «DLL не удалось зарегистрировать» указывает на то, что программа (или игра, что вероятнее) была установлена некорректно. Решить фатальную ошибку поможет полная деинсталляция, а потом повторная установка приложения.
Чаще всего неполадки с DLL файлами происходят у тех, кто используют неофициальные версии ОС Windows. Пиратские версии используют модифицированные «проблемные» библиотеки, которые не могут нормально взаимодействовать с другим программным обеспечением и утилитами. Решить это может замена пиратской версии операционной системы на лицензионную, или, как минимум, инсталляция оригинальной копии образца сертифицированной ОС. Найти ее можно на сайте Microsoft.com.
Существуют и другие причины появления ошибок такого рода:
- Несовместимость технических требований установленного приложения и возможностей компьютера. Можно попытаться скачать более ранние версии программы, или обновить сборку операционной системы.
- Устаревшие драйверы также могут затормозить выполнение операций. Если для запуска необходимы «свежие» драйвера, которые отсутствуют на устройстве, задача не будет выполнена из-за целого ряда ошибок. Предупредить эту проблему поможет своевременное обновление «дров» вручную, или автоматически при помощи специальных утилит.
- Аппаратные неполадки, как, например, поломка дисковода с последующей невозможностью корректного чтения оптических носителей, тоже может повредить DLL файл, отвечающий за его нормальную работу.
- Наряду с устаревшими драйверами, много хлопот может доставить и неактуальная версия операционной системы Windows. Все обновления для оригинальных продуктов предоставляются бесплатно. Сами разработчики ОС настоятельно рекомендуют регулярно обновлять систему. Это не только избавит от «торможений» и ошибок, но и поможет защитить ее от вредоносного ПО.
- Имеет место быть и случайное удаление. Часто неопытные пользователи в попытках расширить свободное пространство на жестком диске, не разобравшись, удаляют десятки файлов, среди которых может оказаться и DLL-файл.
Способы устранения ошибок
Есть несколько способов устранения ошибок. Большинство из них универсальны, но некоторые будут эффективны только в конкретных ситуациях.
Ошибочное удаление исполнительного файла
При запуске приложений об отсутствии нужной библиотеки в директории будет свидетельствовать сообщение об ошибках msvcr100 DLL или msvcp120 DLL. Есть вероятность того, что они просто не установились в комплекте вместе с ОС, были удалены вручную или сторонними программами.
Для начала необходимо провести небольшую диагностику. В строке поиска (она находится в разделе «Пуск») нужно вписать название искомого файла. В большинстве случаев это дает положительный результат, так как нередко такие файлы находятся в неправильных папках. Если поиск увенчался успехом, найденный DLL нужно переместить обратно в нужное хранилище по адресу:
- CWindowsSystem32 (для ОС в 32-битных версиях)
- Или в CWindowsSysWoW64 (для 64-разрядных ОС).
Если файл не удалось найти, восстановить корректную работу системы поможет обновление программного пакета от Microsoft – Visual C++ последней версии. Он наладит работу всех системных файлов и исправит возникшие и потенциальные ошибки.
Самостоятельная регистрация библиотеки
Этот метод подойдет для частого случая, когда нужный системный файл находится в правильном месте, но система по своим причинам все равно его «не видит» или не может найти. Исходя из практики, можно сразу сказать, что апдейт программного пакета не даст никаких результатов, и придется перейти к более серьезным мерам.
В такой ситуации, нужную библиотеку придется зарегистрировать на сервере вручную. Удалять или перемещать DLL файл не нужно. С высокой вероятностью с ним все нормально, а неполадки возникают именно в процессе взаимодействия между ОС и серверами разработчиков.
Для самостоятельной регистрации библиотеки нужно выполнить три простых шага:
- Зажать комбинацию клавиш “Windows+R”.
- В строке выполнения вписать команду “cmd”.
- После этого откроется командное окно, в котором нужно провести регистрацию библиотеки. Ее название зависит от того, с каким именно файлом произошли неполадки.
Через среду восстановления
Быстро и просто исправить все ошибки операционной системы поможет специальная утилита восстановления. Она предусмотрена в самой ОС. Для ее запуска нужно одновременно зажать клавиши Windows+I, после чего откроется окно параметров.
Из открытого списка нужно выбрать пункт «Обновление и безопасность», а затем вкладку «Восстановление». Нужный раздел «Особые варианты загрузки» будет находиться в самом низу. В нем нужно выбрать операцию «Перезагрузить сейчас».
Обратите внимание! В этом каталоге также можно «откатить» операционную систему до заводских настроек. Это значит, что система будет восстановлена и вернется к своему первоначальному виду. Все установленные и сохранение файлы и программы будут удалены безвозвратно, поэтому их лучше сохранить заранее. System Reboot считается одним из лучших способов «лечения» системы и исправления ее от ошибок.
Как только система будет перезагружена, вместо обычного экрана запуска появится окно для решения неполадок. Для автоматического анализа проблем и их решения понадобится кликнуть на кнопку «Troubleshoot».
После этого компьютер будет снова перезагружен. При повторном включении абсолютно все ошибки будут исправлены без удаления пользовательских файлов или программ.
Обновление программ и установка необходимых DLL вручную
Проблемы с DLL-файлами довольно распространены среди пользователей, поэтому в Интернете есть множество ресурсов, предоставляющих их рабочие копии бесплатно. Но среди них попадаются мошенники, которые раздают «зараженные» файлы. Пользоваться сторонними и непроверенными ресурсами в целях безопасности компьютера и информации, содержащейся на нем, строго запрещено. Перед тем, как скопировать скачанную библиотеку в системную директорию, ее нужно тщательно проверить антивирусом.
К надежным источникам для скачивания относятся такие крупные площадки, как:
- Download-dll.ru;
- ru;
- Dll-files.ru.
Принцип использования довольно прост. Нужно ввести имя недостающего файла на сайте, скачать его и проверить антивирусом. Если с ним все в порядке, то его можно смело помещать в системную папку.
Переустановка программы
Не всегда проблема с запуском приложений заключается в неполадках самой ОС. Есть большая вероятность того, что в процессе установки утилиты возникла ошибка, после чего система просто не может обнаружить нужный DLL-файл.
Исправить ситуацию поможет обычная переустановка программы. Есть один важный момент. Перед тем, как инсталлировать утилиту вновь, ее нужно полностью удалить ТОЛЬКО через каталог «Установка и удаление программ». Он находится в разделе «Панель управления» в меню «Пуск». Также после деинсталляции понадобится перезагрузить компьютер, и только после этого можно приступать к повторной установке.
Обновление драйверов
Обновляя драйверное программное обеспечение, решается самая главная причина возникновения проблем – несовместимость между тремя основными составляющими устройства:
- Аппаратным оборудованием.
- Установленными программами.
- Операционной системой.
Сделать это можно вручную, или при помощи специальных программ. Здесь будет рассмотрен первый метод:
- Для начала нужно войти в Диспетчер задач.
- Найти строку с названием компьютера и щелкнуть по ней правой кнопкой мышки.
- Выбрать функцию «Обновить конфигурацию».
Для обновления драйверов понадобится Интернет-соединение.
Очистка компьютера от вирусов
Еще один эффективный способ решения неполадок с DLL-файлами – это сканирование компьютера на вирусы с их последующим удалением. Для этих целей подойдет любой скачанный антивирус или же встроенный «Защитник». Он быстро обнаружит и поместит в карантин ошибочную библиотеку, созданную вирусом, и удалит ее.
После этого нужно будет установить или обновить пакет Microsoft Visual C++ и восстановить работу и взаимодействие системных файлов.
Программы для автоматического исправления ошибок
Провести диагностику и исправить ошибки можно и в автоматическом режиме при помощи специальных программ. Без конкретных названий найти хорошее ПО, которое эффективно бы справлялось с поставленными задачами, довольно трудно. Чаще всего в ТОПе поиска находятся приложения, предназначенные для чистки компьютера, но не для решения проблем с системными библиотеками.
Помимо встроенных расширений для устранения неполадок (они описаны в разделе про среду восстановления) есть несколько сторонних утилит, которые также настраивают корректную работу ОС:
- FixWin 10 подойдет для устройств под управлением Windows Ее единственный недостаток – отсутствие русского языка, который с лихвой покрывается ее достоинствами: работа без установки, широкий инструментарий для автоматической коррекции типичных ошибок, а также подробная инструкция о том, как исправить неполадку вручную для каждого типа сообщения и файла.
- Kerish Doctor – это многофункциональная программа, описание которой не войдет в рамки одной статьи. В этот список она попала, благодаря разделу «Обслуживание» и «Решение проблем с ПК». В нем размещен широкий список автоматических действий в зависимости от заявленной проблемы. В нее включены практически все случаи, за исключением специфических и узконаправленных. Подходит для любой обслуживаемой версии Windows.
- И последняя программа Anvisoft PC PLUS – удобное и функциональное решение для исправления ошибок во всех версиях ОС. Она проста в использовании. После запуска на главном экране нужно выбрать тип возникшей проблемы, затем конкретную неполадку и запустить автоматическую диагностику и исправление. В большинстве случаев для скачивания дополнительных файлов потребуется подключение к интернету. Программа работает только на английском языке.
Заключение
Основными источниками ошибок системных библиотек являются: устаревшие версии ОС и драйверов, вирусы, случайное удаление нужных файлов и несовместимость основных составляющих. 99% проблем (за исключением специфических случаев) можно решить вручную, используя инструкции из разделов выше, или воспользоваться одной из программ, исправляющей неполадки автоматически.
В большинстве случаев проблемы с файлами info.dll DLL возникают в результате отсутствия или повреждения файла (вредоносным ПО или вирусом) в хранилище файлов ACT! 2000. Как правило, любую проблему, связанную с файлом DLL, можно решить посредством замены файла на новую копию. В качестве последней меры мы рекомендуем использовать очиститель реестра для исправления всех недопустимых info.dll, расширений файлов DLL и других ссылок на пути к файлам, по причине которых может возникать сообщение об ошибке.
Dynamic Link Library форматы классифицируют в качестве Системные файлы, и они имеют расширение DLL. В таблице ниже представлен список доступных для загрузки файлов info.dll, подходящих для большинства версий Windows (включая %%os%%). В настоящее время в нашем каталоге для загрузки могут отсутствовать некоторые файлы (такие как info.dll), но их можно запросить, нажав на кнопку Request (Запрос) ниже. Если вы не нашли необходимую вам версию файла в нашей базе, представленной ниже, мы рекомендуем обратиться непосредственно к Interact Commerce Corporation.
После успешного размещения файла в соответствующем месте на жёстком диске подобных проблем, связанных с info.dll, больше возникать не должно. Настоятельно рекомендуем выполнить быструю проверку. Проверьте, результат замены файла, запустив ACT! 2000 и убедившись, что сообщение об ошибке больше не выводится.
| Info.dll Описание файла | |
|---|---|
| Тип: | DLL |
| Группа: | Directory,Management |
| Софт: | ACT! 2000 |
| Вер: | 2000 |
| Компания: | Interact Commerce Corporation |
| Имя: | info.dll |
| Размер: | 32768 |
| SHA-1: | b418293e103683fe1cd644599f4810fc885ed60c |
| MD5: | d2e53f638308162b22df480636937ea3 |
| CRC32: | 25a43628 |
Продукт Solvusoft
Загрузка
WinThruster 2023 — Сканировать ваш компьютер на наличие ошибок реестра в info.dll
Windows
11/10/8/7/Vista/XP
Установить необязательные продукты — WinThruster (Solvusoft) | Лицензия | Политика защиты личных сведений | Условия | Удаление
DLL
info.dll
Идентификатор статьи: 764507
Info.dll
| File | Контрольная сумма MD5 | Байт | Загрузить | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | 0904aa78fe2603f32929ee37e53db5e2 | 164.00 B | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | 0904aa78fe2603f32929ee37e53db5e2 | 164.00 B | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | 0904aa78fe2603f32929ee37e53db5e2 | 164.00 B | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | 0904aa78fe2603f32929ee37e53db5e2 | 164.00 B | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
||||||||||||||||||
| + info.dll | d2e53f638308162b22df480636937ea3 | 32.00 KB | ||||||||||||||||
|
Распространенные проблемы Info.dll
Общие проблемы info.dll, возникающие с ACT! 2000:
- «Info.dll не может быть найден. «
- «Отсутствует файл Info.dll.»
- «Info.dll нарушение прав доступа.»
- «Не удается зарегистрировать info.dll. «
- «Файл C:WindowsSystem32\info.dll не найден.»
- «Не удалось запустить ACT! 2000. Отсутствует необходимый компонент: info.dll. Пожалуйста, установите ACT! 2000 заново.»
- «Ошибка ACT! 2000: info.dll не найден. Переустановите ACT! 2000. «
Обычно ошибки info.dll с ACT! 2000 возникают во время запуска или завершения работы, в то время как приложения, связанные с info.dll, выполняются, или редко во время последовательности обновления ОС. Отслеживание того, когда и где возникает ошибка info.dll, является важной информацией при устранении проблемы.
Создатели Info.dll Трудности
Отсутствующие или поврежденные файлы info.dll являются распространенными источниками ошибок info.dll. Как внешний ресурс, файлы info.dll имеют высокую вероятность создания ошибок ACT! 2000.
Повреждение info.dll происходит во время неожиданного завершения работы, вирусов или других проблем, связанных с ACT! 2000s. Затем ACT! 2000 не может загрузиться с поврежденным info.dll, вызывая ошибки, связанные с info.dll-.
Другая возможность проблем ACT! 2000 и info.dll связана с нарушением реестра. Сломанные ссылки на DLL-файлы могут помешать правильной регистрации файла DLL, давая вам ошибку info.dll Эти сломанные разделы реестра могут быть в результате отсутствия DLL-файла, перемещенного DLL-файла или оставшейся ссылки на DLL-файл в реестре Windows после неудачной установки или удаления программного обеспечения.
Более конкретно, данные ошибки info.dll могут быть вызваны следующими причинами:
- Недопустимая (поврежденная) запись реестра info.dll.
- Вредоносные программы заражены и повреждены info.dll.
- info.dll поврежден из-за аппаратной неисправности (Interact Commerce Corporation или другой).
- Версия файла info.dll перезаписана установкой другого программного обеспечения.
- info.dll злонамеренно или ошибочно удален другой программой (кроме ACT! 2000).
- Вредоносное удаление (или ошибка) info.dll другим программным обеспечением (не ACT! 2000).




























